globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
This commit is contained in:
parent
297e80e020
commit
4dc63966f0
|
@ -49,14 +49,14 @@ class AddRouteDialog : public ArdourDialog
|
|||
AddRouteDialog ();
|
||||
~AddRouteDialog ();
|
||||
|
||||
enum TypeWanted {
|
||||
enum TypeWanted {
|
||||
AudioTrack,
|
||||
MidiTrack,
|
||||
MixedTrack,
|
||||
AudioBus
|
||||
};
|
||||
TypeWanted type_wanted() const;
|
||||
|
||||
|
||||
ARDOUR::ChanCount channels ();
|
||||
int count ();
|
||||
|
||||
|
|
|
@ -310,7 +310,7 @@ AnalysisWindow::analyze_data (Gtk::Button * /*button*/)
|
|||
newrow[tlcols.visible] = true;
|
||||
newrow[tlcols.color] = rui->color();
|
||||
newrow[tlcols.graph] = res;
|
||||
}
|
||||
}
|
||||
} else if (source_selection_regions_rb.get_active()) {
|
||||
RegionSelection ars = s.regions;
|
||||
// std::cerr << "Analyzing selected regions" << std::endl;
|
||||
|
|
|
@ -197,7 +197,7 @@ ArdourButton::set_alignment (const float xa, const float ya)
|
|||
/* TODO make this a dedicated function elsewhere.
|
||||
*
|
||||
* Option 1:
|
||||
* virtual ArdourButton::render_vector_icon()
|
||||
* virtual ArdourButton::render_vector_icon()
|
||||
* ArdourIconButton::render_vector_icon
|
||||
*
|
||||
* Option 2:
|
||||
|
|
|
@ -55,7 +55,7 @@ ArdourDialog::~ArdourDialog ()
|
|||
{
|
||||
if (_splash_pushed) {
|
||||
Splash* spl = Splash::instance();
|
||||
|
||||
|
||||
if (spl) {
|
||||
spl->pop_front();
|
||||
}
|
||||
|
|
|
@ -584,7 +584,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
|
|||
void transport_record (bool roll);
|
||||
void transport_roll ();
|
||||
void transport_play_selection();
|
||||
void transport_play_preroll();
|
||||
void transport_play_preroll();
|
||||
void transport_forward (int option);
|
||||
void transport_rewind (int option);
|
||||
void transport_loop ();
|
||||
|
@ -640,7 +640,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
|
|||
SessionOptionEditor* create_session_option_editor ();
|
||||
BundleManager* create_bundle_manager ();
|
||||
AddVideoDialog* create_add_video_dialog ();
|
||||
BigClockWindow* create_big_clock_window();
|
||||
BigClockWindow* create_big_clock_window();
|
||||
GlobalPortMatrixWindow* create_global_port_matrix (ARDOUR::DataType);
|
||||
|
||||
ARDOUR::SystemExec *video_server_process;
|
||||
|
@ -733,7 +733,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
|
|||
void loading_message (const std::string& msg);
|
||||
|
||||
PBD::ScopedConnectionList forever_connections;
|
||||
PBD::ScopedConnection halt_connection;
|
||||
PBD::ScopedConnection halt_connection;
|
||||
|
||||
void step_edit_status_change (bool);
|
||||
|
||||
|
|
|
@ -343,7 +343,7 @@ ARDOUR_UI::setup_transport ()
|
|||
alert_box.pack_start (feedback_alert_button, true, true);
|
||||
|
||||
/* all transport buttons should be the same size vertically and
|
||||
* horizontally
|
||||
* horizontally
|
||||
*/
|
||||
|
||||
Glib::RefPtr<SizeGroup> transport_button_size_group = SizeGroup::create (SIZE_GROUP_BOTH);
|
||||
|
|
|
@ -204,8 +204,8 @@ ARDOUR_UI::set_session (Session *s)
|
|||
transport_tearoff_hbox.remove (editor_meter_peak_display);
|
||||
}
|
||||
|
||||
if (_session &&
|
||||
_session->master_out() &&
|
||||
if (_session &&
|
||||
_session->master_out() &&
|
||||
_session->master_out()->n_outputs().n(DataType::AUDIO) > 0) {
|
||||
|
||||
if (!ARDOUR::Profile->get_trx()) {
|
||||
|
|
|
@ -412,7 +412,7 @@ ARDOUR_UI::parameter_changed (std::string p)
|
|||
transport_tearoff_hbox.pack_start (editor_meter_peak_display, false, false);
|
||||
meter_box.show();
|
||||
editor_meter_peak_display.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (p == "waveform-scale") {
|
||||
ArdourCanvas::WaveView::set_global_logscaled (UIConfiguration::instance().get_waveform_scale() == Logarithmic);
|
||||
|
|
|
@ -108,7 +108,7 @@ ArdourWindow::init ()
|
|||
/* ArdourWindows are not dialogs (they have no "OK" or "Close" button) but
|
||||
they should be considered part of the same "window level" as a dialog. This
|
||||
works on X11 and Quartz, in that:
|
||||
|
||||
|
||||
(a) utility & dialog windows are considered to be part of the same level
|
||||
(b) they will float above normal windows without any particular effort
|
||||
(c) present()-ing them will make a utility float over a dialog or
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -78,9 +78,9 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
|
|||
framepos_t current_time (framepos_t position = 0) const;
|
||||
framepos_t current_duration (framepos_t position = 0) const;
|
||||
void set_session (ARDOUR::Session *s);
|
||||
void set_negative_allowed (bool yn);
|
||||
void set_negative_allowed (bool yn);
|
||||
|
||||
/** Alter cairo scaling during rendering.
|
||||
/** Alter cairo scaling during rendering.
|
||||
*
|
||||
* Used by clocks that resize themselves
|
||||
* to fit any given space. Can lead
|
||||
|
@ -175,7 +175,7 @@ class AudioClock : public CairoWidget, public ARDOUR::SessionHandlePtr
|
|||
|
||||
/* this maps the number of input characters/digits when editing
|
||||
to a cursor position. insert_map[N] = index of character/digit
|
||||
where the cursor should be after N chars/digits. it is
|
||||
where the cursor should be after N chars/digits. it is
|
||||
mode specific and so it is filled during set_mode().
|
||||
*/
|
||||
|
||||
|
|
|
@ -1040,8 +1040,8 @@ AudioRegionView::set_colors ()
|
|||
RegionView::set_colors();
|
||||
|
||||
if (gain_line) {
|
||||
gain_line->set_line_color (audio_region()->envelope_active() ?
|
||||
UIConfiguration::instance().color ("gain line") :
|
||||
gain_line->set_line_color (audio_region()->envelope_active() ?
|
||||
UIConfiguration::instance().color ("gain line") :
|
||||
UIConfiguration::instance().color_mod ("gain line inactive", "gain line inactive"));
|
||||
}
|
||||
|
||||
|
@ -1216,7 +1216,7 @@ AudioRegionView::create_one_wave (uint32_t which, bool /*direct*/)
|
|||
}
|
||||
|
||||
/* first waveview starts at 1.0, not 0.0 since that will overlap the
|
||||
* frame
|
||||
* frame
|
||||
*/
|
||||
|
||||
gdouble yoff = which * ht;
|
||||
|
@ -1471,8 +1471,8 @@ void
|
|||
AudioRegionView::envelope_active_changed ()
|
||||
{
|
||||
if (gain_line) {
|
||||
gain_line->set_line_color (audio_region()->envelope_active() ?
|
||||
UIConfiguration::instance().color ("gain line") :
|
||||
gain_line->set_line_color (audio_region()->envelope_active() ?
|
||||
UIConfiguration::instance().color ("gain line") :
|
||||
UIConfiguration::instance().color_mod ("gain line inactive", "gain line inactive"));
|
||||
update_envelope_visibility ();
|
||||
}
|
||||
|
|
|
@ -201,7 +201,7 @@ void
|
|||
AutomationLine::hide ()
|
||||
{
|
||||
/* leave control points setting unchanged, we are just hiding the
|
||||
overall line
|
||||
overall line
|
||||
*/
|
||||
|
||||
set_visibility (AutomationLine::VisibleAspects (_visible & ~Line));
|
||||
|
@ -521,13 +521,13 @@ struct ControlPointSorter
|
|||
bool operator() (ControlPoint const * a, ControlPoint const * b) const {
|
||||
if (floateq (a->get_x(), b->get_x(), 1)) {
|
||||
return a->view_index() < b->view_index();
|
||||
}
|
||||
}
|
||||
return a->get_x() < b->get_x();
|
||||
}
|
||||
};
|
||||
|
||||
AutomationLine::ContiguousControlPoints::ContiguousControlPoints (AutomationLine& al)
|
||||
: line (al), before_x (0), after_x (DBL_MAX)
|
||||
: line (al), before_x (0), after_x (DBL_MAX)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -539,7 +539,7 @@ AutomationLine::ContiguousControlPoints::compute_x_bounds (PublicEditor& e)
|
|||
if (sz > 0 && sz < line.npoints()) {
|
||||
const TempoMap& map (e.session()->tempo_map());
|
||||
|
||||
/* determine the limits on x-axis motion for this
|
||||
/* determine the limits on x-axis motion for this
|
||||
contiguous range of control points
|
||||
*/
|
||||
|
||||
|
@ -573,8 +573,8 @@ AutomationLine::ContiguousControlPoints::compute_x_bounds (PublicEditor& e)
|
|||
}
|
||||
}
|
||||
|
||||
double
|
||||
AutomationLine::ContiguousControlPoints::clamp_dx (double dx)
|
||||
double
|
||||
AutomationLine::ContiguousControlPoints::clamp_dx (double dx)
|
||||
{
|
||||
if (empty()) {
|
||||
return dx;
|
||||
|
@ -594,14 +594,14 @@ AutomationLine::ContiguousControlPoints::clamp_dx (double dx)
|
|||
cp = front();
|
||||
}
|
||||
|
||||
tx = cp->get_x() + dx; // new possible position if we just add the motion
|
||||
tx = cp->get_x() + dx; // new possible position if we just add the motion
|
||||
tx = max (tx, before_x); // can't move later than following point
|
||||
tx = min (tx, after_x); // can't move earlier than preceeding point
|
||||
return tx - cp->get_x ();
|
||||
return tx - cp->get_x ();
|
||||
}
|
||||
|
||||
void
|
||||
AutomationLine::ContiguousControlPoints::move (double dx, double dy)
|
||||
void
|
||||
AutomationLine::ContiguousControlPoints::move (double dx, double dy)
|
||||
{
|
||||
for (std::list<ControlPoint*>::iterator i = begin(); i != end(); ++i) {
|
||||
(*i)->move_to ((*i)->get_x() + dx, (*i)->get_y() - line.height() * dy, ControlPoint::Full);
|
||||
|
@ -645,7 +645,7 @@ AutomationLine::drag_motion (double const x, float fraction, bool ignore_x, bool
|
|||
|
||||
if (!_drag_had_movement) {
|
||||
|
||||
/* "first move" ... do some stuff that we don't want to do if
|
||||
/* "first move" ... do some stuff that we don't want to do if
|
||||
no motion ever took place, but need to do before we handle
|
||||
motion.
|
||||
*/
|
||||
|
@ -680,8 +680,8 @@ AutomationLine::drag_motion (double const x, float fraction, bool ignore_x, bool
|
|||
/* OK, now on to the stuff related to *this* motion event. First, for
|
||||
* each contiguous range, figure out the maximum x-axis motion we are
|
||||
* allowed (because of neighbouring points that are not moving.
|
||||
*
|
||||
* if we are moving forwards with push, we don't need to do this,
|
||||
*
|
||||
* if we are moving forwards with push, we don't need to do this,
|
||||
* since all later points will move too.
|
||||
*/
|
||||
|
||||
|
@ -1260,7 +1260,7 @@ AutomationLine::interpolation_changed (AutomationList::InterpolationStyle style)
|
|||
}
|
||||
|
||||
void
|
||||
AutomationLine::add_visible_control_point (uint32_t view_index, uint32_t pi, double tx, double ty,
|
||||
AutomationLine::add_visible_control_point (uint32_t view_index, uint32_t pi, double tx, double ty,
|
||||
AutomationList::iterator model, uint32_t npoints)
|
||||
{
|
||||
ControlPoint::ShapeType shape;
|
||||
|
|
|
@ -169,7 +169,7 @@ protected:
|
|||
bool _our_time_converter;
|
||||
|
||||
VisibleAspects _visible;
|
||||
|
||||
|
||||
bool _uses_gain_mapping;
|
||||
bool terminal_points_can_slide;
|
||||
bool update_pending;
|
||||
|
|
|
@ -909,8 +909,8 @@ AutomationTimeAxisView::state_id() const
|
|||
if (_automatable != _route && _control) {
|
||||
return string_compose ("automation %1", _control->id().to_s());
|
||||
} else if (_parameter) {
|
||||
return string_compose ("automation %1 %2/%3/%4",
|
||||
_route->id(),
|
||||
return string_compose ("automation %1 %2/%3/%4",
|
||||
_route->id(),
|
||||
_parameter.type(),
|
||||
_parameter.id(),
|
||||
(int) _parameter.channel());
|
||||
|
|
|
@ -95,7 +95,7 @@ AxisView::set_marked_for_display (bool yn)
|
|||
}
|
||||
|
||||
GUIObjectState&
|
||||
AxisView::gui_object_state()
|
||||
AxisView::gui_object_state()
|
||||
{
|
||||
return *ARDOUR_UI::instance()->gui_object_state;
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ class AxisView : public virtual Selectable, public PBD::ScopedConnectionList, pu
|
|||
property_hashtable.emplace(property_name, s.str());
|
||||
gui_object_state().set_property<T> (state_id(), property_name, value);
|
||||
}
|
||||
|
||||
|
||||
void cleanup_gui_properties () {
|
||||
/* remove related property node from the GUI state */
|
||||
gui_object_state().remove_node (state_id());
|
||||
|
|
|
@ -33,7 +33,7 @@ using std::min;
|
|||
using std::string;
|
||||
using namespace ARDOUR_UI_UTILS;
|
||||
|
||||
BigClockWindow::BigClockWindow (AudioClock& c)
|
||||
BigClockWindow::BigClockWindow (AudioClock& c)
|
||||
: ArdourWindow (_("Big Clock"))
|
||||
, clock (c)
|
||||
{
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#include <string>
|
||||
|
||||
/** This function must do whatever is necessary to create the right runtime
|
||||
* environment for the GTK2 version of ardour, on a per-platform basis.
|
||||
* environment for the GTK2 version of ardour, on a per-platform basis.
|
||||
*/
|
||||
|
||||
void fixup_bundle_environment (int, char* [], std::string & localedir);
|
||||
|
|
|
@ -114,7 +114,7 @@ fixup_bundle_environment (int, char* [], string & localedir)
|
|||
g_setenv ("FONTCONFIG_FILE", Glib::build_filename (bundle_dir, "Resources/fonts.conf").c_str(), 1);
|
||||
}
|
||||
|
||||
void load_custom_fonts()
|
||||
void load_custom_fonts()
|
||||
{
|
||||
/* this code will only compile on OS X 10.6 and above, and we currently do not
|
||||
* need it for earlier versions since we fall back on a non-monospace,
|
||||
|
|
|
@ -112,8 +112,8 @@ fixup_bundle_environment (int /*argc*/, char* argv[], string & localedir)
|
|||
|
||||
}
|
||||
|
||||
void
|
||||
load_custom_fonts()
|
||||
void
|
||||
load_custom_fonts()
|
||||
{
|
||||
std::string ardour_mono_file;
|
||||
|
||||
|
|
|
@ -490,7 +490,7 @@ fixup_bundle_environment (int argc, char* argv[], string & localedir)
|
|||
}
|
||||
|
||||
|
||||
void load_custom_fonts()
|
||||
void load_custom_fonts()
|
||||
{
|
||||
std::string ardour_mono_file;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -132,7 +132,7 @@ ButtonJoiner::render (cairo_t* cr, cairo_rectangle_t*)
|
|||
Gtkmm2ext::rounded_top_rectangle (cr, 0, 0, (get_width() - 20.0)/2.0 , h, 8);
|
||||
cairo_fill_preserve (cr);
|
||||
|
||||
Gtkmm2ext::rounded_top_rectangle (cr, (get_width() - 20.)/2.0 + 20.0, 0.0,
|
||||
Gtkmm2ext::rounded_top_rectangle (cr, (get_width() - 20.)/2.0 + 20.0, 0.0,
|
||||
(get_width() - 20.0)/2.0 , h, 8);
|
||||
cairo_fill_preserve (cr);
|
||||
|
||||
|
@ -187,7 +187,7 @@ ButtonJoiner::set_related_action (Glib::RefPtr<Action> act)
|
|||
if (tact) {
|
||||
action_toggled ();
|
||||
tact->signal_toggled().connect (sigc::mem_fun (*this, &ButtonJoiner::action_toggled));
|
||||
}
|
||||
}
|
||||
|
||||
_action->connect_property_changed ("sensitive", sigc::mem_fun (*this, &ButtonJoiner::action_sensitivity_changed));
|
||||
_action->connect_property_changed ("visible", sigc::mem_fun (*this, &ButtonJoiner::action_visibility_changed));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -331,7 +331,7 @@ gnome_canvas_waveview_class_init (GnomeCanvasWaveViewClass *class)
|
|||
item_class->draw = gnome_canvas_waveview_draw;
|
||||
}
|
||||
|
||||
void
|
||||
void
|
||||
gnome_canvas_waveview_set_gradient_waveforms (int yn)
|
||||
{
|
||||
_gradient_rendering = yn;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -165,7 +165,7 @@ ControlPoint::move_to (double x, double y, ShapeType shape)
|
|||
}
|
||||
|
||||
ArdourCanvas::Item&
|
||||
ControlPoint::item() const
|
||||
ControlPoint::item() const
|
||||
{
|
||||
return *_item;
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ public:
|
|||
EditNoteDialog (MidiRegionView* rv, std::set<NoteBase*> n);
|
||||
|
||||
void done (int);
|
||||
|
||||
|
||||
private:
|
||||
MidiRegionView* _region_view;
|
||||
std::set<NoteBase*> _events;
|
||||
|
|
|
@ -235,7 +235,7 @@ pane_size_watcher (Paned* pane)
|
|||
|
||||
X: hard to access
|
||||
Quartz: impossible to access
|
||||
|
||||
|
||||
so stop that by preventing it from ever getting too narrow. 35
|
||||
pixels is basically a rough guess at the tab width.
|
||||
|
||||
|
@ -1014,12 +1014,12 @@ Editor::control_unselect ()
|
|||
}
|
||||
|
||||
void
|
||||
Editor::control_select (uint32_t rid, Selection::Operation op)
|
||||
Editor::control_select (uint32_t rid, Selection::Operation op)
|
||||
{
|
||||
/* handles the (static) signal from the ControlProtocol class that
|
||||
* requests setting the selected track to a given RID
|
||||
*/
|
||||
|
||||
|
||||
if (!_session) {
|
||||
return;
|
||||
}
|
||||
|
@ -1190,7 +1190,7 @@ Editor::generic_event_handler (GdkEvent* ev)
|
|||
case GDK_NOTIFY_UNKNOWN:
|
||||
case GDK_NOTIFY_INFERIOR:
|
||||
case GDK_NOTIFY_ANCESTOR:
|
||||
break;
|
||||
break;
|
||||
case GDK_NOTIFY_VIRTUAL:
|
||||
case GDK_NOTIFY_NONLINEAR:
|
||||
case GDK_NOTIFY_NONLINEAR_VIRTUAL:
|
||||
|
@ -3068,7 +3068,7 @@ Editor::setup_toolbar ()
|
|||
&_zoom_tearoff->tearoff_window()));
|
||||
_zoom_tearoff->Visible.connect (sigc::bind (sigc::mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&toolbar_hbox),
|
||||
&_zoom_tearoff->tearoff_window(), 0));
|
||||
}
|
||||
}
|
||||
|
||||
if (Profile->get_sae() || Profile->get_mixbus() ) {
|
||||
_zoom_tearoff->set_can_be_torn_off (false);
|
||||
|
@ -3600,7 +3600,7 @@ Editor::duplicate_range (bool with_dialog)
|
|||
} else if (get_smart_mode()) {
|
||||
if (selection->time.length()) {
|
||||
duplicate_selection (times);
|
||||
} else
|
||||
} else
|
||||
duplicate_some_regions (rs, times);
|
||||
} else {
|
||||
duplicate_some_regions (rs, times);
|
||||
|
@ -3803,7 +3803,7 @@ Editor::set_visible_track_count (int32_t n)
|
|||
h = trackviews_height() / n;
|
||||
str = _("All");
|
||||
} else {
|
||||
/* negative value means that the visible track count has
|
||||
/* negative value means that the visible track count has
|
||||
been overridden by explicit track height changes.
|
||||
*/
|
||||
visible_tracks_selector.set_text (X_("*"));
|
||||
|
@ -3967,8 +3967,8 @@ Editor::pane_allocation_handler (Allocation &alloc, Paned* which)
|
|||
void
|
||||
Editor::detach_tearoff (Box* /*b*/, Window* /*w*/)
|
||||
{
|
||||
if ((_tools_tearoff->torn_off() || !_tools_tearoff->visible()) &&
|
||||
(_mouse_mode_tearoff->torn_off() || !_mouse_mode_tearoff->visible()) &&
|
||||
if ((_tools_tearoff->torn_off() || !_tools_tearoff->visible()) &&
|
||||
(_mouse_mode_tearoff->torn_off() || !_mouse_mode_tearoff->visible()) &&
|
||||
(_zoom_tearoff && (_zoom_tearoff->torn_off() || !_zoom_tearoff->visible()))) {
|
||||
top_hbox.remove (toolbar_frame);
|
||||
}
|
||||
|
@ -3998,7 +3998,7 @@ Editor::set_show_measures (bool yn)
|
|||
|
||||
compute_current_bbt_points (leftmost_frame, leftmost_frame + current_page_samples(), begin, end);
|
||||
draw_measures (begin, end);
|
||||
}
|
||||
}
|
||||
|
||||
instant_save ();
|
||||
}
|
||||
|
@ -4911,7 +4911,7 @@ Editor::get_regions_from_selection_and_edit_point ()
|
|||
if (!tracks.empty()) {
|
||||
/* no region selected or entered, but some selected tracks:
|
||||
* act on all regions on the selected tracks at the edit point
|
||||
*/
|
||||
*/
|
||||
framepos_t const where = get_preferred_edit_position ();
|
||||
get_regions_at(regions, where, tracks);
|
||||
}
|
||||
|
@ -4948,7 +4948,7 @@ Editor::get_regions_from_selection_and_mouse (framepos_t pos)
|
|||
if (!tracks.empty()) {
|
||||
/* no region selected or entered, but some selected tracks:
|
||||
* act on all regions on the selected tracks at the edit point
|
||||
*/
|
||||
*/
|
||||
get_regions_at(regions, pos, tracks);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -809,7 +809,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
|||
Gtk::VBox time_bars_vbox;
|
||||
|
||||
ArdourCanvas::Pixbuf *logo_item;
|
||||
#if 0
|
||||
#if 0
|
||||
/* these will be needed when we have canvas rulers */
|
||||
ArdourCanvas::Container *minsec_group;
|
||||
ArdourCanvas::Container *bbt_group;
|
||||
|
@ -1703,7 +1703,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
|||
void remove_metric_marks ();
|
||||
void draw_metric_marks (const ARDOUR::Metrics& metrics);
|
||||
|
||||
void compute_current_bbt_points (framepos_t left, framepos_t right,
|
||||
void compute_current_bbt_points (framepos_t left, framepos_t right,
|
||||
ARDOUR::TempoMap::BBTPointList::const_iterator& begin,
|
||||
ARDOUR::TempoMap::BBTPointList::const_iterator& end);
|
||||
|
||||
|
|
|
@ -725,7 +725,7 @@ Editor::register_actions ()
|
|||
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
|
||||
tact->set_active (true);
|
||||
|
||||
ActionManager::register_action (editor_actions, X_("toggle-midi-input-active"), _("Toggle MIDI Input Active for Editor-Selected Tracks/Busses"),
|
||||
ActionManager::register_action (editor_actions, X_("toggle-midi-input-active"), _("Toggle MIDI Input Active for Editor-Selected Tracks/Busses"),
|
||||
sigc::bind (sigc::mem_fun (*this, &Editor::toggle_midi_input_active), false));
|
||||
|
||||
ActionManager::add_action_group (rl_actions);
|
||||
|
|
|
@ -110,7 +110,7 @@ Editor::external_audio_dialog ()
|
|||
if (atv) {
|
||||
if (atv->is_audio_track()) {
|
||||
audio_track_cnt++;
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
MidiTimeAxisView* mtv = dynamic_cast<MidiTimeAxisView*>(*x);
|
||||
|
@ -628,7 +628,7 @@ Editor::embed_sndfiles (vector<string> paths,
|
|||
|
||||
source = boost::dynamic_pointer_cast<AudioFileSource> (
|
||||
SourceFactory::createExternal (DataType::AUDIO, *_session,
|
||||
path, n,
|
||||
path, n,
|
||||
(mode == ImportAsTapeTrack
|
||||
? Source::Destructive
|
||||
: Source::Flag (0)),
|
||||
|
|
|
@ -78,7 +78,7 @@ Editor::initialize_canvas ()
|
|||
*/
|
||||
no_scroll_group = new ArdourCanvas::Container (_track_canvas->root());
|
||||
|
||||
ArdourCanvas::ScrollGroup* hsg;
|
||||
ArdourCanvas::ScrollGroup* hsg;
|
||||
ArdourCanvas::ScrollGroup* hg;
|
||||
ArdourCanvas::ScrollGroup* cg;
|
||||
|
||||
|
@ -86,7 +86,7 @@ Editor::initialize_canvas ()
|
|||
CANVAS_DEBUG_NAME (h_scroll_group, "canvas h scroll");
|
||||
_track_canvas->add_scroller (*hg);
|
||||
|
||||
hv_scroll_group = hsg = new ArdourCanvas::ScrollGroup (_track_canvas->root(),
|
||||
hv_scroll_group = hsg = new ArdourCanvas::ScrollGroup (_track_canvas->root(),
|
||||
ArdourCanvas::ScrollGroup::ScrollSensitivity (ArdourCanvas::ScrollGroup::ScrollsVertically|
|
||||
ArdourCanvas::ScrollGroup::ScrollsHorizontally));
|
||||
CANVAS_DEBUG_NAME (hv_scroll_group, "canvas hv scroll");
|
||||
|
@ -136,7 +136,7 @@ Editor::initialize_canvas ()
|
|||
/* a group to hold stuff while it gets dragged around. Must be the
|
||||
* uppermost (last) group with hv_scroll_group as a parent
|
||||
*/
|
||||
_drag_motion_group = new ArdourCanvas::Container (hv_scroll_group);
|
||||
_drag_motion_group = new ArdourCanvas::Container (hv_scroll_group);
|
||||
CANVAS_DEBUG_NAME (_drag_motion_group, "Canvas Drag Motion");
|
||||
|
||||
/* TIME BAR CANVAS */
|
||||
|
@ -539,16 +539,16 @@ Editor::maybe_autoscroll (bool allow_horiz, bool allow_vert, bool from_headers)
|
|||
|
||||
/* the effective width of the autoscroll boundary so
|
||||
that we start scrolling before we hit the edge.
|
||||
|
||||
|
||||
this helps when the window is slammed up against the
|
||||
right edge of the screen, making it hard to scroll
|
||||
effectively.
|
||||
*/
|
||||
|
||||
if (alloc.get_width() > 20) {
|
||||
if (alloc.get_width() > 20) {
|
||||
alloc.set_width (alloc.get_width() - 20);
|
||||
alloc.set_x (alloc.get_x() + 10);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -633,7 +633,7 @@ Editor::autoscroll_canvas ()
|
|||
// const double vertical_pos = vertical_adjustment.get_value();
|
||||
const int speed_factor = 10;
|
||||
|
||||
/* vertical */
|
||||
/* vertical */
|
||||
|
||||
if (y < autoscroll_boundary.y0) {
|
||||
|
||||
|
@ -675,7 +675,7 @@ Editor::autoscroll_canvas ()
|
|||
/* the motion handler expects events in canvas coordinate space */
|
||||
|
||||
/* we asked for the mouse position above (::get_pointer()) via
|
||||
* our own top level window (we being the Editor). Convert into
|
||||
* our own top level window (we being the Editor). Convert into
|
||||
* coordinates within the canvas window.
|
||||
*/
|
||||
|
||||
|
@ -704,7 +704,7 @@ Editor::autoscroll_canvas ()
|
|||
} else if (no_stop) {
|
||||
|
||||
/* not changing visual state but pointer is outside the scrolling boundary
|
||||
* so we still need to deliver a fake motion event
|
||||
* so we still need to deliver a fake motion event
|
||||
*/
|
||||
|
||||
GdkEventMotion ev;
|
||||
|
@ -828,7 +828,7 @@ Editor::ensure_time_axis_view_is_visible (TimeAxisView const & track, bool at_to
|
|||
double const track_min_y = track.y_position ();
|
||||
double const track_max_y = track.y_position () + track.effective_height ();
|
||||
|
||||
if (!at_top &&
|
||||
if (!at_top &&
|
||||
(track_min_y >= current_view_min_y &&
|
||||
track_max_y < current_view_max_y)) {
|
||||
/* already visible, and caller did not ask to place it at the
|
||||
|
@ -948,7 +948,7 @@ Editor::color_handler()
|
|||
/* redraw the whole thing */
|
||||
_track_canvas->set_background_color (UIConfiguration::instance().color ("arrange base"));
|
||||
_track_canvas->queue_draw ();
|
||||
|
||||
|
||||
/*
|
||||
redisplay_tempo (true);
|
||||
|
||||
|
@ -1147,7 +1147,7 @@ Editor::which_mode_cursor () const
|
|||
|
||||
hv_scroll_group->add_items_at_point (ArdourCanvas::Duple (x,y), items);
|
||||
|
||||
// first item will be the upper most
|
||||
// first item will be the upper most
|
||||
|
||||
if (!items.empty()) {
|
||||
const ArdourCanvas::Item* i = items.front();
|
||||
|
|
|
@ -329,7 +329,7 @@ Editor::canvas_wave_view_event (GdkEvent *event, ArdourCanvas::Item* item, Regio
|
|||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
|
@ -1233,8 +1233,8 @@ Editor::track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const& context,
|
|||
(boost::dynamic_pointer_cast<MidiRegion> (region) != 0 &&
|
||||
dynamic_cast<MidiTimeAxisView*> (tv.first) != 0)) {
|
||||
|
||||
/* audio to audio
|
||||
OR
|
||||
/* audio to audio
|
||||
OR
|
||||
midi to midi
|
||||
*/
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ EditorCursor::EditorCursor (Editor& ed)
|
|||
_track_canvas_item->set_ignore_events (true);
|
||||
|
||||
_track_canvas_item->set_x (0);
|
||||
|
||||
|
||||
_current_frame = 1; /* force redraw at 0 */
|
||||
}
|
||||
|
||||
|
|
|
@ -404,7 +404,7 @@ Drag::motion_handler (GdkEvent* event, bool from_autoscroll)
|
|||
_initially_vertical = false;
|
||||
}
|
||||
/** check constraints for this drag.
|
||||
* Note that the current convention is to use "contains" for
|
||||
* Note that the current convention is to use "contains" for
|
||||
* key modifiers during motion and "equals" when initiating a drag.
|
||||
* In this case we haven't moved yet, so "equals" applies here.
|
||||
*/
|
||||
|
@ -882,7 +882,7 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
|
|||
|
||||
}
|
||||
/* for automation lanes, there is a TimeAxisView but no ->view()
|
||||
* if (!tv) -> dropzone
|
||||
* if (!tv) -> dropzone
|
||||
*/
|
||||
else if (!tv && cur_y >= 0 && _last_pointer_time_axis_view >= 0) {
|
||||
/* Moving into the drop-zone.. */
|
||||
|
@ -1181,7 +1181,7 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
|
|||
* We do not use negative _last_pointer_time_axis_view because
|
||||
* the dropzone is "packed" (the actual track offset is ignored)
|
||||
*
|
||||
* As opposed to the actual number
|
||||
* As opposed to the actual number
|
||||
* of elements in the dropzone (_ndropzone)
|
||||
* _pdropzone is not constrained. This is necessary
|
||||
* to allow moving multiple regions with y-distance
|
||||
|
|
|
@ -85,7 +85,7 @@ bool
|
|||
Editor::mouse_frame (framepos_t& where, bool& in_track_canvas) const
|
||||
{
|
||||
/* gdk_window_get_pointer() has X11's XQueryPointer semantics in that it only
|
||||
pays attentions to subwindows. this means that menu windows are ignored, and
|
||||
pays attentions to subwindows. this means that menu windows are ignored, and
|
||||
if the pointer is in a menu, the return window from the call will be the
|
||||
the regular subwindow *under* the menu.
|
||||
|
||||
|
@ -349,7 +349,7 @@ Editor::update_time_selection_display ()
|
|||
break;
|
||||
case MouseContent:
|
||||
/* This handles internal edit.
|
||||
Clear everything except points and notes.
|
||||
Clear everything except points and notes.
|
||||
*/
|
||||
selection->clear_regions();
|
||||
selection->clear_lines();
|
||||
|
@ -665,7 +665,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
|||
Editing::MouseMode eff = effective_mouse_mode ();
|
||||
|
||||
/* special case: allow drag of region fade in/out in object mode with join object/range enabled */
|
||||
if (get_smart_mode()) {
|
||||
if (get_smart_mode()) {
|
||||
switch (item_type) {
|
||||
case FadeInHandleItem:
|
||||
case FadeInTrimHandleItem:
|
||||
|
@ -823,7 +823,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
|||
|
||||
case StartCrossFadeItem:
|
||||
case EndCrossFadeItem:
|
||||
/* we might allow user to grab inside the fade to trim a region with preserve_fade_anchor. for not this is not fully implemented */
|
||||
/* we might allow user to grab inside the fade to trim a region with preserve_fade_anchor. for not this is not fully implemented */
|
||||
// if (!clicked_regionview->region()->locked()) {
|
||||
// _drags->set (new TrimDrag (this, item, clicked_regionview, selection->regions.by_layer(), true), event);
|
||||
// return true;
|
||||
|
@ -1106,7 +1106,7 @@ Editor::button_press_handler_2 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
Editor::button_press_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_type)
|
||||
{
|
||||
|
@ -1204,14 +1204,14 @@ Editor::button_release_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
|||
if (!Keyboard::is_context_menu_event (&event->button)) {
|
||||
|
||||
/* see if we're finishing a drag */
|
||||
|
||||
|
||||
if (_drags->active ()) {
|
||||
bool const r = _drags->end_grab (event);
|
||||
if (r) {
|
||||
/* grab dragged, so do nothing else */
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
were_dragging = true;
|
||||
}
|
||||
|
||||
|
@ -1580,7 +1580,7 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
|
|||
bool ret = true;
|
||||
|
||||
/* by the time we reach here, entered_regionview and entered trackview
|
||||
* will have already been set as appropriate. Things are done this
|
||||
* will have already been set as appropriate. Things are done this
|
||||
* way because this method isn't passed a pointer to a variable type of
|
||||
* thing that is entered (which may or may not be canvas item).
|
||||
* (e.g. the actual entered regionview)
|
||||
|
@ -1720,7 +1720,7 @@ Editor::leave_handler (ArdourCanvas::Item* item, GdkEvent*, ItemType item_type)
|
|||
|
||||
switch (item_type) {
|
||||
case ControlPointItem:
|
||||
_verbose_cursor->hide ();
|
||||
_verbose_cursor->hide ();
|
||||
break;
|
||||
|
||||
case GainLineItem:
|
||||
|
|
|
@ -657,8 +657,8 @@ Editor::sequence_regions ()
|
|||
if (in_command) {
|
||||
commit_reversible_command ();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* DISPLAY MOTION */
|
||||
|
@ -1508,7 +1508,7 @@ Editor::scroll_up_one_track (bool skip_child_views)
|
|||
continue;
|
||||
}
|
||||
|
||||
/* find the trackview at the top of the trackview group
|
||||
/* find the trackview at the top of the trackview group
|
||||
*
|
||||
* Note that covers_y_position() is recursive and includes child views
|
||||
*/
|
||||
|
@ -1521,7 +1521,7 @@ Editor::scroll_up_one_track (bool skip_child_views)
|
|||
/* automation lane (one level, non-recursive)
|
||||
*
|
||||
* - if no automation lane exists -> move to prev tack
|
||||
* - if no y-axis match is found -> the current track is at the top -> move to prev track
|
||||
* - if no y-axis match is found -> the current track is at the top -> move to prev track
|
||||
* (actually last automation lane of previous track, see below)
|
||||
* - if first (top-most) lane is at the top -> move to this track
|
||||
* - else move up one lane
|
||||
|
@ -1678,7 +1678,7 @@ Editor::temporal_zoom (framecnt_t fpp)
|
|||
return;
|
||||
}
|
||||
|
||||
// Imposing an arbitrary limit to zoom out as too much zoom out produces
|
||||
// Imposing an arbitrary limit to zoom out as too much zoom out produces
|
||||
// segfaults for lack of memory. If somebody decides this is not high enough I
|
||||
// believe it can be raisen to higher values but some limit must be in place.
|
||||
//
|
||||
|
@ -1891,7 +1891,7 @@ Editor::get_selection_extents ( framepos_t &start, framepos_t &end )
|
|||
} else if (!selection->time.empty()) {
|
||||
start = selection->time.start();
|
||||
end = selection->time.end_frame();
|
||||
} else
|
||||
} else
|
||||
ret = false; //no selection found
|
||||
|
||||
//range check
|
||||
|
@ -2543,12 +2543,12 @@ Editor::maybe_locate_with_edit_preroll ( framepos_t location )
|
|||
location -= get_preroll();
|
||||
|
||||
//don't try to locate before the beginning of time
|
||||
if ( location < 0 )
|
||||
if ( location < 0 )
|
||||
location = 0;
|
||||
|
||||
//if follow_playhead is on, keep the playhead on the screen
|
||||
if ( _follow_playhead )
|
||||
if ( location < leftmost_frame )
|
||||
if ( location < leftmost_frame )
|
||||
location = leftmost_frame;
|
||||
|
||||
_session->request_locate( location );
|
||||
|
@ -4622,7 +4622,7 @@ Editor::cut_copy_ranges (CutCopyOp op)
|
|||
return;
|
||||
}
|
||||
ts.push_back (entered_track);
|
||||
}
|
||||
}
|
||||
|
||||
for (TrackViewList::iterator i = ts.begin(); i != ts.end(); ++i) {
|
||||
(*i)->cut_copy_clear (*selection, op);
|
||||
|
@ -7408,7 +7408,7 @@ Editor::do_remove_time ()
|
|||
}
|
||||
|
||||
void
|
||||
Editor::remove_time (framepos_t pos, framecnt_t frames, InsertTimeOption opt,
|
||||
Editor::remove_time (framepos_t pos, framecnt_t frames, InsertTimeOption opt,
|
||||
bool ignore_music_glue, bool markers_too, bool glued_markers_too, bool locked_markers_too, bool tempo_too)
|
||||
{
|
||||
if (Config->get_edit_mode() == Lock) {
|
||||
|
@ -7596,9 +7596,9 @@ Editor::fit_tracks (TrackViewList & tracks)
|
|||
|
||||
/* compute the per-track height from:
|
||||
|
||||
total canvas visible height -
|
||||
total canvas visible height -
|
||||
height that will be taken by visible children of selected
|
||||
tracks - height of the ruler/hscroll area
|
||||
tracks - height of the ruler/hscroll area
|
||||
*/
|
||||
uint32_t h = (uint32_t) floor ((trackviews_height() - child_heights) / visible_tracks);
|
||||
double first_y_pos = DBL_MAX;
|
||||
|
|
|
@ -135,7 +135,7 @@ EditorRegions::EditorRegions (Editor* e)
|
|||
if (ci[i].index > 6) {
|
||||
col->set_expand (false);
|
||||
col->set_alignment (ALIGN_CENTER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_display.set_headers_visible (true);
|
||||
|
|
|
@ -244,12 +244,12 @@ EditorRouteGroups::button_press_event (GdkEventButton* ev)
|
|||
|
||||
if (iter) {
|
||||
group = (*iter)[_columns.routegroup];
|
||||
}
|
||||
}
|
||||
|
||||
if (Keyboard::is_context_menu_event (ev)) {
|
||||
_editor->_group_tabs->get_menu(group)->popup (1, ev->time);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!p) {
|
||||
/* cancel selection */
|
||||
|
@ -262,7 +262,7 @@ EditorRouteGroups::button_press_event (GdkEventButton* ev)
|
|||
group = (*iter)[_columns.routegroup];
|
||||
|
||||
switch (GPOINTER_TO_UINT (column->get_data (X_("colnum")))) {
|
||||
case 0:
|
||||
case 0:
|
||||
c = (*iter)[_columns.gdkcolor];
|
||||
color_dialog.get_colorsel()->set_previous_color (c);
|
||||
color_dialog.get_colorsel()->set_current_color (c);
|
||||
|
|
|
@ -742,7 +742,7 @@ Editor::set_timecode_ruler_scale (framepos_t lower, framepos_t upper)
|
|||
return;
|
||||
}
|
||||
|
||||
fr = _session->frame_rate();
|
||||
fr = _session->frame_rate();
|
||||
|
||||
if (lower > (spacer = (framepos_t) (128 * Editor::get_current_zoom ()))) {
|
||||
lower = lower - spacer;
|
||||
|
@ -816,7 +816,7 @@ Editor::set_timecode_ruler_scale (framepos_t lower, framepos_t upper)
|
|||
} else if (range <= 8 * 60 * 60 * fr) { /* 4 - 8 hrs*/
|
||||
timecode_ruler_scale = timecode_show_hours;
|
||||
timecode_mark_modulo = 1;
|
||||
timecode_nmarks = 2 + 8;
|
||||
timecode_nmarks = 2 + 8;
|
||||
} else if (range <= 16 * 60 * 60 * fr) { /* 16-24 hrs*/
|
||||
timecode_ruler_scale = timecode_show_hours;
|
||||
timecode_mark_modulo = 1;
|
||||
|
@ -832,7 +832,7 @@ Editor::set_timecode_ruler_scale (framepos_t lower, framepos_t upper)
|
|||
|
||||
But in this case, where the range defined by lower and uppper can vary
|
||||
substantially (basically anything from 24hrs+ to several billion years)
|
||||
trying to decide which tick marks to show does require us to know
|
||||
trying to decide which tick marks to show does require us to know
|
||||
about the available width.
|
||||
*/
|
||||
|
||||
|
@ -1002,7 +1002,7 @@ Editor::metric_get_timecode (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdou
|
|||
mark.position = pos;
|
||||
marks.push_back (mark);
|
||||
++n;
|
||||
}
|
||||
}
|
||||
/* can't use Timecode::increment_hours() here because we may be traversing thousands of hours
|
||||
and doing it 1 hour at a time is just stupid (and slow).
|
||||
*/
|
||||
|
@ -1147,7 +1147,7 @@ Editor::compute_bbt_ruler_scale (framepos_t lower, framepos_t upper,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
edit_last_mark_label (std::vector<ArdourCanvas::Ruler::Mark>& marks, const std::string& newlabel)
|
||||
{
|
||||
ArdourCanvas::Ruler::Mark copy = marks.back();
|
||||
|
@ -1798,7 +1798,7 @@ Editor::set_minsec_ruler_scale (framepos_t lower, framepos_t upper)
|
|||
|
||||
But in this case, where the range defined by lower and uppper can vary
|
||||
substantially (anything from 24hrs+ to several billion years)
|
||||
trying to decide which tick marks to show does require us to know
|
||||
trying to decide which tick marks to show does require us to know
|
||||
about the available width.
|
||||
*/
|
||||
|
||||
|
@ -1853,7 +1853,7 @@ Editor::metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdoubl
|
|||
marks.push_back (mark);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case minsec_show_seconds:
|
||||
for (n = 0; n < minsec_nmarks; pos += minsec_mark_interval, ++n) {
|
||||
sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
|
||||
|
@ -1909,7 +1909,7 @@ Editor::metric_get_minsec (std::vector<ArdourCanvas::Ruler::Mark>& marks, gdoubl
|
|||
marks.push_back (mark);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case minsec_show_many_hours:
|
||||
for (n = 0; n < minsec_nmarks; ) {
|
||||
sample_to_clock_parts (pos, _session->frame_rate(), &hrs, &mins, &secs, &millisecs);
|
||||
|
|
|
@ -241,7 +241,7 @@ EditorSummary::render (cairo_t* cr, cairo_rectangle_t*)
|
|||
|
||||
int32_t width = _view_rectangle_x.second - _view_rectangle_x.first;
|
||||
int32_t height = _view_rectangle_y.second - _view_rectangle_y.first;
|
||||
cairo_rectangle (cr, _view_rectangle_x.first, _view_rectangle_y.first, width, height);
|
||||
cairo_rectangle (cr, _view_rectangle_x.first, _view_rectangle_y.first, width, height);
|
||||
cairo_set_source_rgba (cr, 1, 1, 1, 0.1);
|
||||
cairo_fill_preserve (cr);
|
||||
cairo_set_line_width (cr, 1);
|
||||
|
@ -352,7 +352,7 @@ EditorSummary::centre_on_click (GdkEventButton* ev)
|
|||
set_editor (ex, ey);
|
||||
}
|
||||
|
||||
bool
|
||||
bool
|
||||
EditorSummary::on_enter_notify_event (GdkEventCrossing*)
|
||||
{
|
||||
grab_focus ();
|
||||
|
@ -360,7 +360,7 @@ EditorSummary::on_enter_notify_event (GdkEventCrossing*)
|
|||
return false;
|
||||
}
|
||||
|
||||
bool
|
||||
bool
|
||||
EditorSummary::on_leave_notify_event (GdkEventCrossing*)
|
||||
{
|
||||
/* there are no inferior/child windows, so any leave event means that
|
||||
|
@ -489,7 +489,7 @@ EditorSummary::get_editor (pair<double, double>* x, pair<double, double>* y) con
|
|||
/* We are dragging, and configured not to update the editor window during drags,
|
||||
so just return where the editor will be when the drag finishes.
|
||||
*/
|
||||
|
||||
|
||||
*x = _pending_editor_x;
|
||||
*y = _pending_editor_y;
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ private:
|
|||
TO_LEFT_OR_RIGHT,
|
||||
OTHERWISE_OUTSIDE
|
||||
};
|
||||
|
||||
|
||||
void on_size_request (Gtk::Requisition *);
|
||||
bool on_button_press_event (GdkEventButton *);
|
||||
bool on_button_release_event (GdkEventButton *);
|
||||
|
@ -69,8 +69,8 @@ private:
|
|||
bool on_scroll_event (GdkEventScroll *);
|
||||
bool on_key_press_event (GdkEventKey*);
|
||||
bool on_key_release_event (GdkEventKey*);
|
||||
bool on_enter_notify_event (GdkEventCrossing*);
|
||||
bool on_leave_notify_event (GdkEventCrossing*);
|
||||
bool on_enter_notify_event (GdkEventCrossing*);
|
||||
bool on_leave_notify_event (GdkEventCrossing*);
|
||||
|
||||
void centre_on_click (GdkEventButton *);
|
||||
void render (cairo_t *, cairo_rectangle_t*);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -280,7 +280,7 @@ ExportDialog::do_export ()
|
|||
handler->soundcloud_downloadable = soundcloud_selector->downloadable ();
|
||||
|
||||
handler->SoundcloudProgress.connect_same_thread(
|
||||
*this,
|
||||
*this,
|
||||
boost::bind(&ExportDialog::soundcloud_upload_progress, this, _1, _2, _3)
|
||||
);
|
||||
#if 0
|
||||
|
|
|
@ -44,7 +44,7 @@ namespace ARDOUR {
|
|||
class ExportTimespanSelector;
|
||||
class ExportChannelSelector;
|
||||
|
||||
class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
|
||||
class ExportDialog : public ArdourDialog, public PBD::ScopedConnectionList
|
||||
{
|
||||
|
||||
public:
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#ifdef CARBON_FLAT_HEADERS
|
||||
#include "MacTypes.h"
|
||||
#else
|
||||
#include "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"
|
||||
#include "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"
|
||||
#endif
|
||||
#undef Style
|
||||
#undef Fixed
|
||||
|
|
|
@ -70,7 +70,7 @@ FloatingTextEntry::entry_focus_out (GdkEventFocus* ev)
|
|||
if (entry_changed) {
|
||||
use_text (entry.get_text ());
|
||||
}
|
||||
|
||||
|
||||
delete_when_idle ( this);
|
||||
return false;
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ FloatingTextEntry::button_press (GdkEventButton* ev)
|
|||
if (entry_changed) {
|
||||
use_text (entry.get_text ());
|
||||
}
|
||||
|
||||
|
||||
delete_when_idle ( this);
|
||||
|
||||
return false;
|
||||
|
@ -123,8 +123,8 @@ FloatingTextEntry::on_hide ()
|
|||
{
|
||||
entry.remove_modal_grab ();
|
||||
|
||||
/* No hide button is shown (no decoration on the window),
|
||||
so being hidden is equivalent to the Escape key or any other
|
||||
/* No hide button is shown (no decoration on the window),
|
||||
so being hidden is equivalent to the Escape key or any other
|
||||
method of cancelling the edit.
|
||||
*/
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
|
|||
peak_display.set_alignment(0.5);
|
||||
|
||||
/* stuff related to the fact that the peak display is not, in
|
||||
fact, supposed to be a text entry.
|
||||
fact, supposed to be a text entry.
|
||||
*/
|
||||
peak_display.set_events (peak_display.get_events() & ~(Gdk::EventMask (Gdk::LEAVE_NOTIFY_MASK|Gdk::ENTER_NOTIFY_MASK|Gdk::POINTER_MOTION_MASK)));
|
||||
peak_display.signal_map().connect (sigc::bind (sigc::ptr_fun (reset_cursor_to_default), &peak_display));
|
||||
|
|
|
@ -193,7 +193,7 @@ std::size_t length, n = 0;
|
|||
if (!match_or_digit(s1[n], s2[n]))
|
||||
break;
|
||||
n++;
|
||||
}
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
|
@ -206,7 +206,7 @@ std::size_t s1pos, s2pos, n = 0;
|
|||
if (!match_or_digit(s1[s1pos], s2[s2pos]) )
|
||||
break;
|
||||
n++;
|
||||
}
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
|
@ -389,12 +389,12 @@ GenericPluginUI::build ()
|
|||
if (i > 0) {
|
||||
// A hand-wavy calculation of how similar this control's
|
||||
// label is to the previous.
|
||||
similarity_scores[i] =
|
||||
(float) (
|
||||
( matching_chars_at_head(label, previous_label) +
|
||||
similarity_scores[i] =
|
||||
(float) (
|
||||
( matching_chars_at_head(label, previous_label) +
|
||||
matching_chars_at_tail(label, previous_label) +
|
||||
1
|
||||
)
|
||||
1
|
||||
)
|
||||
) / (label.length() + previous_label.length());
|
||||
if (numbers_in_labels[i] >= 0) {
|
||||
similarity_scores[i] += (numbers_in_labels[i] == numbers_in_labels[i-1]);
|
||||
|
@ -406,7 +406,7 @@ GenericPluginUI::build ()
|
|||
}
|
||||
|
||||
// cerr << "label: " << label << " sim: " << fixed << setprecision(3) << similarity_scores[i] << " num: " << numbers_in_labels[i] << endl;
|
||||
previous_label = label;
|
||||
previous_label = label;
|
||||
}
|
||||
|
||||
|
||||
|
@ -420,7 +420,7 @@ GenericPluginUI::build ()
|
|||
}
|
||||
|
||||
// Now iterate over the list of controls to display them, placing an
|
||||
// HSeparator between controls of less than a certain similarity, and
|
||||
// HSeparator between controls of less than a certain similarity, and
|
||||
// starting a new column when necessary.
|
||||
|
||||
i = 0;
|
||||
|
@ -829,7 +829,7 @@ GenericPluginUI::astate_clicked (ControlUI* cui)
|
|||
automation_menu->popup (1, gtk_get_current_event_time());
|
||||
}
|
||||
|
||||
void
|
||||
void
|
||||
GenericPluginUI::set_all_automation (AutoState as)
|
||||
{
|
||||
for (vector<ControlUI*>::iterator i = input_controls_with_automation.begin(); i != input_controls_with_automation.end(); ++i) {
|
||||
|
|
|
@ -75,7 +75,7 @@ public:
|
|||
public:
|
||||
GhostEvent(::NoteBase *, ArdourCanvas::Container *);
|
||||
virtual ~GhostEvent ();
|
||||
|
||||
|
||||
NoteBase* event;
|
||||
ArdourCanvas::Item* item;
|
||||
};
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -88,7 +88,7 @@ GUIObjectState::remove_node (const std::string& id)
|
|||
* @return value of property `prop_name', or empty.
|
||||
*/
|
||||
|
||||
string
|
||||
string
|
||||
GUIObjectState::get_string (const string& id, const string& prop_name, bool* empty)
|
||||
{
|
||||
XMLNode* child = get_node (&_state, id);
|
||||
|
|
|
@ -47,13 +47,13 @@ public:
|
|||
s << val;
|
||||
child->add_property (prop_name.c_str(), s.str());
|
||||
}
|
||||
|
||||
|
||||
std::list<std::string> all_ids () const;
|
||||
|
||||
static XMLNode* get_node (const XMLNode *, const std::string &);
|
||||
XMLNode* get_or_add_node (const std::string &);
|
||||
static XMLNode* get_or_add_node (XMLNode *, const std::string &);
|
||||
|
||||
|
||||
void remove_node (const std::string& id);
|
||||
|
||||
private:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
using namespace ARDOUR;
|
||||
using namespace ArdourCanvas;
|
||||
|
||||
Hit::Hit (MidiRegionView& region, Item* parent, double size, const boost::shared_ptr<NoteType> note, bool with_events)
|
||||
Hit::Hit (MidiRegionView& region, Item* parent, double size, const boost::shared_ptr<NoteType> note, bool with_events)
|
||||
: NoteBase (region, with_events, note)
|
||||
{
|
||||
_polygon = new ArdourCanvas::Polygon (parent);
|
||||
|
|
|
@ -242,7 +242,7 @@ ArdourKeyboard::set_state (const XMLNode& node, int version)
|
|||
return Keyboard::set_state (node, version);
|
||||
}
|
||||
|
||||
/* Snap and snap delta modifiers may contain each other, so we use the
|
||||
/* Snap and snap delta modifiers may contain each other, so we use the
|
||||
* following two methods to sort that out:
|
||||
*/
|
||||
bool
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Based on code by Paul Davis, Torben Hohn as part of FST
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
@ -146,13 +146,13 @@ long getXWindowProperty(Window window, Atom atom)
|
|||
|
||||
XErrorHandler olderrorhandler = XSetErrorHandler(TempErrorHandler);
|
||||
|
||||
XGetWindowProperty( LXVST_XDisplay,
|
||||
window,
|
||||
XGetWindowProperty( LXVST_XDisplay,
|
||||
window,
|
||||
atom,
|
||||
0,
|
||||
2,
|
||||
false,
|
||||
AnyPropertyType,
|
||||
AnyPropertyType,
|
||||
&userType,
|
||||
&userSize,
|
||||
&userCount,
|
||||
|
@ -195,7 +195,7 @@ dispatch_x_events (XEvent* event, VSTState* vstfx)
|
|||
when opening a preset manager (you might think that should be spawned as a new window...) */
|
||||
|
||||
/*if the size has changed, we flag this so that in lxvst_pluginui.cc we can make the
|
||||
change to the GTK parent window in ardour, from its UI thread*/
|
||||
change to the GTK parent window in ardour, from its UI thread*/
|
||||
|
||||
if (window == (Window) (vstfx->linux_window)) {
|
||||
if (width != vstfx->width || height!=vstfx->height) {
|
||||
|
@ -317,7 +317,7 @@ maybe_set_program (VSTState* vstfx)
|
|||
vstfx->plugin->dispatcher (vstfx->plugin, 68 /* effEndSetProgram */, 0, 0, NULL, 0);
|
||||
}
|
||||
|
||||
vstfx->want_program = -1;
|
||||
vstfx->want_program = -1;
|
||||
}
|
||||
|
||||
if (vstfx->want_chunk == 1) {
|
||||
|
@ -342,7 +342,7 @@ void* gui_event_loop (void* ptr)
|
|||
|
||||
while (!gui_quit)
|
||||
{
|
||||
/* handle window creation requests, destroy requests,
|
||||
/* handle window creation requests, destroy requests,
|
||||
and run idle callbacks */
|
||||
|
||||
/*Look at the XEvent queue - if there are any XEvents we need to handle them,
|
||||
|
@ -395,7 +395,7 @@ void* gui_event_loop (void* ptr)
|
|||
{
|
||||
//printf("elapsed %d ms ^= %.2f Hz\n", elapsed_time_ms, 1000.0/(double)elapsed_time_ms); // DEBUG
|
||||
pthread_mutex_lock (&plugin_mutex);
|
||||
|
||||
|
||||
again:
|
||||
/*Parse through the linked list of plugins*/
|
||||
|
||||
|
@ -421,7 +421,7 @@ again:
|
|||
pthread_mutex_unlock (&vstfx->lock);
|
||||
|
||||
goto again;
|
||||
}
|
||||
}
|
||||
|
||||
/*Window does not yet exist - scheduled for creation*/
|
||||
|
||||
|
@ -446,7 +446,7 @@ again:
|
|||
|
||||
if (vstfx->dispatcher_wantcall) {
|
||||
vstfx->dispatcher_retval = vstfx->plugin->dispatcher (
|
||||
vstfx->plugin,
|
||||
vstfx->plugin,
|
||||
vstfx->dispatcher_opcode,
|
||||
vstfx->dispatcher_index,
|
||||
vstfx->dispatcher_val,
|
||||
|
@ -497,7 +497,7 @@ int vstfx_init (void* ptr)
|
|||
|
||||
pthread_attr_init(&thread_attributes);
|
||||
|
||||
/*Make sure the thread is joinable - this should be the default anyway -
|
||||
/*Make sure the thread is joinable - this should be the default anyway -
|
||||
so we can join to it on vstfx_exit*/
|
||||
|
||||
pthread_attr_setdetachstate(&thread_attributes, PTHREAD_CREATE_JOINABLE);
|
||||
|
@ -632,7 +632,7 @@ int vstfx_create_editor (VSTState* vstfx)
|
|||
/*Select the events we are interested in receiving - we need Substructure notify so that
|
||||
if the plugin resizes its window - e.g. Loomer Manifold then we get a message*/
|
||||
|
||||
XSelectInput(LXVST_XDisplay,
|
||||
XSelectInput(LXVST_XDisplay,
|
||||
parent_window,
|
||||
SubstructureNotifyMask | ButtonPressMask | ButtonReleaseMask | ButtonMotionMask | ExposureMask);
|
||||
|
||||
|
|
|
@ -345,7 +345,7 @@ LocationEditRow::set_location (Location *loc)
|
|||
location->StartChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::start_changed, this), gui_context());
|
||||
location->EndChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::end_changed, this), gui_context());
|
||||
location->Changed.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::location_changed, this), gui_context());
|
||||
location->FlagsChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::flags_changed, this), gui_context());
|
||||
location->FlagsChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::flags_changed, this), gui_context());
|
||||
location->LockChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::lock_changed, this), gui_context());
|
||||
location->PositionLockStyleChanged.connect (connections, invalidator (*this), boost::bind (&LocationEditRow::position_lock_style_changed, this), gui_context());
|
||||
}
|
||||
|
@ -1132,7 +1132,7 @@ LocationUI::clock_mode_from_session_instant_xml () const
|
|||
if (!p) {
|
||||
return ARDOUR_UI::instance()->secondary_clock->mode();
|
||||
}
|
||||
|
||||
|
||||
return (AudioClock::Mode) string_2_enum (p->value (), AudioClock::Mode);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2004 Paul Davis
|
||||
Copyright (C) 2004 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -133,7 +133,7 @@ LXVSTPluginUI::get_XID ()
|
|||
pthread_mutex_lock (&(_vst->state()->lock));
|
||||
|
||||
/* The Window may be scheduled for creation
|
||||
but not actually created by the gui_event_loop yet -
|
||||
but not actually created by the gui_event_loop yet -
|
||||
spin here until it has been activated. Possible
|
||||
deadlock if the window never gets activated but
|
||||
should not be called here if the window doesn't
|
||||
|
@ -148,7 +148,7 @@ LXVSTPluginUI::get_XID ()
|
|||
|
||||
pthread_mutex_unlock (&(_vst->state()->lock));
|
||||
|
||||
/* Finally it might be safe to return the ID -
|
||||
/* Finally it might be safe to return the ID -
|
||||
problems will arise if we return either a zero ID
|
||||
and GTK tries to socket it or if we return an ID
|
||||
which hasn't yet become real to the server
|
||||
|
@ -162,7 +162,7 @@ static Display *the_gtk_display;
|
|||
static error_handler_t vstfx_error_handler;
|
||||
static error_handler_t gtk_error_handler;
|
||||
|
||||
static int
|
||||
static int
|
||||
gtk_xerror_handler (Display*, XErrorEvent*)
|
||||
{
|
||||
std::cerr << "** ERROR ** LXVSTPluginUI : Trapped an X Window System Error" << std::endl;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -34,7 +34,7 @@ MidiChannelDialog::MidiChannelDialog (uint8_t active_channel)
|
|||
add_button (Stock::OK, RESPONSE_OK);
|
||||
}
|
||||
|
||||
uint8_t
|
||||
uint8_t
|
||||
MidiChannelDialog::active_channel () const
|
||||
{
|
||||
return selector.get_active_channel();
|
||||
|
|
|
@ -396,17 +396,17 @@ MidiChannelSelectorWindow::build ()
|
|||
Gtkmm2ext::UI::instance()->set_tip (*b, _("Click to enable recording all channels"));
|
||||
capture_controls->pack_start (*b);
|
||||
capture_mask_controls.push_back (b);
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &MidiChannelSelectorWindow::fill_capture_mask));
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &MidiChannelSelectorWindow::fill_capture_mask));
|
||||
b = manage (new Button (_("None")));
|
||||
Gtkmm2ext::UI::instance()->set_tip (*b, _("Click to disable recording all channels"));
|
||||
capture_controls->pack_start (*b);
|
||||
capture_mask_controls.push_back (b);
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &MidiChannelSelectorWindow::zero_capture_mask));
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &MidiChannelSelectorWindow::zero_capture_mask));
|
||||
b = manage (new Button (_("Invert")));
|
||||
Gtkmm2ext::UI::instance()->set_tip (*b, _("Click to invert currently selected recording channels"));
|
||||
capture_controls->pack_start (*b);
|
||||
capture_mask_controls.push_back (b);
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &MidiChannelSelectorWindow::invert_capture_mask));
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &MidiChannelSelectorWindow::invert_capture_mask));
|
||||
|
||||
vpacker->pack_start (*capture_controls);
|
||||
|
||||
|
@ -432,12 +432,12 @@ MidiChannelSelectorWindow::build ()
|
|||
Gtkmm2ext::UI::instance()->set_tip (*b, _("Click to enable playback of all channels"));
|
||||
playback_controls->pack_start (*b);
|
||||
playback_mask_controls.push_back (b);
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &MidiChannelSelectorWindow::fill_playback_mask));
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &MidiChannelSelectorWindow::fill_playback_mask));
|
||||
b = manage (new Button (_("None")));
|
||||
Gtkmm2ext::UI::instance()->set_tip (*b, _("Click to disable playback of all channels"));
|
||||
playback_controls->pack_start (*b);
|
||||
playback_mask_controls.push_back (b);
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &MidiChannelSelectorWindow::zero_playback_mask));
|
||||
b->signal_clicked().connect (sigc::mem_fun (*this, &MidiChannelSelectorWindow::zero_playback_mask));
|
||||
b = manage (new Button (_("Invert")));
|
||||
Gtkmm2ext::UI::instance()->set_tip (*b, _("Click to invert current selected playback channels"));
|
||||
playback_controls->pack_start (*b);
|
||||
|
@ -739,7 +739,7 @@ MidiChannelSelectorWindow::capture_mode_changed ()
|
|||
|
||||
if (mode != ForceChannel) {
|
||||
set_capture_selected_channels (track->get_capture_channel_mask());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mode == AllChannels) {
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
@ -50,7 +50,7 @@ using Timecode::BBT_Time;
|
|||
|
||||
static map<int,std::string> note_length_map;
|
||||
|
||||
static void
|
||||
static void
|
||||
fill_note_length_map ()
|
||||
{
|
||||
note_length_map.insert (make_pair<int,string> (BBT_Time::ticks_per_beat, _("Whole")));
|
||||
|
@ -146,7 +146,7 @@ MidiListEditor::MidiListEditor (Session* s, boost::shared_ptr<MidiRegion> r, boo
|
|||
|
||||
redisplay_model ();
|
||||
|
||||
region->midi_source(0)->model()->ContentsChanged.connect (content_connection, invalidator (*this),
|
||||
region->midi_source(0)->model()->ContentsChanged.connect (content_connection, invalidator (*this),
|
||||
boost::bind (&MidiListEditor::redisplay_model, this), gui_context());
|
||||
|
||||
buttons.attach (sound_notes_button, 0, 1, 0, 1);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -686,7 +686,7 @@ MidiRegionView::motion (GdkEventMotion* ev)
|
|||
|
||||
}
|
||||
|
||||
/* we may be dragging some non-note object (eg. patch-change, sysex)
|
||||
/* we may be dragging some non-note object (eg. patch-change, sysex)
|
||||
*/
|
||||
|
||||
return editor.drags()->motion_handler ((GdkEvent *) ev, false);
|
||||
|
@ -1301,7 +1301,7 @@ MidiRegionView::display_sysexes()
|
|||
if (!UIConfiguration::instance().get_never_display_periodic_midi()) {
|
||||
|
||||
for (MidiModel::SysExes::const_iterator i = _model->sysexes().begin(); i != _model->sysexes().end(); ++i) {
|
||||
const boost::shared_ptr<const Evoral::MIDIEvent<Evoral::Beats> > mev =
|
||||
const boost::shared_ptr<const Evoral::MIDIEvent<Evoral::Beats> > mev =
|
||||
boost::static_pointer_cast<const Evoral::MIDIEvent<Evoral::Beats> > (*i);
|
||||
|
||||
if (mev) {
|
||||
|
@ -1326,7 +1326,7 @@ MidiRegionView::display_sysexes()
|
|||
|
||||
if (zoom > (video_frame*4)) {
|
||||
display_periodic_messages = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
display_periodic_messages = false;
|
||||
|
@ -1334,7 +1334,7 @@ MidiRegionView::display_sysexes()
|
|||
|
||||
for (MidiModel::SysExes::const_iterator i = _model->sysexes().begin(); i != _model->sysexes().end(); ++i) {
|
||||
|
||||
const boost::shared_ptr<const Evoral::MIDIEvent<Evoral::Beats> > mev =
|
||||
const boost::shared_ptr<const Evoral::MIDIEvent<Evoral::Beats> > mev =
|
||||
boost::static_pointer_cast<const Evoral::MIDIEvent<Evoral::Beats> > (*i);
|
||||
|
||||
Evoral::Beats time = (*i)->time();
|
||||
|
@ -1956,7 +1956,7 @@ patch_applies (const ARDOUR::MidiModel::constPatchChangePtr pc, Evoral::Beats ti
|
|||
return pc->time() <= time && pc->channel() == channel;
|
||||
}
|
||||
|
||||
void
|
||||
void
|
||||
MidiRegionView::get_patch_key_at (Evoral::Beats time, uint8_t channel, MIDI::Name::PatchPrimaryKey& key) const
|
||||
{
|
||||
// The earliest event not before time
|
||||
|
@ -2714,7 +2714,7 @@ MidiRegionView::begin_resizing (bool /*at_front*/)
|
|||
resize_data->note = note;
|
||||
|
||||
// create a new SimpleRect from the note which will be the resize preview
|
||||
ArdourCanvas::Rectangle *resize_rect = new ArdourCanvas::Rectangle (_note_group,
|
||||
ArdourCanvas::Rectangle *resize_rect = new ArdourCanvas::Rectangle (_note_group,
|
||||
ArdourCanvas::Rect (note->x0(), note->y0(), note->x0(), note->y1()));
|
||||
|
||||
// calculate the colors: get the color settings
|
||||
|
@ -3344,8 +3344,8 @@ MidiRegionView::patch_entered (PatchChange* p)
|
|||
{
|
||||
ostringstream s;
|
||||
/* XXX should get patch name if we can */
|
||||
s << _("Bank ") << (p->patch()->bank() + MIDI_BP_ZERO) << '\n'
|
||||
<< _("Program ") << ((int) p->patch()->program()) + MIDI_BP_ZERO << '\n'
|
||||
s << _("Bank ") << (p->patch()->bank() + MIDI_BP_ZERO) << '\n'
|
||||
<< _("Program ") << ((int) p->patch()->program()) + MIDI_BP_ZERO << '\n'
|
||||
<< _("Channel ") << ((int) p->patch()->channel() + 1);
|
||||
show_verbose_cursor (s.str(), 10, 20);
|
||||
p->item().grab_focus();
|
||||
|
|
|
@ -344,7 +344,7 @@ MidiTimeAxisView::set_route (boost::shared_ptr<Route> rt)
|
|||
_midnam_custom_device_mode_selector.show ();
|
||||
|
||||
_midi_controls_box.pack_start (_midnam_custom_device_mode_selector, false, false, 2);
|
||||
}
|
||||
}
|
||||
|
||||
model_changed(gui_property(X_("midnam-model-name")));
|
||||
custom_device_mode_changed(gui_property(X_("midnam-custom-device-mode")));
|
||||
|
@ -522,7 +522,7 @@ MidiTimeAxisView::append_extra_display_menu_items ()
|
|||
|
||||
range_items.push_back (
|
||||
MenuElem (_("Show Full Range"),
|
||||
sigc::bind (sigc::mem_fun(*this, &MidiTimeAxisView::set_note_range),
|
||||
sigc::bind (sigc::mem_fun(*this, &MidiTimeAxisView::set_note_range),
|
||||
MidiStreamView::FullRange, true)));
|
||||
|
||||
range_items.push_back (
|
||||
|
|
|
@ -57,7 +57,7 @@ MidiTracer::MidiTracer ()
|
|||
, collect_button (_("Enabled"))
|
||||
, delta_time_button (_("Delta times"))
|
||||
{
|
||||
ARDOUR::AudioEngine::instance()->PortRegisteredOrUnregistered.connect
|
||||
ARDOUR::AudioEngine::instance()->PortRegisteredOrUnregistered.connect
|
||||
(_manager_connection, invalidator (*this), boost::bind (&MidiTracer::ports_changed, this), gui_context());
|
||||
|
||||
_last_receipt.tv_sec = 0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -45,7 +45,7 @@ MidiVelocityDialog::MidiVelocityDialog (uint8_t current_velocity)
|
|||
spinner.signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &MidiVelocityDialog::response), Gtk::RESPONSE_OK));
|
||||
}
|
||||
|
||||
uint8_t
|
||||
uint8_t
|
||||
MidiVelocityDialog::velocity () const
|
||||
{
|
||||
return (uint8_t) adjustment.get_value();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -72,7 +72,7 @@ MixerActor::register_actions ()
|
|||
myactions.register_action ("Mixer", "scroll-left", _("Scroll Mixer Window to the left"), sigc::mem_fun (*this, &MixerActor::scroll_left));
|
||||
myactions.register_action ("Mixer", "scroll-right", _("Scroll Mixer Window to the left"), sigc::mem_fun (*this, &MixerActor::scroll_right));
|
||||
|
||||
myactions.register_action ("Mixer", "toggle-midi-input-active", _("Toggle MIDI Input Active for Mixer-Selected Tracks/Busses"),
|
||||
myactions.register_action ("Mixer", "toggle-midi-input-active", _("Toggle MIDI Input Active for Mixer-Selected Tracks/Busses"),
|
||||
sigc::bind (sigc::mem_fun (*this, &MixerActor::toggle_midi_input_active), false));
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace Gtk {
|
|||
class ActionGroup;
|
||||
}
|
||||
|
||||
class MixerActor : virtual public sigc::trackable
|
||||
class MixerActor : virtual public sigc::trackable
|
||||
{
|
||||
public:
|
||||
MixerActor ();
|
||||
|
|
|
@ -76,11 +76,11 @@ using PBD::Unwinder;
|
|||
Mixer_UI* Mixer_UI::_instance = 0;
|
||||
|
||||
Mixer_UI*
|
||||
Mixer_UI::instance ()
|
||||
Mixer_UI::instance ()
|
||||
{
|
||||
if (!_instance) {
|
||||
_instance = new Mixer_UI;
|
||||
}
|
||||
}
|
||||
|
||||
return _instance;
|
||||
}
|
||||
|
@ -357,7 +357,7 @@ Mixer_UI::add_strips (RouteList& routes)
|
|||
if (mnode) {
|
||||
_monitor_section->tearoff().set_state (*mnode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
out_packer.pack_end (_monitor_section->tearoff(), false, false);
|
||||
_monitor_section->set_session (_session);
|
||||
|
@ -701,7 +701,7 @@ Mixer_UI::strip_button_release_event (GdkEventButton *ev, MixerStrip *strip)
|
|||
|
||||
for (list<MixerStrip*>::iterator i = strips.begin(); i != strips.end(); ++i) {
|
||||
if ((*i) == strip) {
|
||||
/* hit clicked strip, start accumulating till we hit the first
|
||||
/* hit clicked strip, start accumulating till we hit the first
|
||||
selected strip
|
||||
*/
|
||||
if (accumulate) {
|
||||
|
@ -1059,7 +1059,7 @@ Mixer_UI::track_list_delete (const Gtk::TreeModel::Path&)
|
|||
{
|
||||
/* this happens as the second step of a DnD within the treeview as well
|
||||
as when a row/route is actually deleted.
|
||||
|
||||
|
||||
if it was a deletion then we have to force a redisplay because
|
||||
order keys may not have changed.
|
||||
*/
|
||||
|
|
|
@ -177,7 +177,7 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR
|
|||
|
||||
void initial_track_display ();
|
||||
void show_track_list_menu ();
|
||||
|
||||
|
||||
void set_all_strips_visibility (bool yn);
|
||||
void set_all_audio_midi_visibility (int, bool);
|
||||
void track_visibility_changed (std::string const & path);
|
||||
|
|
|
@ -147,8 +147,8 @@ MouseCursors::set_cursor_set (const std::string& name)
|
|||
}
|
||||
|
||||
/* these will throw exceptions if their images cannot be found.
|
||||
|
||||
the default hotspot coordinates will be overridden by any
|
||||
|
||||
the default hotspot coordinates will be overridden by any
|
||||
data found by Gtkmm2ext::Cursors::load_cursor_info(). the values
|
||||
here from the set of cursors used by Ardour; new cursor/icon
|
||||
sets should come with a hotspot info file.
|
||||
|
|
|
@ -73,7 +73,7 @@ public:
|
|||
Gdk::Cursor* expand_left_right;
|
||||
Gdk::Cursor* expand_up_down;
|
||||
|
||||
/* This cursor is not intended to be used directly, it just
|
||||
/* This cursor is not intended to be used directly, it just
|
||||
serves as an out-of-bounds value when we need to indicate
|
||||
"no cursor". NULL/0 doesn't work for this, because it
|
||||
is actually a valid value for a Gdk::Cursor - it indicates
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -149,7 +149,7 @@ NoteBase::set_selected(bool selected)
|
|||
|
||||
_selected = selected;
|
||||
set_fill_color (base_color());
|
||||
|
||||
|
||||
set_outline_color(calculate_outline(base_color(), _selected));
|
||||
}
|
||||
|
||||
|
@ -169,13 +169,13 @@ NoteBase::base_color()
|
|||
case TrackColor:
|
||||
{
|
||||
uint32_t color = _region.midi_stream_view()->get_region_color();
|
||||
return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (color, opacity),
|
||||
UIConfiguration::instance().color ("midi note selected"),
|
||||
return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (color, opacity),
|
||||
UIConfiguration::instance().color ("midi note selected"),
|
||||
0.5);
|
||||
}
|
||||
|
||||
case ChannelColors:
|
||||
return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (NoteBase::midi_channel_colors[_note->channel()], opacity),
|
||||
return UINT_INTERPOLATE (UINT_RGBA_CHANGE_A (NoteBase::midi_channel_colors[_note->channel()], opacity),
|
||||
UIConfiguration::instance().color ("midi note selected"), 0.5);
|
||||
|
||||
default:
|
||||
|
|
|
@ -45,7 +45,7 @@ namespace ArdourCanvas {
|
|||
* This is not actually a canvas item itself to avoid the dreaded diamond
|
||||
* inheritance pattern, since various types of canvas items (Note (rect), Hit
|
||||
* (diamond), etc) need to share this functionality but can't share an
|
||||
* ancestor.
|
||||
* ancestor.
|
||||
*
|
||||
* Note: Because of this, derived classes need to manually bounce events to
|
||||
* on_event, it won't happen automatically.
|
||||
|
@ -147,7 +147,7 @@ protected:
|
|||
bool _valid;
|
||||
float _mouse_x_fraction;
|
||||
float _mouse_y_fraction;
|
||||
|
||||
|
||||
void set_mouse_fractions (GdkEvent*);
|
||||
|
||||
private:
|
||||
|
|
|
@ -63,7 +63,7 @@ namespace NSM
|
|||
{
|
||||
if ( _st )
|
||||
stop();
|
||||
|
||||
|
||||
if ( _st )
|
||||
lo_server_thread_free( _st );
|
||||
else
|
||||
|
@ -130,7 +130,7 @@ namespace NSM
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
Client::broadcast ( lo_message msg )
|
||||
{
|
||||
|
@ -191,10 +191,10 @@ namespace NSM
|
|||
lo_address addr = lo_address_new_from_url( nsm_url );
|
||||
int proto = lo_address_get_protocol( addr );
|
||||
lo_address_free( addr );
|
||||
|
||||
|
||||
_st = lo_server_thread_new_with_proto( NULL, proto, NULL );
|
||||
_server = lo_server_thread_get_server( _st );
|
||||
|
||||
|
||||
if ( ! _server || ! _st )
|
||||
return -1;
|
||||
|
||||
|
@ -204,7 +204,7 @@ namespace NSM
|
|||
lo_server_thread_add_method( _st, "/nsm/client/save", "", &Client::osc_save, this );
|
||||
lo_server_thread_add_method( _st, "/nsm/client/session_is_loaded", "", &Client::osc_session_is_loaded, this );
|
||||
lo_server_thread_add_method( _st, NULL, NULL, &Client::osc_broadcast, this );
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -222,7 +222,7 @@ namespace NSM
|
|||
Client::osc_save ( const char *path, const char *types, lo_arg **argv, int argc, lo_message msg, void *user_data )
|
||||
{
|
||||
char *out_msg = NULL;
|
||||
|
||||
|
||||
int r = ((NSM::Client*)user_data)->command_save(&out_msg);
|
||||
|
||||
if ( r )
|
||||
|
@ -242,12 +242,12 @@ namespace NSM
|
|||
char *out_msg = NULL;
|
||||
|
||||
NSM::Client *nsm = (NSM::Client*)user_data;
|
||||
|
||||
|
||||
nsm->_nsm_client_id = strdup( &argv[2]->s );
|
||||
nsm->_nsm_client_path = strdup( &argv[0]->s );
|
||||
|
||||
int r = ((NSM::Client*)user_data)->command_open( &argv[0]->s, &argv[1]->s, &argv[2]->s, &out_msg);
|
||||
|
||||
|
||||
if ( r )
|
||||
OSC_REPLY_ERR( r, ( out_msg ? out_msg : "") );
|
||||
else
|
||||
|
@ -274,12 +274,12 @@ namespace NSM
|
|||
{
|
||||
if ( strcmp( &argv[0]->s, "/nsm/server/announce" ) )
|
||||
return -1;
|
||||
|
||||
|
||||
NSM::Client *nsm = (NSM::Client*)user_data;
|
||||
|
||||
|
||||
nsm->nsm_is_active = false;
|
||||
|
||||
|
||||
nsm->command_active( nsm->nsm_is_active );
|
||||
|
||||
return 0;
|
||||
|
@ -290,13 +290,13 @@ namespace NSM
|
|||
{
|
||||
if ( strcmp( &argv[0]->s, "/nsm/server/announce" ) )
|
||||
return -1;
|
||||
|
||||
|
||||
NSM::Client *nsm = (NSM::Client*)user_data;
|
||||
|
||||
nsm->nsm_is_active = true;
|
||||
nsm->_session_manager_name = strdup( &argv[2]->s );
|
||||
nsm->nsm_addr = lo_address_new_from_url( lo_address_get_url( lo_message_get_source( msg ) ));
|
||||
|
||||
nsm->nsm_addr = lo_address_new_from_url( lo_address_get_url( lo_message_get_source( msg ) ));
|
||||
|
||||
nsm->command_active( nsm->nsm_is_active );
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -77,7 +77,7 @@ namespace NSM
|
|||
int init ( const char *nsm_url );
|
||||
/* init with threading */
|
||||
int init_thread ( const char *nsm_url );
|
||||
|
||||
|
||||
/* call this periodically to check for new messages */
|
||||
void check ( int timeout = 0 );
|
||||
|
||||
|
|
|
@ -221,7 +221,7 @@ EntryOption::focus_out (GdkEventFocus*)
|
|||
* @param s Slot to set the variable's value.
|
||||
*/
|
||||
BoolComboOption::BoolComboOption (
|
||||
string const & i, string const & n, string const & t, string const & f,
|
||||
string const & i, string const & n, string const & t, string const & f,
|
||||
sigc::slot<bool> g, sigc::slot<bool, bool> s
|
||||
)
|
||||
: Option (i, n)
|
||||
|
@ -265,7 +265,7 @@ BoolComboOption::set_sensitive (bool yn)
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
FaderOption::FaderOption (string const & i, string const & n, sigc::slot<gain_t> g, sigc::slot<bool, gain_t> s)
|
||||
: Option (i, n)
|
||||
, _db_adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0, 1, 0.01, 0.1)
|
||||
|
@ -450,7 +450,7 @@ OptionEditor::add_option (std::string const & pn, OptionEditorComponent* o)
|
|||
o->set_state_from_config ();
|
||||
}
|
||||
|
||||
/** Add a new page
|
||||
/** Add a new page
|
||||
* @param pn Page name (will be created if it doesn't already exist)
|
||||
* @param w widget that fills the page
|
||||
*/
|
||||
|
|
|
@ -124,7 +124,7 @@ PatchChangeDialog::PatchChangeDialog (
|
|||
set_active_bank_combo ();
|
||||
bank_combo_changed ();
|
||||
|
||||
_info.Changed.connect (_info_changed_connection, invalidator (*this),
|
||||
_info.Changed.connect (_info_changed_connection, invalidator (*this),
|
||||
boost::bind (&PatchChangeDialog::instrument_info_changed, this), gui_context());
|
||||
|
||||
show_all ();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Inspired by code from Ben Loftis @ Harrison Consoles
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
@ -113,10 +113,10 @@ _pingback (void *arg)
|
|||
curl_global_init (CURL_GLOBAL_NOTHING);
|
||||
c = curl_easy_init ();
|
||||
|
||||
curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, curl_write_data);
|
||||
curl_easy_setopt (c, CURLOPT_WRITEDATA, &return_str);
|
||||
curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, curl_write_data);
|
||||
curl_easy_setopt (c, CURLOPT_WRITEDATA, &return_str);
|
||||
char errbuf[CURL_ERROR_SIZE];
|
||||
curl_easy_setopt (c, CURLOPT_ERRORBUFFER, errbuf);
|
||||
curl_easy_setopt (c, CURLOPT_ERRORBUFFER, errbuf);
|
||||
|
||||
string url;
|
||||
|
||||
|
@ -206,7 +206,7 @@ _pingback (void *arg)
|
|||
return_str = "";
|
||||
|
||||
if (curl_easy_perform (c) == 0) {
|
||||
long http_status;
|
||||
long http_status;
|
||||
|
||||
curl_easy_getinfo (c, CURLINFO_RESPONSE_CODE, &http_status);
|
||||
|
||||
|
@ -241,7 +241,7 @@ _pingback (void *arg)
|
|||
|
||||
namespace ARDOUR {
|
||||
|
||||
void pingback (const string& version, const string& announce_path)
|
||||
void pingback (const string& version, const string& announce_path)
|
||||
{
|
||||
ping_call* cm = new ping_call (version, announce_path);
|
||||
pthread_t thread;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Inspired by code from Ben Loftis @ Harrison Consoles
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
|
|
|
@ -65,7 +65,7 @@ PluginSelector::PluginSelector (PluginManager& mgr)
|
|||
: ArdourDialog (_("Plugin Manager"), true, false)
|
||||
, filter_button (Stock::CLEAR)
|
||||
, manager (mgr)
|
||||
|
||||
|
||||
{
|
||||
set_name ("PluginSelectorWindow");
|
||||
add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
|
||||
|
|
|
@ -178,9 +178,9 @@ PluginUIWindow::on_show ()
|
|||
|
||||
if (_pluginui) {
|
||||
#if defined (HAVE_AUDIOUNITS) && defined(GTKOSX)
|
||||
if (pre_deactivate_x >= 0) {
|
||||
if (pre_deactivate_x >= 0) {
|
||||
move (pre_deactivate_x, pre_deactivate_y);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (_pluginui->on_window_show (_title)) {
|
||||
|
@ -193,7 +193,7 @@ void
|
|||
PluginUIWindow::on_hide ()
|
||||
{
|
||||
#if defined (HAVE_AUDIOUNITS) && defined(GTKOSX)
|
||||
get_position (pre_deactivate_x, pre_deactivate_y);
|
||||
get_position (pre_deactivate_x, pre_deactivate_y);
|
||||
#endif
|
||||
|
||||
Window::on_hide ();
|
||||
|
@ -607,7 +607,7 @@ PlugUIBase::add_plugin_setting ()
|
|||
}
|
||||
break;
|
||||
}
|
||||
#else
|
||||
#else
|
||||
if (!seen_saving_message) {
|
||||
seen_saving_message = true;
|
||||
show_no_plugin_message();
|
||||
|
@ -625,7 +625,7 @@ PlugUIBase::save_plugin_setting ()
|
|||
if (!r.uri.empty ()) {
|
||||
plugin->load_preset (r);
|
||||
}
|
||||
#else
|
||||
#else
|
||||
if (!seen_saving_message) {
|
||||
seen_saving_message = true;
|
||||
show_no_plugin_message();
|
||||
|
|
|
@ -935,7 +935,7 @@ PortMatrix::visible_ports (int d) const
|
|||
the TOP_TO_RIGHT arrangement we reverse the order of the vertical
|
||||
tabs in setup_notebooks ().
|
||||
*/
|
||||
|
||||
|
||||
int n = 0;
|
||||
if (d == _row_index) {
|
||||
if (_arrangement == LEFT_TO_BOTTOM) {
|
||||
|
|
|
@ -772,7 +772,7 @@ PluginInsertProcessorEntry::plugin_insert_splitting_changed ()
|
|||
* This plugin may have unconnected output-ports (currently only in Mixbus,
|
||||
* e.g channelstrip-EQ at the top of a MIDI-channel before the synth).
|
||||
*
|
||||
* The *next* processor below this one will only see the
|
||||
* The *next* processor below this one will only see the
|
||||
* actual available streams (it cannot know the real outputs
|
||||
* of this plugin).
|
||||
*
|
||||
|
@ -952,7 +952,7 @@ ProcessorEntry::RoutingIcon::on_expose_event (GdkEventExpose* ev)
|
|||
cairo_stroke (cr);
|
||||
#ifndef NDEBUG
|
||||
} else if (midi_sources != 0 && midi_sinks != 0) {
|
||||
PBD::warning << string_compose("Programming error: midi routing display: A %1 -> %2 | M %3 -> %4 | T %5 -> %6",
|
||||
PBD::warning << string_compose("Programming error: midi routing display: A %1 -> %2 | M %3 -> %4 | T %5 -> %6",
|
||||
audio_sources, audio_sinks, midi_sources, midi_sinks, sources, sinks) << endmsg;
|
||||
#endif
|
||||
}
|
||||
|
@ -999,7 +999,7 @@ ProcessorEntry::RoutingIcon::on_expose_event (GdkEventExpose* ev)
|
|||
cairo_stroke (cr);
|
||||
#ifndef NDEBUG
|
||||
} else if (audio_sources != 0 && audio_sinks != 0) {
|
||||
PBD::warning << string_compose("Programming error: audio routing display: A %1 -> %2 | M %3 -> %4 | T %5 -> %6",
|
||||
PBD::warning << string_compose("Programming error: audio routing display: A %1 -> %2 | M %3 -> %4 | T %5 -> %6",
|
||||
audio_sources, audio_sinks, midi_sources, midi_sinks, sources, sinks) << endmsg;
|
||||
#endif
|
||||
}
|
||||
|
@ -1322,7 +1322,7 @@ ProcessorBox::leave_notify (GdkEventCrossing*)
|
|||
}
|
||||
|
||||
bool
|
||||
ProcessorBox::processor_operation (ProcessorOperation op)
|
||||
ProcessorBox::processor_operation (ProcessorOperation op)
|
||||
{
|
||||
ProcSelection targets;
|
||||
|
||||
|
@ -1402,7 +1402,7 @@ ProcessorBox::processor_operation (ProcessorOperation op)
|
|||
return true;
|
||||
}
|
||||
|
||||
ProcessorWindowProxy*
|
||||
ProcessorWindowProxy*
|
||||
ProcessorBox::find_window_proxy (boost::shared_ptr<Processor> processor) const
|
||||
{
|
||||
return processor->window_proxy();
|
||||
|
@ -1733,7 +1733,7 @@ ProcessorBox::redisplay_processors ()
|
|||
_visible_prefader_processors = 0;
|
||||
fader_seen = false;
|
||||
|
||||
_route->foreach_processor (sigc::bind (sigc::mem_fun (*this, &ProcessorBox::help_count_visible_prefader_processors),
|
||||
_route->foreach_processor (sigc::bind (sigc::mem_fun (*this, &ProcessorBox::help_count_visible_prefader_processors),
|
||||
&_visible_prefader_processors, &fader_seen));
|
||||
|
||||
_route->foreach_processor (sigc::mem_fun (*this, &ProcessorBox::add_processor_to_display));
|
||||
|
@ -2447,7 +2447,7 @@ ProcessorBox::get_editor_window (boost::shared_ptr<Processor> processor, bool us
|
|||
* will be forced back into a model where the fader controls the main gain.
|
||||
* If the processor is a send, then we map the send controls onto the
|
||||
* strip.
|
||||
*
|
||||
*
|
||||
* Plugins and others will return a window for control.
|
||||
*/
|
||||
|
||||
|
@ -3065,7 +3065,7 @@ ProcessorWindowProxy::processor_going_away ()
|
|||
}
|
||||
|
||||
ARDOUR::SessionHandlePtr*
|
||||
ProcessorWindowProxy::session_handle()
|
||||
ProcessorWindowProxy::session_handle()
|
||||
{
|
||||
/* we don't care */
|
||||
return 0;
|
||||
|
|
|
@ -75,14 +75,14 @@ namespace ARDOUR {
|
|||
|
||||
class ProcessorBox;
|
||||
|
||||
class ProcessorWindowProxy : public WM::ProxyBase
|
||||
class ProcessorWindowProxy : public WM::ProxyBase
|
||||
{
|
||||
public:
|
||||
ProcessorWindowProxy (std::string const &, ProcessorBox *, boost::weak_ptr<ARDOUR::Processor>);
|
||||
~ProcessorWindowProxy();
|
||||
|
||||
Gtk::Window* get (bool create = false);
|
||||
|
||||
|
||||
boost::weak_ptr<ARDOUR::Processor> processor () const {
|
||||
return _processor;
|
||||
}
|
||||
|
|
|
@ -467,7 +467,7 @@ public:
|
|||
MainMenuDisabler () {
|
||||
/* The global menu bar continues to be accessible to applications
|
||||
with modal dialogs on mac, which means that we need to desensitize
|
||||
all items in the menu bar.
|
||||
all items in the menu bar.
|
||||
*/
|
||||
ActionManager::disable_active_actions ();
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include <cairo/cairo.h>
|
||||
|
||||
#include <boost/algorithm/string.hpp>
|
||||
#include <boost/algorithm/string.hpp>
|
||||
|
||||
#include <gtkmm/liststore.h>
|
||||
#include <gtkmm/stock.h>
|
||||
|
@ -1019,7 +1019,7 @@ private:
|
|||
class ClipLevelOptions : public OptionEditorBox
|
||||
{
|
||||
public:
|
||||
ClipLevelOptions ()
|
||||
ClipLevelOptions ()
|
||||
: _clip_level_adjustment (-.5, -50.0, 0.0, 0.1, 1.0) /* units of dB */
|
||||
, _clip_level_slider (_clip_level_adjustment)
|
||||
{
|
||||
|
@ -1927,7 +1927,7 @@ RCOptionEditor::RCOptionEditor ()
|
|||
sigc::mem_fun (*_rc_config, &RCConfiguration::get_loop_is_mode),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::set_loop_is_mode)
|
||||
);
|
||||
Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
|
||||
Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
|
||||
(_("<b>When enabled</b> the loop button does not start playback but forces playback to always play the loop\n\n"
|
||||
"<b>When disabled</b> the loop button starts playing the loop, but stop then cancels loop playback")));
|
||||
add_option (_("Transport"), tsf);
|
||||
|
@ -1938,7 +1938,7 @@ RCOptionEditor::RCOptionEditor ()
|
|||
sigc::mem_fun (*_rc_config, &RCConfiguration::get_stop_recording_on_xrun),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::set_stop_recording_on_xrun)
|
||||
);
|
||||
Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
|
||||
Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
|
||||
string_compose (_("<b>When enabled</b> %1 will stop recording if an over- or underrun is detected by the audio engine"),
|
||||
PROGRAM_NAME));
|
||||
add_option (_("Transport"), tsf);
|
||||
|
@ -1958,7 +1958,7 @@ RCOptionEditor::RCOptionEditor ()
|
|||
sigc::mem_fun (*_rc_config, &RCConfiguration::get_stop_at_session_end),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::set_stop_at_session_end)
|
||||
);
|
||||
Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
|
||||
Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
|
||||
string_compose (_("<b>When enabled</b> if %1 is <b>not recording</b>, it will stop the transport "
|
||||
"when it reaches the current session end marker\n\n"
|
||||
"<b>When disabled</b> %1 will continue to roll past the session end marker at all times"),
|
||||
|
@ -1971,7 +1971,7 @@ RCOptionEditor::RCOptionEditor ()
|
|||
sigc::mem_fun (*_rc_config, &RCConfiguration::get_seamless_loop),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::set_seamless_loop)
|
||||
);
|
||||
Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
|
||||
Gtkmm2ext::UI::instance()->set_tip (tsf->tip_widget(),
|
||||
string_compose (_("<b>When enabled</b> this will loop by reading ahead and wrapping around at the loop point, "
|
||||
"preventing any need to do a transport locate at the end of the loop\n\n"
|
||||
"<b>When disabled</b> looping is done by locating back to the start of the loop when %1 reaches the end "
|
||||
|
@ -2014,7 +2014,7 @@ RCOptionEditor::RCOptionEditor ()
|
|||
sigc::mem_fun (*_rc_config, &RCConfiguration::get_timecode_sync_frame_rate),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::set_timecode_sync_frame_rate)
|
||||
);
|
||||
Gtkmm2ext::UI::instance()->set_tip
|
||||
Gtkmm2ext::UI::instance()->set_tip
|
||||
(_sync_framerate->tip_widget(),
|
||||
string_compose (_("This option controls the value of the video frame rate <i>while chasing</i> an external timecode source.\n\n"
|
||||
"<b>When enabled</b> the session video frame rate will be changed to match that of the selected external timecode source.\n\n"
|
||||
|
@ -2030,7 +2030,7 @@ RCOptionEditor::RCOptionEditor ()
|
|||
sigc::mem_fun (*_rc_config, &RCConfiguration::get_timecode_source_is_synced),
|
||||
sigc::mem_fun (*_rc_config, &RCConfiguration::set_timecode_source_is_synced)
|
||||
);
|
||||
Gtkmm2ext::UI::instance()->set_tip
|
||||
Gtkmm2ext::UI::instance()->set_tip
|
||||
(_sync_genlock->tip_widget(),
|
||||
string_compose (_("<b>When enabled</b> %1 will never varispeed when slaved to external timecode. "
|
||||
"Sync Lock indicates that the selected external timecode source shares clock-sync "
|
||||
|
@ -2732,7 +2732,7 @@ RCOptionEditor::RCOptionEditor ()
|
|||
#endif
|
||||
)
|
||||
{
|
||||
add_option (_("User interaction"),
|
||||
add_option (_("User interaction"),
|
||||
new BoolOption (
|
||||
"enable-translation",
|
||||
string_compose (_("Use translations of %1 messages\n"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2012 Paul Davis
|
||||
Copyright (C) 2012 Paul Davis
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue