From 3845af6ce92ef15637ffb09410f442e7b4a104c3 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 27 Aug 2009 03:09:30 +0000 Subject: [PATCH] lots of MIDI editing stuff. to be explained on the website when its done git-svn-id: svn://localhost/ardour2/branches/3.0@5596 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/ardour3_ui_dark.rc.in | 47 +++- gtk2_ardour/ardour3_ui_default.conf | 2 +- gtk2_ardour/ardour_ui2.cc | 1 + gtk2_ardour/ardour_ui_ed.cc | 7 +- gtk2_ardour/editor.cc | 111 +++++---- gtk2_ardour/editor.h | 9 +- gtk2_ardour/editor_ops.cc | 72 +++++- gtk2_ardour/keyboard.cc | 2 + gtk2_ardour/midi_list_editor.cc | 99 ++++++++ gtk2_ardour/midi_list_editor.h | 73 ++++++ gtk2_ardour/midi_region_view.cc | 360 ++++++++++++++++++++++++---- gtk2_ardour/midi_region_view.h | 16 +- gtk2_ardour/plugin_ui.cc | 6 +- gtk2_ardour/public_editor.h | 8 +- gtk2_ardour/selection.h | 1 + gtk2_ardour/selection_templates.h | 11 + gtk2_ardour/utils.cc | 11 + gtk2_ardour/utils.h | 1 + gtk2_ardour/wscript | 2 + libs/ardour/ardour/midi_model.h | 3 +- libs/ardour/ardour/midi_operator.h | 42 ++++ libs/ardour/ardour/midi_source.h | 4 +- libs/ardour/ardour/midi_track.h | 3 +- libs/ardour/ardour/quantize.h | 30 ++- libs/ardour/ardour/route.h | 3 + libs/ardour/ardour/smf_source.h | 2 +- libs/ardour/ardour/tempo.h | 2 +- libs/ardour/ardour/types.h | 6 + libs/ardour/delivery.cc | 2 + libs/ardour/midi_model.cc | 29 ++- libs/ardour/midi_ring_buffer.cc | 10 +- libs/ardour/midi_track.cc | 21 +- libs/ardour/quantize.cc | 102 +++++--- libs/ardour/route.cc | 5 +- libs/ardour/tempo.cc | 98 ++++++-- libs/ardour/track.cc | 3 + libs/evoral/evoral/Event.hpp | 26 +- libs/evoral/evoral/Note.hpp | 10 +- libs/evoral/evoral/Sequence.hpp | 8 + libs/evoral/evoral/midi_util.h | 3 + libs/evoral/evoral/types.hpp | 3 + libs/evoral/src/Event.cpp | 8 +- libs/evoral/src/MIDIEvent.cpp | 2 +- libs/evoral/src/Note.cpp | 4 +- libs/evoral/src/OldSMF.cpp | 2 +- libs/evoral/src/Sequence.cpp | 2 +- libs/evoral/src/midi_util.cpp | 55 +++++ libs/evoral/wscript | 1 + libs/gtkmm2ext/tearoff.cc | 2 +- 49 files changed, 1110 insertions(+), 220 deletions(-) create mode 100644 gtk2_ardour/midi_list_editor.cc create mode 100644 gtk2_ardour/midi_list_editor.h create mode 100644 libs/ardour/ardour/midi_operator.h create mode 100644 libs/evoral/src/midi_util.cpp diff --git a/gtk2_ardour/ardour3_ui_dark.rc.in b/gtk2_ardour/ardour3_ui_dark.rc.in index bac7baae8c..8046d4d075 100644 --- a/gtk2_ardour/ardour3_ui_dark.rc.in +++ b/gtk2_ardour/ardour3_ui_dark.rc.in @@ -81,9 +81,51 @@ style "time_axis_view_item_name" font_name = "%FONT_SMALLER%" } +style "white_tree_view" +{ + GtkButton::default_border = { 0, 0, 0, 0 } + GtkButton::default_outside_border = { 0, 0, 0, 0 } + GtkButton::button_relief = GTK_RELIEF_NONE + GtkTreeView::vertical-padding = 0 + GtkTreeView::horizontal-padding = 0 + GtkTreeView::even-row-color = { 0.70, 0.70, 0.70 } + GtkTreeView::odd-row-color = { 0.64, 0.64, 0.64 } + + fg[NORMAL] = { 0.30, 0.30, 0.40 } + fg[ACTIVE] = { 0.30, 0.30, 0.40 } + fg[PRELIGHT] = { 1.0, 1.0, 1.0 } + fg[INSENSITIVE] = { 0.30, 0.30, 0.40 } + fg[SELECTED] = { 0.30, 0.30, 0.40 } + + bg[NORMAL] = { 0.80, 0.80, 0.80 } + bg[ACTIVE] = { 0.80, 0.80, 0.80 } + bg[PRELIGHT] = { 0.80, 0.80, 0.80 } + bg[INSENSITIVE] = { 0.80, 0.80, 0.80 } + bg[SELECTED] = { 0.80, 0.80, 0.80 } + + text[NORMAL] = { 0.30, 0.30, 0.40 } + text[ACTIVE] = { 0.30, 0.30, 0.40 } + text[PRELIGHT] = { 0.30, 0.30, 0.40 } + text[INSENSITIVE] = { 0.30, 0.30, 0.40 } + text[SELECTED] = { 0, 0, 0 } + + base[ACTIVE] = { 0.80, 0.80, 0.80 } + base[NORMAL] = { 0.80, 0.80, 0.80 } + base[PRELIGHT] = { 0.90, 0.90, 0.90 } + base[INSENSITIVE] = "#4c5159" + base[SELECTED] = { 0.60, 0.60, 0.80 } + + engine "clearlooks" + { + menubarstyle = 0 # 0 = flat, 1 = sunken, 2 = flat gradient + menuitemstyle = 0 # 0 = flat, 1 = 3d-ish (gradient), 2 = 3d-ish (button) + listviewitemstyle = 0 # 0 = flat, 1 = 3d-ish (gradient) + progressbarstyle = 1 # 0 = candy bar, 1 = fancy candy bar, 2 = flat + } +} + style "default_base" = "medium_text" { - GtkWidget::cursor_color = {1.0, 1.0, 1.0 } GtkButton::default_border = { 0, 0, 0, 0 } GtkButton::default_outside_border = { 0, 0, 0, 0 } @@ -1594,4 +1636,5 @@ widget "*RegionListWholeFile" style:highest "treeview_parent_node" widget "*EditorHScrollbar" style:highest "editor_hscrollbar" widget "*OddPortGroups" style:highest "odd_port_groups" widget "*EvenPortGroups" style:highest "even_port_groups" - +Widget "*MidiListView" style:highest "white_tree_view" +Widget "*MidiListView*" style:highest "white_tree_view" diff --git a/gtk2_ardour/ardour3_ui_default.conf b/gtk2_ardour/ardour3_ui_default.conf index 222b409c3f..94a2b62830 100644 --- a/gtk2_ardour/ardour3_ui_default.conf +++ b/gtk2_ardour/ardour3_ui_default.conf @@ -62,7 +62,7 @@