remove all pad + scale stuff from push2 gui
This commit is contained in:
parent
0613f8e3bd
commit
0610e1dc8d
@ -82,14 +82,6 @@ P2GUI::P2GUI (Push2& p)
|
||||
, table (2, 5)
|
||||
, action_table (5, 4)
|
||||
, ignore_active_change (false)
|
||||
, pad_table (8, 8)
|
||||
, root_note_octave_adjustment (p2.root_octave(), 0, 10, 1, 1)
|
||||
, root_note_octave (root_note_octave_adjustment)
|
||||
, root_note_octave_label (_("Octave"))
|
||||
, root_note_label (_("Root"))
|
||||
, mode_label (_("Mode (Scale)"))
|
||||
, inkey_button (_("In-Key Mode"))
|
||||
, mode_packer (3, 3)
|
||||
, pressure_mode_label (_("Pressure Mode"))
|
||||
{
|
||||
set_border_width (12);
|
||||
@ -138,50 +130,14 @@ P2GUI::P2GUI (Push2& p)
|
||||
|
||||
hpacker.pack_start (table, true, true);
|
||||
|
||||
pad_table.set_spacings (3);
|
||||
build_pad_table ();
|
||||
|
||||
root_note_selector.set_model (build_note_columns());
|
||||
root_note_selector.pack_start (note_columns.name);
|
||||
root_note_selector.set_active (p2.scale_root());
|
||||
|
||||
mode_selector.set_model (build_mode_columns());
|
||||
mode_selector.pack_start (mode_columns.name);
|
||||
mode_selector.set_active ((int) p2.mode());
|
||||
|
||||
mode_packer.set_border_width (12);
|
||||
mode_packer.set_spacings (12);
|
||||
|
||||
mode_packer.attach (root_note_label, 0, 1, 0, 1, AttachOptions (FILL|EXPAND), SHRINK);
|
||||
mode_packer.attach (root_note_selector, 1, 2, 0, 1, AttachOptions (FILL|EXPAND), SHRINK);
|
||||
|
||||
mode_packer.attach (root_note_octave_label, 0, 1, 1, 2, AttachOptions (FILL|EXPAND), SHRINK);
|
||||
mode_packer.attach (root_note_octave, 1, 2, 1, 2, AttachOptions (FILL|EXPAND), SHRINK);
|
||||
|
||||
mode_packer.attach (mode_label, 0, 1, 2, 3, AttachOptions (FILL|EXPAND), SHRINK);
|
||||
mode_packer.attach (mode_selector, 1, 2, 2, 3, AttachOptions (FILL|EXPAND), SHRINK);
|
||||
|
||||
inkey_button.set_active (p2.in_key());
|
||||
mode_packer.attach (inkey_button, 1, 2, 3, 4, AttachOptions (FILL|EXPAND), SHRINK);
|
||||
|
||||
pad_notebook.append_page (pad_table, _("Pad Layout"));
|
||||
pad_notebook.append_page (mode_packer, _("Modes/Scales"));
|
||||
pad_notebook.append_page (custom_packer, _("Custom"));
|
||||
|
||||
pressure_mode_selector.set_model (build_pressure_mode_columns());
|
||||
pressure_mode_selector.pack_start (pressure_mode_columns.name);
|
||||
pressure_mode_selector.set_active ((int) p2.pressure_mode());
|
||||
pressure_mode_selector.signal_changed().connect (sigc::mem_fun (*this, &P2GUI::reprogram_pressure_mode));
|
||||
|
||||
root_note_octave_adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &P2GUI::reprogram_pad_scale));
|
||||
root_note_selector.signal_changed().connect (sigc::mem_fun (*this, &P2GUI::reprogram_pad_scale));
|
||||
mode_selector.signal_changed().connect (sigc::mem_fun (*this, &P2GUI::reprogram_pad_scale));
|
||||
inkey_button.signal_clicked().connect (sigc::mem_fun (*this, &P2GUI::reprogram_pad_scale));
|
||||
|
||||
set_spacing (12);
|
||||
|
||||
pack_start (hpacker, false, false);
|
||||
pack_start (pad_notebook);
|
||||
|
||||
/* update the port connection combos */
|
||||
|
||||
@ -190,7 +146,6 @@ P2GUI::P2GUI (Push2& p)
|
||||
/* catch future changes to connection state */
|
||||
|
||||
// p2.ConnectionChange.connect (connection_change_connection, invalidator (*this), boost::bind (&P2GUI::connection_handler, this), gui_context());
|
||||
p2.PadChange.connect (p2_connections, invalidator (*this), boost::bind (&P2GUI::build_pad_table, this), gui_context());
|
||||
}
|
||||
|
||||
P2GUI::~P2GUI ()
|
||||
@ -456,24 +411,6 @@ P2GUI::active_port_changed (Gtk::ComboBox* combo, bool for_input)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
P2GUI::build_pad_table ()
|
||||
{
|
||||
container_clear (pad_table);
|
||||
|
||||
for (int row = 7; row >= 0; --row) {
|
||||
for (int col = 0; col < 8; ++col) {
|
||||
|
||||
int n = p2.pad_note (row, col);
|
||||
|
||||
Gtk::Button* b = manage (new Button (string_compose ("%1 (%2)", ParameterDescriptor::midi_note_name (n), n)));
|
||||
b->show ();
|
||||
|
||||
pad_table.attach (*b, col, col+1, (7-row), (8-row));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Glib::RefPtr<Gtk::ListStore>
|
||||
P2GUI::build_pressure_mode_columns ()
|
||||
{
|
||||
@ -491,263 +428,6 @@ P2GUI::build_pressure_mode_columns ()
|
||||
return store;
|
||||
}
|
||||
|
||||
Glib::RefPtr<Gtk::ListStore>
|
||||
P2GUI::build_mode_columns ()
|
||||
{
|
||||
Glib::RefPtr<Gtk::ListStore> store = ListStore::create (mode_columns);
|
||||
TreeModel::Row row;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Dorian");
|
||||
row[mode_columns.mode] = MusicalMode::Dorian;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Ionian (\"Major\")");
|
||||
row[mode_columns.mode] = MusicalMode::IonianMajor;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Minor");
|
||||
row[mode_columns.mode] = MusicalMode::Minor;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Harmonic Minor");
|
||||
row[mode_columns.mode] = MusicalMode::HarmonicMinor;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Melodic Minor Ascending");
|
||||
row[mode_columns.mode] = MusicalMode::MelodicMinorAscending;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Melodic Minor Descending");
|
||||
row[mode_columns.mode] = MusicalMode::MelodicMinorDescending;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Phrygian");
|
||||
row[mode_columns.mode] = MusicalMode::Phrygian;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Lydian");
|
||||
row[mode_columns.mode] = MusicalMode::Lydian;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Mixolydian");
|
||||
row[mode_columns.mode] = MusicalMode::Mixolydian;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Aeolian (\"Major\")");
|
||||
row[mode_columns.mode] = MusicalMode::Aeolian;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Locrian");
|
||||
row[mode_columns.mode] = MusicalMode::Locrian;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Pentatonic Major");
|
||||
row[mode_columns.mode] = MusicalMode::PentatonicMajor;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Pentatonic Minor");
|
||||
row[mode_columns.mode] = MusicalMode::PentatonicMinor;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Chromatic");
|
||||
row[mode_columns.mode] = MusicalMode::Chromatic;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Blues Scale");
|
||||
row[mode_columns.mode] = MusicalMode::BluesScale;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Neapolitan Minor");
|
||||
row[mode_columns.mode] = MusicalMode::NeapolitanMinor;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Neapolitan Major");
|
||||
row[mode_columns.mode] = MusicalMode::NeapolitanMajor;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Oriental");
|
||||
row[mode_columns.mode] = MusicalMode::Oriental;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Double Harmonic");
|
||||
row[mode_columns.mode] = MusicalMode::DoubleHarmonic;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Enigmatic");
|
||||
row[mode_columns.mode] = MusicalMode::Enigmatic;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Hirajoshi");
|
||||
row[mode_columns.mode] = MusicalMode::Hirajoshi;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Hungarian Minor");
|
||||
row[mode_columns.mode] = MusicalMode::HungarianMinor;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Hungarian Major");
|
||||
row[mode_columns.mode] = MusicalMode::HungarianMajor;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Kumoi");
|
||||
row[mode_columns.mode] = MusicalMode::Kumoi;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Iwato");
|
||||
row[mode_columns.mode] = MusicalMode::Iwato;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Hindu");
|
||||
row[mode_columns.mode] = MusicalMode::Hindu;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Spanish 8 Tone");
|
||||
row[mode_columns.mode] = MusicalMode::Spanish8Tone;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Pelog");
|
||||
row[mode_columns.mode] = MusicalMode::Pelog;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Hungarian Gypsy");
|
||||
row[mode_columns.mode] = MusicalMode::HungarianGypsy;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Overtone");
|
||||
row[mode_columns.mode] = MusicalMode::Overtone;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Leading Whole Tone");
|
||||
row[mode_columns.mode] = MusicalMode::LeadingWholeTone;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Arabian");
|
||||
row[mode_columns.mode] = MusicalMode::Arabian;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Balinese");
|
||||
row[mode_columns.mode] = MusicalMode::Balinese;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Gypsy");
|
||||
row[mode_columns.mode] = MusicalMode::Gypsy;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Mohammedan");
|
||||
row[mode_columns.mode] = MusicalMode::Mohammedan;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Javanese");
|
||||
row[mode_columns.mode] = MusicalMode::Javanese;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Persian");
|
||||
row[mode_columns.mode] = MusicalMode::Persian;
|
||||
|
||||
row = *store->append();
|
||||
row[mode_columns.name] = _("Algerian");
|
||||
row[mode_columns.mode] = MusicalMode::Algerian;
|
||||
|
||||
return store;
|
||||
}
|
||||
|
||||
Glib::RefPtr<Gtk::ListStore>
|
||||
P2GUI::build_note_columns ()
|
||||
{
|
||||
Glib::RefPtr<Gtk::ListStore> store = ListStore::create (note_columns);
|
||||
TreeModel::Row row;
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 0;
|
||||
row[note_columns.name] = "C";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 1;
|
||||
row[note_columns.name] = "C#";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 2;
|
||||
row[note_columns.name] = "D";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 3;
|
||||
row[note_columns.name] = "D#";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 4;
|
||||
row[note_columns.name] = "E";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 5;
|
||||
row[note_columns.name] = "F";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 6;
|
||||
row[note_columns.name] = "F#";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 7;
|
||||
row[note_columns.name] = "G";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 8;
|
||||
row[note_columns.name] = "G#";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 9;
|
||||
row[note_columns.name] = "A";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 10;
|
||||
row[note_columns.name] = "A#";
|
||||
|
||||
row = *store->append ();
|
||||
row[note_columns.number] = 11;
|
||||
row[note_columns.name] = "B";
|
||||
|
||||
return store;
|
||||
}
|
||||
|
||||
void
|
||||
P2GUI::reprogram_pad_scale ()
|
||||
{
|
||||
int root;
|
||||
int octave;
|
||||
MusicalMode::Type mode;
|
||||
bool inkey;
|
||||
|
||||
Gtk::TreeModel::iterator iter = root_note_selector.get_active();
|
||||
if (iter) {
|
||||
Gtk::TreeModel::Row row = *iter;
|
||||
if (row) {
|
||||
root = row[note_columns.number];
|
||||
} else {
|
||||
root = 5;
|
||||
}
|
||||
} else {
|
||||
root = 5;
|
||||
}
|
||||
|
||||
octave = (int) floor (root_note_octave_adjustment.get_value ());
|
||||
|
||||
iter = mode_selector.get_active();
|
||||
if (iter) {
|
||||
Gtk::TreeModel::Row row = *iter;
|
||||
if (row) {
|
||||
mode = row[mode_columns.mode];
|
||||
} else {
|
||||
mode = MusicalMode::IonianMajor;
|
||||
}
|
||||
} else {
|
||||
mode = MusicalMode::IonianMajor;
|
||||
}
|
||||
|
||||
inkey = inkey_button.get_active ();
|
||||
|
||||
p2.set_pad_scale (root, octave, mode, inkey);
|
||||
}
|
||||
|
||||
void
|
||||
P2GUI::reprogram_pressure_mode ()
|
||||
{
|
||||
|
@ -48,8 +48,6 @@ public:
|
||||
P2GUI (Push2&);
|
||||
~P2GUI ();
|
||||
|
||||
void build_pad_table ();
|
||||
|
||||
private:
|
||||
Push2& p2;
|
||||
PBD::ScopedConnectionList p2_connections;
|
||||
@ -95,54 +93,6 @@ private:
|
||||
void build_available_action_menu ();
|
||||
bool find_action_in_model (const Gtk::TreeModel::iterator& iter, std::string const & action_path, Gtk::TreeModel::iterator* found);
|
||||
|
||||
/* Pads */
|
||||
|
||||
Gtk::Table pad_table;
|
||||
|
||||
/* root notes */
|
||||
|
||||
Gtk::Adjustment root_note_octave_adjustment;
|
||||
Gtk::SpinButton root_note_octave;
|
||||
Gtk::Label root_note_octave_label;
|
||||
|
||||
void root_note_octave_adjustment_changed ();
|
||||
|
||||
struct NoteColumns : public Gtk::TreeModel::ColumnRecord {
|
||||
NoteColumns () {
|
||||
add (number);
|
||||
add (name);
|
||||
}
|
||||
Gtk::TreeModelColumn<int> number;
|
||||
Gtk::TreeModelColumn<std::string> name;
|
||||
};
|
||||
NoteColumns note_columns;
|
||||
Glib::RefPtr<Gtk::ListStore> build_note_columns ();
|
||||
Gtk::ComboBox root_note_selector;
|
||||
Gtk::Label root_note_label;
|
||||
|
||||
void root_note_changed ();
|
||||
|
||||
/* modes/scales */
|
||||
|
||||
struct ModeColumns : public Gtk::TreeModel::ColumnRecord {
|
||||
ModeColumns () {
|
||||
add (mode);
|
||||
add (name);
|
||||
}
|
||||
Gtk::TreeModelColumn<MusicalMode::Type> mode;
|
||||
Gtk::TreeModelColumn<std::string> name;
|
||||
};
|
||||
ModeColumns mode_columns;
|
||||
Glib::RefPtr<Gtk::ListStore> build_mode_columns ();
|
||||
Gtk::ComboBox mode_selector;
|
||||
Gtk::Label mode_label;
|
||||
|
||||
Gtk::CheckButton inkey_button;
|
||||
|
||||
Gtk::Notebook pad_notebook;
|
||||
Gtk::Table mode_packer;
|
||||
Gtk::VBox custom_packer;
|
||||
|
||||
struct PressureModeColumns : public Gtk::TreeModel::ColumnRecord {
|
||||
PressureModeColumns() {
|
||||
add (mode);
|
||||
@ -156,7 +106,6 @@ private:
|
||||
Gtk::ComboBox pressure_mode_selector;
|
||||
Gtk::Label pressure_mode_label;
|
||||
|
||||
void reprogram_pad_scale ();
|
||||
void reprogram_pressure_mode ();
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user