19 #ifndef __ardour_gtk2_midi_list_editor_h_
20 #define __ardour_gtk2_midi_list_editor_h_
22 #include <gtkmm/treeview.h>
23 #include <gtkmm/table.h>
24 #include <gtkmm/box.h>
25 #include <gtkmm/liststore.h>
26 #include <gtkmm/scrolledwindow.h>
35 template<
typename Time>
class Note;
65 Gtk::TreeModelColumn<uint8_t>
channel;
66 Gtk::TreeModelColumn<uint8_t>
note;
69 Gtk::TreeModelColumn<std::string>
start;
70 Gtk::TreeModelColumn<std::string>
length;
71 Gtk::TreeModelColumn<boost::shared_ptr<NoteType> >
_note;
79 Gtk::TreeModelColumn<int>
ticks;
80 Gtk::TreeModelColumn<std::string>
name;
84 Glib::RefPtr<Gtk::ListStore>
model;
103 void edited (
const std::string&,
const std::string&);
104 void editing_started (Gtk::CellEditable*,
const std::string& path,
int);
void delete_selected_note()
Gtk::TreeModelColumn< std::string > start
void edited(const std::string &, const std::string &)
Gtk::TreeModelColumn< uint8_t > channel
Gtk::TreeModelColumn< uint8_t > velocity
Gtk::TreeModel::Path edit_path
MidiListModelColumns columns
bool key_release(GdkEventKey *ev)
Gtk::TreeModelColumn< boost::shared_ptr< NoteType > > _note
Gtk::TreeModelColumn< uint8_t > note
Evoral::Note< Evoral::Beats > NoteType
PBD::ScopedConnection content_connection
MidiListEditor(ARDOUR::Session *, boost::shared_ptr< ARDOUR::MidiRegion >, boost::shared_ptr< ARDOUR::MidiTrack >)
Gtk::CellEditable * editing_editable
Gtk::TreeModelColumn< std::string > note_name
Gtk::TreeModelColumn< std::string > length
void stop_editing(bool cancelled=false)
Gtk::TreeModelColumn< int > ticks
Gtk::ToggleButton sound_notes_button
bool key_press(GdkEventKey *ev)
boost::shared_ptr< ARDOUR::MidiTrack > track
Gtk::ScrolledWindow scroller
Glib::RefPtr< Gtk::ListStore > model
boost::shared_ptr< ARDOUR::MidiRegion > region
Glib::RefPtr< Gtk::ListStore > note_length_model
void editing_started(Gtk::CellEditable *, const std::string &path, int)
Gtk::TreeModelColumn< std::string > name
NoteLengthColumns note_length_columns
Gtk::CellRendererText * editing_renderer
bool scroll_event(GdkEventScroll *)