2#include <ossia/detail/enum_map.hpp>
5namespace Control::Widgets
7static const constexpr std::array<std::pair<const char*, float>, 14> durations{
16 {
"Dotted Half", 3. / 4.},
17 {
"Dotted 4th", 3. / 8.},
18 {
"Dotted 8th", 3. / 16.},
19 {
"Dotted 16th", 3. / 32.},
20 {
"Dotted 32th", 3. / 64.},
22static const constexpr std::array<std::pair<const char*, float>, 13> notes{
31 {
"Dotted Half", 3. / 4.},
32 {
"Dotted 4th", 3. / 8.},
33 {
"Dotted 8th", 3. / 16.},
34 {
"Dotted 16th", 3. / 32.},
35 {
"Dotted 32th", 3. / 64.}}};
37static const constexpr std::array<std::pair<const char*, float>, 12> nonnull_notes{
45 {
"Dotted Half", 3. / 4.},
46 {
"Dotted 4th", 3. / 8.},
47 {
"Dotted 8th", 3. / 16.},
48 {
"Dotted 16th", 3. / 32.},
49 {
"Dotted 32th", 3. / 64.}}};
51static const constexpr std::array<std::pair<const char*, int>, 5> arpeggios{
52 {{
"Forward", 0}, {
"Backward", 1}, {
"F->B", 2}, {
"B->F", 3}, {
"Chord", 4}}};
75static constexpr auto WaveformChooser()
77 return Control::make_enum(
80 "Sin",
"Triangle",
"Saw",
"Square",
"Sample & Hold",
"Noise 1",
"Noise 2",
82 std::array<const char*, 16>{
83 ":/icons/wave_sin_off.png",
":/icons/wave_sin_on.png",
84 ":/icons/wave_triangle_off.png",
":/icons/wave_triangle_on.png",
85 ":/icons/wave_saw_off.png",
":/icons/wave_saw_on.png",
86 ":/icons/wave_square_off.png",
":/icons/wave_square_on.png",
87 ":/icons/wave_sample_and_hold_off.png",
":/icons/wave_sample_and_hold_on.png",
88 ":/icons/wave_noise1_off.png",
":/icons/wave_noise1_on.png",
89 ":/icons/wave_noise2_off.png",
":/icons/wave_noise2_on.png",
90 ":/icons/wave_noise3_off.png",
":/icons/wave_noise3_on.png"});
The Path class is a typesafe wrapper around ObjectPath.
Definition Path.hpp:52