/[svn]/gigedit/trunk/src/gigedit/paramedit.cpp
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/paramedit.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2507 by persson, Sun Jan 12 19:37:55 2014 UTC revision 2538 by schoenebeck, Tue Apr 22 16:13:50 2014 UTC
# Line 38  gig::String gig_from_utf8(const Glib::us Line 38  gig::String gig_from_utf8(const Glib::us
38  namespace {  namespace {
39      const char* const controlChangeTexts[] = {      const char* const controlChangeTexts[] = {
40          _("none"), _("channelaftertouch"), _("velocity"),          _("none"), _("channelaftertouch"), _("velocity"),
41          0,          0, // bank select MSB (hard coded in sampler, so discouraged to be used here, even though considerable)
42          _("modwheel"), // "Modulation Wheel or Lever",          _("modwheel"), // "Modulation Wheel or Lever",
43          _("breath"), // "Breath Controller",          _("breath"), // "Breath Controller",
44          0,          _("undefined"),
45          _("foot"), // "Foot Controller",          _("foot"), // "Foot Controller",
46          _("portamentotime"), // "Portamento Time",          _("portamentotime"), // "Portamento Time",
47          0, 0, 0, 0, 0, 0,          _("data entry MSB"),
48            _("volume"),
49            _("balance"),
50            _("undefined"),
51            _("pan"),
52            _("expression"),
53          _("effect1"), // "Effect Control 1",          _("effect1"), // "Effect Control 1",
54          _("effect2"), // "Effect Control 2",          _("effect2"), // "Effect Control 2",
55          0, 0,          _("undefined"),
56            _("undefined"),
57          _("genpurpose1"), // "General Purpose Controller 1",          _("genpurpose1"), // "General Purpose Controller 1",
58          _("genpurpose2"), // "General Purpose Controller 2",          _("genpurpose2"), // "General Purpose Controller 2",
59          _("genpurpose3"), // "General Purpose Controller 3",          _("genpurpose3"), // "General Purpose Controller 3",
60          _("genpurpose4"), // "General Purpose Controller 4",          _("genpurpose4"), // "General Purpose Controller 4",
61          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,          _("undefined"),
62            _("undefined"),
63            _("undefined"),
64            _("undefined"),
65            _("undefined"),
66            _("undefined"),
67            _("undefined"),
68            _("undefined"),
69            _("undefined"),
70            _("undefined"),
71            _("undefined"),
72            _("undefined"),
73            
74            // LSB variant of the various controllers above
75            // (so discouraged to be used here for now)
76            0, 0, 0, 0, 0, 0, 0,
77          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
78          0, 0, 0, 0, 0, 0,          0, 0, 0, 0, 0, 0,
79            
80          _("sustainpedal"), // "Damper Pedal on/off (Sustain)",          _("sustainpedal"), // "Damper Pedal on/off (Sustain)",
81          _("portamento"), // "Portamento On/Off",          _("portamento"), // "Portamento On/Off",
82          _("sostenuto"), // "Sustenuto On/Off",          _("sostenuto"), // "Sustenuto On/Off",
83          _("softpedal"), // "Soft Pedal On/Off",          _("softpedal"), // "Soft Pedal On/Off",
84          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,          _("legato"),
85            _("hold2"),
86            _("soundvariation"),
87            _("timbre"),
88            _("releasetime"),
89            _("attacktime"),
90            _("brightness"),
91            _("decaytime"),
92            _("vibratorate"),
93            _("vibratodepth"),
94            _("vibratodelay"),
95            _("undefined"),
96          _("genpurpose5"), // "General Purpose Controller 5",          _("genpurpose5"), // "General Purpose Controller 5",
97          _("genpurpose6"), // "General Purpose Controller 6",          _("genpurpose6"), // "General Purpose Controller 6",
98          _("genpurpose7"), // "General Purpose Controller 7",          _("genpurpose7"), // "General Purpose Controller 7",
99          _("genpurpose8"), // "General Purpose Controller 8",          _("genpurpose8"), // "General Purpose Controller 8",
100          0, 0, 0, 0, 0, 0, 0,          _("portamentoctrl"),
101            _("undefined"),
102            _("undefined"),
103            _("undefined"),
104            0, // high resolution velocity prefix (so discouraged to be used here)
105            _("undefined"),
106            _("undefined"),
107          _("effect1depth"), // "Effects 1 Depth",          _("effect1depth"), // "Effects 1 Depth",
108          _("effect2depth"), // "Effects 2 Depth",          _("effect2depth"), // "Effects 2 Depth",
109          _("effect3depth"), // "Effects 3 Depth",          _("effect3depth"), // "Effects 3 Depth",
110          _("effect4depth"), // "Effects 4 Depth",          _("effect4depth"), // "Effects 4 Depth",
111          _("effect5depth"), // "Effects 5 Depth"          _("effect5depth"), // "Effects 5 Depth"
112            _("dataincrement"),
113            _("datadecrement"),
114            0, // NRPN LSB (so discouraged to be used here)
115            0, // NRPN MSB (so discouraged to be used here)
116            0, // RPN LSB (so discouraged to be used here)
117            0, // RPN MSB (so discouraged to be used here)
118            _("undefined"),
119            _("undefined"),
120            _("undefined"),
121            _("undefined"),
122            _("undefined"),
123            _("undefined"),
124            _("undefined"),
125            _("undefined"),
126            _("undefined"),
127            _("undefined"),
128            _("undefined"),
129            _("undefined"),
130            _("undefined"),
131            _("undefined"),
132            _("undefined"),
133            _("undefined"),
134            _("undefined"),
135            _("undefined") // CC 119
136            // (all other ones that follow [CC 120- CC 127] are hard coded channel
137            // mode messages, so those are discouraged to be used here)
138      };      };
139  }  }
140    
141    #define controlChangeTextsSize  (sizeof(controlChangeTexts) / sizeof(char*))
142    
143  LabelWidget::LabelWidget(const char* labelText, Gtk::Widget& widget) :  LabelWidget::LabelWidget(const char* labelText, Gtk::Widget& widget) :
144      label(Glib::ustring(labelText) + ":"),      label(Glib::ustring(labelText) + ":"),
145      widget(widget)      widget(widget)
# Line 280  ChoiceEntryLeverageCtrl::ChoiceEntryLeve Line 347  ChoiceEntryLeverageCtrl::ChoiceEntryLeve
347      LabelWidget(labelText, align),      LabelWidget(labelText, align),
348      align(0, 0, 0, 0)      align(0, 0, 0, 0)
349  {  {
350      for (int i = 0 ; i < 99 ; i++) {      for (int i = 0 ; i < controlChangeTextsSize ; i++) {
351          if (controlChangeTexts[i]) {          if (controlChangeTexts[i]) {
352                const int cc = i - 3;
353                Glib::ustring s = (i < 3)
354                    ? controlChangeTexts[i]
355                    : Glib::ustring::compose("CC%1: %2", cc, controlChangeTexts[i]);
356  #if (GTKMM_MAJOR_VERSION == 2 && GTKMM_MINOR_VERSION < 24) || GTKMM_MAJOR_VERSION < 2  #if (GTKMM_MAJOR_VERSION == 2 && GTKMM_MINOR_VERSION < 24) || GTKMM_MAJOR_VERSION < 2
357              combobox.append_text(controlChangeTexts[i]);              combobox.append_text(s);
358  #else  #else
359              combobox.append(controlChangeTexts[i]);              combobox.append(s);
360  #endif  #endif
361          }          }
362      }      }
# Line 315  void ChoiceEntryLeverageCtrl::value_chan Line 386  void ChoiceEntryLeverageCtrl::value_chan
386      default:      default:
387          value.type = gig::leverage_ctrl_t::type_controlchange;          value.type = gig::leverage_ctrl_t::type_controlchange;
388          int x = 3;          int x = 3;
389          for (uint cc = 0 ; cc < 96 ; cc++) {          for (uint cc = 0 ; cc < controlChangeTextsSize - 3 ; cc++) {
390              if (controlChangeTexts[cc + 3]) {              if (controlChangeTexts[cc + 3]) {
391                  if (rowno == x) {                  if (rowno == x) {
392                      value.controller_number = cc;                      value.controller_number = cc;
# Line 331  void ChoiceEntryLeverageCtrl::value_chan Line 402  void ChoiceEntryLeverageCtrl::value_chan
402    
403  void ChoiceEntryLeverageCtrl::set_value(gig::leverage_ctrl_t value)  void ChoiceEntryLeverageCtrl::set_value(gig::leverage_ctrl_t value)
404  {  {
405      int x;      int comboIndex;
406      switch (value.type)      switch (value.type)
407      {      {
408      case gig::leverage_ctrl_t::type_none:      case gig::leverage_ctrl_t::type_none:
409          x = 0;          comboIndex = 0;
410          break;          break;
411      case gig::leverage_ctrl_t::type_channelaftertouch:      case gig::leverage_ctrl_t::type_channelaftertouch:
412          x = 1;          comboIndex = 1;
413          break;          break;
414      case gig::leverage_ctrl_t::type_velocity:      case gig::leverage_ctrl_t::type_velocity:
415          x = 2;          comboIndex = 2;
416          break;          break;
417      case gig::leverage_ctrl_t::type_controlchange:      case gig::leverage_ctrl_t::type_controlchange: {
418          x = -1;          comboIndex = -1;
419          for (uint cc = 0 ; cc < 96 ; cc++) {          int x = 3;
420            for (uint cc = 0 ; cc < controlChangeTextsSize - 3 ; cc++) {
421              if (controlChangeTexts[cc + 3]) {              if (controlChangeTexts[cc + 3]) {
                 x++;  
422                  if (value.controller_number == cc) {                  if (value.controller_number == cc) {
423                      x += 3;                      comboIndex = x;
424                      break;                      break;
425                  }                  }
426                    x++;
427              }              }
428          }          }
429          break;          break;
430        }
431      default:      default:
432          x = -1;          comboIndex = -1;
433          break;          break;
434      }      }
435      combobox.set_active(x);      combobox.set_active(comboIndex);
436  }  }
437    
438    

Legend:
Removed from v.2507  
changed lines
  Added in v.2538

  ViewVC Help
Powered by ViewVC