diff options
author | Robin Gareus <robin@gareus.org> | 2015-09-20 20:03:09 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-09-20 20:03:09 +0200 |
commit | dec4790dffdbf670dd60e9913e8c60b109a25c3d (patch) | |
tree | b0e073c75810fef1ac643dfea56916ccb76b7558 /gtk2_ardour/editor_selection.cc | |
parent | cff0852df9d4258ee60732f9822eb6fdd83f1111 (diff) |
update SFDB settings when track selection changes
Diffstat (limited to 'gtk2_ardour/editor_selection.cc')
-rw-r--r-- | gtk2_ardour/editor_selection.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc index 44794313a0..935d66fec8 100644 --- a/gtk2_ardour/editor_selection.cc +++ b/gtk2_ardour/editor_selection.cc @@ -41,6 +41,7 @@ #include "editor_regions.h" #include "editor_cursors.h" #include "midi_region_view.h" +#include "sfdb_ui.h" #include "i18n.h" @@ -1006,6 +1007,32 @@ Editor::track_selection_changed () /* notify control protocols */ ControlProtocol::TrackSelectionChanged (routes); + + if (sfbrowser) { + uint32_t audio_track_cnt = 0; + uint32_t midi_track_cnt = 0; + + for (TrackSelection::iterator x = selection->tracks.begin(); x != selection->tracks.end(); ++x) { + AudioTimeAxisView* atv = dynamic_cast<AudioTimeAxisView*>(*x); + + if (atv) { + if (atv->is_audio_track()) { + audio_track_cnt++; + } + + } else { + MidiTimeAxisView* mtv = dynamic_cast<MidiTimeAxisView*>(*x); + + if (mtv) { + if (mtv->is_midi_track()) { + midi_track_cnt++; + } + } + } + } + + sfbrowser->reset (audio_track_cnt, midi_track_cnt); + } } void |