diff options
author | David Robillard <d@drobilla.net> | 2007-07-07 03:19:04 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-07-07 03:19:04 +0000 |
commit | 68653307e666b8daabd2931ce0731d400d947707 (patch) | |
tree | 773e4d462feddba5e0fb6fa1bdebd45eec930e95 /libs/ardour/midi_track.cc | |
parent | f87954eeb5d6a2a8b12e681ddb171dc1f6d76095 (diff) |
Note modes: note, percussion.
Percussion tracks display diamonds.
Separated/fixed MIDI and audio mode menus.
CC automation modes: discrete, line.
Bar controllers follow setting (hard steps or line) on playback.
Sent CC data is always discrete (line not implemented yet).
Discrete tracks show no lines, and always show control points.
Separated ControlPoint from AutomationLine.
Added some basic information (range) to Parameter (to be fleshed out..).
git-svn-id: svn://localhost/ardour2/trunk@2123 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r-- | libs/ardour/midi_track.cc | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index 6e52bb19c0..f714bf47f9 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -161,10 +161,15 @@ MidiTrack::_set_state (const XMLNode& node, bool call_base) return -1; } - if ((prop = node.property (X_("mode"))) != 0) { - _mode = TrackMode (string_2_enum (prop->value(), _mode)); + // No destructive MIDI tracks (yet?) + _mode = Normal; + + if ((prop = node.property (X_("note-mode"))) != 0) { + _note_mode = NoteMode (string_2_enum (prop->value(), _note_mode)); + cerr << "NOTE MODE: " << prop->value() << " -> " << _note_mode << endl; } else { - _mode = Normal; + cerr << "NO NOTE MODE" << endl; + _note_mode = Note; } if ((prop = node.property ("diskstream-id")) == 0) { @@ -245,7 +250,7 @@ MidiTrack::state(bool full_state) align_node->add_property (X_("style"), enum_2_string (as)); root.add_child_nocopy (*align_node); - root.add_property (X_("mode"), enum_2_string (_mode)); + root.add_property (X_("note-mode"), enum_2_string (_note_mode)); /* we don't return diskstream state because we don't own the diskstream exclusively. control of the diskstream @@ -682,7 +687,7 @@ MidiTrack::unfreeze () _freeze_record.state = UnFrozen; FreezeChange (); /* EMIT SIGNAL */ } - +#if 0 int MidiTrack::set_mode (TrackMode m) { @@ -701,7 +706,8 @@ MidiTrack::set_mode (TrackMode m) return 0; } - +#endif + /** \return true on success, false on failure (no buffer space left) */ bool |