mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-17 04:06:26 +01:00
NOOP, re-indent, remove trailing whitespace, sort includes
This commit is contained in:
parent
f23f379b37
commit
4167e83972
1 changed files with 195 additions and 195 deletions
|
|
@ -17,37 +17,37 @@
|
|||
|
||||
*/
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cassert>
|
||||
#include <cmath>
|
||||
#include <list>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <cstdlib>
|
||||
#include <cmath>
|
||||
#include <cassert>
|
||||
|
||||
#include "pbd/unknown_type.h"
|
||||
#include "pbd/unwind.h"
|
||||
|
||||
#include "ardour/debug.h"
|
||||
#include "ardour/route.h"
|
||||
#include "ardour/midi_track.h"
|
||||
#include "ardour/route.h"
|
||||
#include "ardour/session.h"
|
||||
|
||||
#include "gtkmm2ext/cell_renderer_pixbuf_multi.h"
|
||||
#include "gtkmm2ext/cell_renderer_pixbuf_toggle.h"
|
||||
#include "gtkmm2ext/treeutils.h"
|
||||
|
||||
#include "editor.h"
|
||||
#include "keyboard.h"
|
||||
#include "actions.h"
|
||||
#include "ardour_ui.h"
|
||||
#include "audio_time_axis.h"
|
||||
#include "midi_time_axis.h"
|
||||
#include "mixer_strip.h"
|
||||
#include "gui_thread.h"
|
||||
#include "actions.h"
|
||||
#include "utils.h"
|
||||
#include "route_sorter.h"
|
||||
#include "editor.h"
|
||||
#include "editor_group_tabs.h"
|
||||
#include "editor_routes.h"
|
||||
#include "gui_thread.h"
|
||||
#include "keyboard.h"
|
||||
#include "midi_time_axis.h"
|
||||
#include "mixer_strip.h"
|
||||
#include "route_sorter.h"
|
||||
#include "utils.h"
|
||||
|
||||
#include "i18n.h"
|
||||
|
||||
|
|
@ -61,23 +61,23 @@ using namespace Glib;
|
|||
using Gtkmm2ext::Keyboard;
|
||||
|
||||
struct ColumnInfo {
|
||||
int index;
|
||||
const char* label;
|
||||
const char* tooltip;
|
||||
int index;
|
||||
const char* label;
|
||||
const char* tooltip;
|
||||
};
|
||||
|
||||
EditorRoutes::EditorRoutes (Editor* e)
|
||||
: EditorComponent (e)
|
||||
, _ignore_reorder (false)
|
||||
, _no_redisplay (false)
|
||||
, _adding_routes (false)
|
||||
, _route_deletion_in_progress (false)
|
||||
, _redisplay_active (0)
|
||||
, _queue_tv_update (0)
|
||||
, _menu (0)
|
||||
, old_focus (0)
|
||||
, selection_countdown (0)
|
||||
, name_editable (0)
|
||||
, _ignore_reorder (false)
|
||||
, _no_redisplay (false)
|
||||
, _adding_routes (false)
|
||||
, _route_deletion_in_progress (false)
|
||||
, _redisplay_active (0)
|
||||
, _queue_tv_update (0)
|
||||
, _menu (0)
|
||||
, old_focus (0)
|
||||
, selection_countdown (0)
|
||||
, name_editable (0)
|
||||
{
|
||||
static const int column_width = 22;
|
||||
|
||||
|
|
@ -187,7 +187,7 @@ EditorRoutes::EditorRoutes (Editor* e)
|
|||
solo_safe_state_column->set_expand(false);
|
||||
solo_safe_state_column->set_fixed_width(column_width);
|
||||
|
||||
_name_column = _display.append_column ("", _columns.text) - 1;
|
||||
_name_column = _display.append_column ("", _columns.text) - 1;
|
||||
_visible_column = _display.append_column ("", _columns.visible) - 1;
|
||||
_active_column = _display.append_column ("", _columns.active) - 1;
|
||||
|
||||
|
|
@ -236,7 +236,7 @@ EditorRoutes::EditorRoutes (Editor* e)
|
|||
CellRendererText* name_cell = dynamic_cast<CellRendererText*> (_display.get_column_cell_renderer (_name_column));
|
||||
|
||||
assert (name_cell);
|
||||
name_cell->signal_editing_started().connect (sigc::mem_fun (*this, &EditorRoutes::name_edit_started));
|
||||
name_cell->signal_editing_started().connect (sigc::mem_fun (*this, &EditorRoutes::name_edit_started));
|
||||
|
||||
TreeViewColumn* name_column = _display.get_column (_name_column);
|
||||
|
||||
|
|
@ -281,13 +281,13 @@ EditorRoutes::EditorRoutes (Editor* e)
|
|||
_display.signal_button_press_event().connect (sigc::mem_fun (*this, &EditorRoutes::button_press), false);
|
||||
_scroller.signal_key_press_event().connect (sigc::mem_fun(*this, &EditorRoutes::key_press), false);
|
||||
|
||||
_scroller.signal_focus_in_event().connect (sigc::mem_fun (*this, &EditorRoutes::focus_in), false);
|
||||
_scroller.signal_focus_out_event().connect (sigc::mem_fun (*this, &EditorRoutes::focus_out));
|
||||
_scroller.signal_focus_in_event().connect (sigc::mem_fun (*this, &EditorRoutes::focus_in), false);
|
||||
_scroller.signal_focus_out_event().connect (sigc::mem_fun (*this, &EditorRoutes::focus_out));
|
||||
|
||||
_display.signal_enter_notify_event().connect (sigc::mem_fun (*this, &EditorRoutes::enter_notify), false);
|
||||
_display.signal_leave_notify_event().connect (sigc::mem_fun (*this, &EditorRoutes::leave_notify), false);
|
||||
_display.signal_enter_notify_event().connect (sigc::mem_fun (*this, &EditorRoutes::enter_notify), false);
|
||||
_display.signal_leave_notify_event().connect (sigc::mem_fun (*this, &EditorRoutes::leave_notify), false);
|
||||
|
||||
_display.set_enable_search (false);
|
||||
_display.set_enable_search (false);
|
||||
|
||||
Route::SyncOrderKeys.connect (*this, MISSING_INVALIDATOR, boost::bind (&EditorRoutes::sync_treeview_from_order_keys, this), gui_context());
|
||||
}
|
||||
|
|
@ -295,29 +295,29 @@ EditorRoutes::EditorRoutes (Editor* e)
|
|||
bool
|
||||
EditorRoutes::focus_in (GdkEventFocus*)
|
||||
{
|
||||
Window* win = dynamic_cast<Window*> (_scroller.get_toplevel ());
|
||||
Window* win = dynamic_cast<Window*> (_scroller.get_toplevel ());
|
||||
|
||||
if (win) {
|
||||
old_focus = win->get_focus ();
|
||||
} else {
|
||||
old_focus = 0;
|
||||
}
|
||||
if (win) {
|
||||
old_focus = win->get_focus ();
|
||||
} else {
|
||||
old_focus = 0;
|
||||
}
|
||||
|
||||
name_editable = 0;
|
||||
name_editable = 0;
|
||||
|
||||
/* try to do nothing on focus in (doesn't work, hence selection_count nonsense) */
|
||||
return true;
|
||||
/* try to do nothing on focus in (doesn't work, hence selection_count nonsense) */
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
EditorRoutes::focus_out (GdkEventFocus*)
|
||||
{
|
||||
if (old_focus) {
|
||||
old_focus->grab_focus ();
|
||||
old_focus = 0;
|
||||
}
|
||||
if (old_focus) {
|
||||
old_focus->grab_focus ();
|
||||
old_focus = 0;
|
||||
}
|
||||
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
|
|
@ -327,27 +327,27 @@ EditorRoutes::enter_notify (GdkEventCrossing*)
|
|||
return true;
|
||||
}
|
||||
|
||||
/* arm counter so that ::selection_filter() will deny selecting anything for the
|
||||
next two attempts to change selection status.
|
||||
*/
|
||||
selection_countdown = 2;
|
||||
_scroller.grab_focus ();
|
||||
Keyboard::magic_widget_grab_focus ();
|
||||
return false;
|
||||
/* arm counter so that ::selection_filter() will deny selecting anything for the
|
||||
* next two attempts to change selection status.
|
||||
*/
|
||||
selection_countdown = 2;
|
||||
_scroller.grab_focus ();
|
||||
Keyboard::magic_widget_grab_focus ();
|
||||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
EditorRoutes::leave_notify (GdkEventCrossing*)
|
||||
{
|
||||
selection_countdown = 0;
|
||||
selection_countdown = 0;
|
||||
|
||||
if (old_focus) {
|
||||
old_focus->grab_focus ();
|
||||
old_focus = 0;
|
||||
}
|
||||
if (old_focus) {
|
||||
old_focus->grab_focus ();
|
||||
old_focus = 0;
|
||||
}
|
||||
|
||||
Keyboard::magic_widget_drop_focus ();
|
||||
return false;
|
||||
Keyboard::magic_widget_drop_focus ();
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -572,14 +572,14 @@ void
|
|||
EditorRoutes::row_deleted (Gtk::TreeModel::Path const &)
|
||||
{
|
||||
/* this happens as the second step of a DnD within the treeview, and
|
||||
when a route is actually removed. we don't differentiate between
|
||||
the two cases.
|
||||
|
||||
note that the sync_orders_keys() step may not actually change any
|
||||
RID's (e.g. the last track may be removed, so all other tracks keep
|
||||
the same RID), which means that no redisplay would happen. so we
|
||||
have to force a redisplay.
|
||||
*/
|
||||
* when a route is actually removed. we don't differentiate between
|
||||
* the two cases.
|
||||
*
|
||||
* note that the sync_orders_keys() step may not actually change any
|
||||
* RID's (e.g. the last track may be removed, so all other tracks keep
|
||||
* the same RID), which means that no redisplay would happen. so we
|
||||
* have to force a redisplay.
|
||||
*/
|
||||
|
||||
DEBUG_TRACE (DEBUG::OrderKeys, "editor routes treeview row deleted\n");
|
||||
|
||||
|
|
@ -700,11 +700,11 @@ EditorRoutes::routes_added (list<RouteTimeAxisView*> routes)
|
|||
t->RecordEnableChanged.connect (*this, MISSING_INVALIDATOR, boost::bind (&EditorRoutes::update_rec_display, this), gui_context());
|
||||
}
|
||||
|
||||
if ((*x)->is_midi_track()) {
|
||||
boost::shared_ptr<MidiTrack> t = boost::dynamic_pointer_cast<MidiTrack> ((*x)->route());
|
||||
if ((*x)->is_midi_track()) {
|
||||
boost::shared_ptr<MidiTrack> t = boost::dynamic_pointer_cast<MidiTrack> ((*x)->route());
|
||||
t->StepEditStatusChange.connect (*this, MISSING_INVALIDATOR, boost::bind (&EditorRoutes::update_rec_display, this), gui_context());
|
||||
t->InputActiveChanged.connect (*this, MISSING_INVALIDATOR, boost::bind (&EditorRoutes::update_input_active_display, this), gui_context());
|
||||
}
|
||||
t->InputActiveChanged.connect (*this, MISSING_INVALIDATOR, boost::bind (&EditorRoutes::update_input_active_display, this), gui_context());
|
||||
}
|
||||
|
||||
(*x)->route()->mute_changed.connect (*this, MISSING_INVALIDATOR, boost::bind (&EditorRoutes::update_mute_display, this), gui_context());
|
||||
(*x)->route()->solo_changed.connect (*this, MISSING_INVALIDATOR, boost::bind (&EditorRoutes::update_solo_display, this, _1), gui_context());
|
||||
|
|
@ -1189,59 +1189,58 @@ EditorRoutes::hide_all_miditracks ()
|
|||
bool
|
||||
EditorRoutes::key_press (GdkEventKey* ev)
|
||||
{
|
||||
TreeViewColumn *col;
|
||||
boost::shared_ptr<RouteList> rl (new RouteList);
|
||||
TreePath path;
|
||||
TreeViewColumn *col;
|
||||
boost::shared_ptr<RouteList> rl (new RouteList);
|
||||
TreePath path;
|
||||
|
||||
switch (ev->keyval) {
|
||||
case GDK_Tab:
|
||||
case GDK_ISO_Left_Tab:
|
||||
switch (ev->keyval) {
|
||||
case GDK_Tab:
|
||||
case GDK_ISO_Left_Tab:
|
||||
|
||||
/* If we appear to be editing something, leave that cleanly and appropriately.
|
||||
*/
|
||||
if (name_editable) {
|
||||
name_editable->editing_done ();
|
||||
name_editable = 0;
|
||||
}
|
||||
|
||||
col = _display.get_column (_name_column); // select&focus on name column
|
||||
|
||||
if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) {
|
||||
treeview_select_previous (_display, _model, col);
|
||||
} else {
|
||||
treeview_select_next (_display, _model, col);
|
||||
}
|
||||
|
||||
return true;
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
if (get_relevant_routes (rl)) {
|
||||
_session->set_mute (rl, !rl->front()->muted(), Session::rt_cleanup);
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
|
||||
case 's':
|
||||
if (get_relevant_routes (rl)) {
|
||||
if (Config->get_solo_control_is_listen_control()) {
|
||||
_session->set_listen (rl, !rl->front()->listening_via_monitor(), Session::rt_cleanup);
|
||||
} else {
|
||||
_session->set_solo (rl, !rl->front()->self_soloed(), Session::rt_cleanup);
|
||||
/* If we appear to be editing something, leave that cleanly and appropriately. */
|
||||
if (name_editable) {
|
||||
name_editable->editing_done ();
|
||||
name_editable = 0;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
|
||||
case 'r':
|
||||
if (get_relevant_routes (rl)) {
|
||||
_session->set_record_enabled (rl, !rl->front()->record_enabled(), Session::rt_cleanup);
|
||||
}
|
||||
break;
|
||||
col = _display.get_column (_name_column); // select&focus on name column
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) {
|
||||
treeview_select_previous (_display, _model, col);
|
||||
} else {
|
||||
treeview_select_next (_display, _model, col);
|
||||
}
|
||||
|
||||
return true;
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
if (get_relevant_routes (rl)) {
|
||||
_session->set_mute (rl, !rl->front()->muted(), Session::rt_cleanup);
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
|
||||
case 's':
|
||||
if (get_relevant_routes (rl)) {
|
||||
if (Config->get_solo_control_is_listen_control()) {
|
||||
_session->set_listen (rl, !rl->front()->listening_via_monitor(), Session::rt_cleanup);
|
||||
} else {
|
||||
_session->set_solo (rl, !rl->front()->self_soloed(), Session::rt_cleanup);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
|
||||
case 'r':
|
||||
if (get_relevant_routes (rl)) {
|
||||
_session->set_record_enabled (rl, !rl->front()->record_enabled(), Session::rt_cleanup);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
@ -1249,44 +1248,44 @@ EditorRoutes::key_press (GdkEventKey* ev)
|
|||
bool
|
||||
EditorRoutes::get_relevant_routes (boost::shared_ptr<RouteList> rl)
|
||||
{
|
||||
TimeAxisView* tv;
|
||||
RouteTimeAxisView* rtv;
|
||||
TimeAxisView* tv;
|
||||
RouteTimeAxisView* rtv;
|
||||
RefPtr<TreeSelection> selection = _display.get_selection();
|
||||
TreePath path;
|
||||
TreeIter iter;
|
||||
TreePath path;
|
||||
TreeIter iter;
|
||||
|
||||
if (selection->count_selected_rows() != 0) {
|
||||
if (selection->count_selected_rows() != 0) {
|
||||
|
||||
/* use selection */
|
||||
/* use selection */
|
||||
|
||||
RefPtr<TreeModel> tm = RefPtr<TreeModel>::cast_dynamic (_model);
|
||||
iter = selection->get_selected (tm);
|
||||
RefPtr<TreeModel> tm = RefPtr<TreeModel>::cast_dynamic (_model);
|
||||
iter = selection->get_selected (tm);
|
||||
|
||||
} else {
|
||||
/* use mouse pointer */
|
||||
} else {
|
||||
/* use mouse pointer */
|
||||
|
||||
int x, y;
|
||||
int bx, by;
|
||||
int x, y;
|
||||
int bx, by;
|
||||
|
||||
_display.get_pointer (x, y);
|
||||
_display.convert_widget_to_bin_window_coords (x, y, bx, by);
|
||||
_display.get_pointer (x, y);
|
||||
_display.convert_widget_to_bin_window_coords (x, y, bx, by);
|
||||
|
||||
if (_display.get_path_at_pos (bx, by, path)) {
|
||||
iter = _model->get_iter (path);
|
||||
}
|
||||
}
|
||||
if (_display.get_path_at_pos (bx, by, path)) {
|
||||
iter = _model->get_iter (path);
|
||||
}
|
||||
}
|
||||
|
||||
if (iter) {
|
||||
tv = (*iter)[_columns.tv];
|
||||
if (tv) {
|
||||
rtv = dynamic_cast<RouteTimeAxisView*>(tv);
|
||||
if (rtv) {
|
||||
rl->push_back (rtv->route());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (iter) {
|
||||
tv = (*iter)[_columns.tv];
|
||||
if (tv) {
|
||||
rtv = dynamic_cast<RouteTimeAxisView*>(tv);
|
||||
if (rtv) {
|
||||
rl->push_back (rtv->route());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return !rl->empty();
|
||||
return !rl->empty();
|
||||
}
|
||||
|
||||
bool
|
||||
|
|
@ -1356,28 +1355,29 @@ EditorRoutes::selection_changed ()
|
|||
bool
|
||||
EditorRoutes::selection_filter (Glib::RefPtr<TreeModel> const &, TreeModel::Path const&, bool /*selected*/)
|
||||
{
|
||||
if (selection_countdown) {
|
||||
if (--selection_countdown == 0) {
|
||||
return true;
|
||||
} else {
|
||||
/* no selection yet ... */
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (selection_countdown) {
|
||||
if (--selection_countdown == 0) {
|
||||
return true;
|
||||
} else {
|
||||
/* no selection yet ... */
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
struct EditorOrderRouteSorter {
|
||||
bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
|
||||
if (a->is_master()) {
|
||||
/* master before everything else */
|
||||
return true;
|
||||
} else if (b->is_master()) {
|
||||
/* everything else before master */
|
||||
return false;
|
||||
}
|
||||
return a->order_key () < b->order_key ();
|
||||
}
|
||||
struct EditorOrderRouteSorter
|
||||
{
|
||||
bool operator() (boost::shared_ptr<Route> a, boost::shared_ptr<Route> b) {
|
||||
if (a->is_master()) {
|
||||
/* master before everything else */
|
||||
return true;
|
||||
} else if (b->is_master()) {
|
||||
/* everything else before master */
|
||||
return false;
|
||||
}
|
||||
return a->order_key () < b->order_key ();
|
||||
}
|
||||
};
|
||||
|
||||
void
|
||||
|
|
@ -1674,21 +1674,21 @@ EditorRoutes::clear ()
|
|||
void
|
||||
EditorRoutes::name_edit_started (CellEditable* ce, const Glib::ustring&)
|
||||
{
|
||||
name_editable = ce;
|
||||
name_editable = ce;
|
||||
|
||||
/* give it a special name */
|
||||
/* give it a special name */
|
||||
|
||||
Gtk::Entry *e = dynamic_cast<Gtk::Entry*> (ce);
|
||||
Gtk::Entry *e = dynamic_cast<Gtk::Entry*> (ce);
|
||||
|
||||
if (e) {
|
||||
e->set_name (X_("RouteNameEditorEntry"));
|
||||
}
|
||||
if (e) {
|
||||
e->set_name (X_("RouteNameEditorEntry"));
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
EditorRoutes::name_edit (std::string const & path, std::string const & new_text)
|
||||
{
|
||||
name_editable = 0;
|
||||
name_editable = 0;
|
||||
|
||||
TreeIter iter = _model->get_iter (path);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue