meter point restore handling, and related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6854 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
d166d0584f
commit
3104041e67
|
@ -539,7 +539,7 @@ GainMeterBase::meter_press(GdkEventButton* ev)
|
|||
|
||||
// XXX no undo yet
|
||||
|
||||
_route->set_meter_point (next_meter_point (_route->meter_point()), this);
|
||||
_route->set_meter_point (next_meter_point (_route->meter_point()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -568,7 +568,7 @@ GainMeterBase::meter_release(GdkEventButton*)
|
|||
void
|
||||
GainMeterBase::set_meter_point (Route& route, MeterPoint mp)
|
||||
{
|
||||
route.set_meter_point (mp, this);
|
||||
route.set_meter_point (mp);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -577,9 +577,9 @@ GainMeterBase::set_mix_group_meter_point (Route& route, MeterPoint mp)
|
|||
RouteGroup* mix_group;
|
||||
|
||||
if((mix_group = route.route_group()) != 0){
|
||||
mix_group->apply (&Route::set_meter_point, mp, this);
|
||||
mix_group->apply (&Route::set_meter_point, mp);
|
||||
} else {
|
||||
route.set_meter_point (mp, this);
|
||||
route.set_meter_point (mp);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -412,7 +412,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
|
|||
_("Click to Add/Edit Comments"):
|
||||
_route->comment());
|
||||
|
||||
_route->meter_change.connect (route_connections, invalidator (*this), ui_bind (&MixerStrip::meter_changed, this, _1), gui_context());
|
||||
_route->meter_change.connect (route_connections, invalidator (*this), bind (&MixerStrip::meter_changed, this), gui_context());
|
||||
_route->input()->changed.connect (route_connections, invalidator (*this), ui_bind (&MixerStrip::input_changed, this, _1, _2), gui_context());
|
||||
_route->output()->changed.connect (route_connections, invalidator (*this), ui_bind (&MixerStrip::output_changed, this, _1, _2), gui_context());
|
||||
_route->route_group_changed.connect (route_connections, invalidator (*this), boost::bind (&MixerStrip::route_group_changed, this), gui_context());
|
||||
|
@ -1599,9 +1599,9 @@ MixerStrip::engine_running ()
|
|||
|
||||
/** Called when the metering point has changed */
|
||||
void
|
||||
MixerStrip::meter_changed (void *src)
|
||||
MixerStrip::meter_changed ()
|
||||
{
|
||||
ENSURE_GUI_THREAD (*this, &MixerStrip::meter_changed, src)
|
||||
ENSURE_GUI_THREAD (*this, &MixerStrip::meter_changed)
|
||||
|
||||
switch (_route->meter_point()) {
|
||||
case MeterInput:
|
||||
|
|
|
@ -156,7 +156,7 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
|
|||
Gtk::Button meter_point_button;
|
||||
Gtk::Label meter_point_label;
|
||||
|
||||
void meter_changed (void *);
|
||||
void meter_changed ();
|
||||
|
||||
Gtk::Button diskstream_button;
|
||||
Gtk::Label diskstream_label;
|
||||
|
|
|
@ -190,7 +190,7 @@ RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, boost::sh
|
|||
}
|
||||
|
||||
controls_hbox.pack_start(gm.get_level_meter(), false, false);
|
||||
_route->meter_change.connect (*this, invalidator (*this), ui_bind (&RouteTimeAxisView::meter_changed, this, _1), gui_context());
|
||||
_route->meter_change.connect (*this, invalidator (*this), bind (&RouteTimeAxisView::meter_changed, this), gui_context());
|
||||
_route->input()->changed.connect (*this, invalidator (*this), ui_bind (&RouteTimeAxisView::io_changed, this, _1, _2), gui_context());
|
||||
_route->output()->changed.connect (*this, invalidator (*this), ui_bind (&RouteTimeAxisView::io_changed, this, _1, _2), gui_context());
|
||||
|
||||
|
@ -2290,9 +2290,9 @@ RouteTimeAxisView::clear_meter ()
|
|||
}
|
||||
|
||||
void
|
||||
RouteTimeAxisView::meter_changed (void *src)
|
||||
RouteTimeAxisView::meter_changed ()
|
||||
{
|
||||
ENSURE_GUI_THREAD (*this, &RouteTimeAxisView::meter_changed, src)
|
||||
ENSURE_GUI_THREAD (*this, &RouteTimeAxisView::meter_changed)
|
||||
reset_meter();
|
||||
}
|
||||
|
||||
|
|
|
@ -150,7 +150,7 @@ public:
|
|||
void reset_meter ();
|
||||
void clear_meter ();
|
||||
void io_changed (ARDOUR::IOChange, void *);
|
||||
void meter_changed (void *);
|
||||
void meter_changed ();
|
||||
void effective_gain_display () { gm.effective_gain_display(); }
|
||||
|
||||
static void setup_slider_pix ();
|
||||
|
|
|
@ -151,7 +151,8 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou
|
|||
void set_denormal_protection (bool yn);
|
||||
bool denormal_protection() const;
|
||||
|
||||
void set_meter_point (MeterPoint, void *src);
|
||||
void set_meter_point (MeterPoint);
|
||||
void infer_meter_point () const;
|
||||
MeterPoint meter_point() const { return _meter_point; }
|
||||
void meter ();
|
||||
|
||||
|
@ -247,7 +248,7 @@ class Route : public SessionObject, public AutomatableControls, public RouteGrou
|
|||
PBD::Signal1<void,RouteProcessorChange> processors_changed;
|
||||
PBD::Signal1<void,void*> record_enable_changed;
|
||||
/** the metering point has changed */
|
||||
PBD::Signal1<void,void*> meter_change;
|
||||
PBD::Signal0<void> meter_change;
|
||||
PBD::Signal0<void> signal_latency_changed;
|
||||
PBD::Signal0<void> initial_delay_changed;
|
||||
|
||||
|
|
|
@ -98,12 +98,24 @@ class RouteGroup : public SessionObject
|
|||
}
|
||||
}
|
||||
|
||||
void apply (void (Route::*func)()) {
|
||||
for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) {
|
||||
((*i).get()->*func)();
|
||||
}
|
||||
}
|
||||
|
||||
template<class T> void apply (void (Route::*func)(T, void *), T val, void *src) {
|
||||
for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) {
|
||||
((*i).get()->*func)(val, src);
|
||||
}
|
||||
}
|
||||
|
||||
template<class T> void apply (void (Route::*func)(T), T val) {
|
||||
for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) {
|
||||
((*i).get()->*func)(val);
|
||||
}
|
||||
}
|
||||
|
||||
template<class T> void foreach_route (T *obj, void (T::*func)(Route&)) {
|
||||
for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) {
|
||||
(obj->*func)(**i);
|
||||
|
|
|
@ -1782,7 +1782,8 @@ Route::_set_state (const XMLNode& node, int version, bool /*call_base*/)
|
|||
}
|
||||
|
||||
if ((prop = node.property (X_("meter-point"))) != 0) {
|
||||
_meter_point = MeterPoint (string_2_enum (prop->value (), _meter_point));
|
||||
MeterPoint mp = MeterPoint (string_2_enum (prop->value (), _meter_point));
|
||||
set_meter_point (mp);
|
||||
if (_meter) {
|
||||
_meter->set_display_to_user (_meter_point == MeterCustom);
|
||||
}
|
||||
|
@ -2678,7 +2679,7 @@ Route::flush_processors ()
|
|||
}
|
||||
|
||||
void
|
||||
Route::set_meter_point (MeterPoint p, void *src)
|
||||
Route::set_meter_point (MeterPoint p)
|
||||
{
|
||||
/* CAN BE CALLED FROM PROCESS CONTEXT */
|
||||
|
||||
|
@ -2740,7 +2741,7 @@ Route::set_meter_point (MeterPoint p, void *src)
|
|||
}
|
||||
|
||||
_meter_point = p;
|
||||
meter_change (src); /* EMIT SIGNAL */
|
||||
meter_change (); /* EMIT SIGNAL */
|
||||
|
||||
bool const meter_visibly_changed = (_meter->display_to_user() != meter_was_visible_to_user);
|
||||
|
||||
|
|
|
@ -727,7 +727,7 @@ Session::remove_state (string snapshot_name)
|
|||
|
||||
#ifdef HAVE_JACK_SESSION
|
||||
void
|
||||
Session::jack_session_event( jack_session_event_t * event )
|
||||
Session::jack_session_event (jack_session_event_t * event)
|
||||
{
|
||||
if (save_state ("jacksession_snap")) {
|
||||
event->flags = JackSessionSaveError;
|
||||
|
@ -737,7 +737,7 @@ Session::jack_session_event( jack_session_event_t * event )
|
|||
|
||||
string cmd ("PROG_NAME -U ");
|
||||
cmd += event->client_uuid;
|
||||
cmd += ' \"';
|
||||
cmd += " \"";
|
||||
cmd += xml_path.to_string();
|
||||
cmd += '\"';
|
||||
|
||||
|
|
|
@ -185,10 +185,10 @@ Track::set_record_enable (bool yn, void *src)
|
|||
|
||||
if (_diskstream->record_enabled()) {
|
||||
if (_meter_point != MeterCustom) {
|
||||
set_meter_point (MeterInput, this);
|
||||
set_meter_point (MeterInput);
|
||||
}
|
||||
} else {
|
||||
set_meter_point (_saved_meter_point, this);
|
||||
set_meter_point (_saved_meter_point);
|
||||
}
|
||||
|
||||
_rec_enable_control->Changed ();
|
||||
|
|
Loading…
Reference in New Issue