<?xml version="1.0" encoding="UTF-8"?>
<RouteUI gainmeterscript="meter_strip_gain_meter.xml">
- <EventBox id="panners_home" bgnormal="#383838" bgactive="#545454" height="59" ui.orphan="true"/>
+ <EventBox id="panners_home" bgnormal="#383838" bgactive="#424242" height="59" ui.orphan="true"/>
<HBox>
- <EventBox bgnormal="#383838" bgactive="#545454">
+ <EventBox bgnormal="#383838" bgactive="#424242">
<VBox>
<HBox id="level_meter_home"/>
<Vbox>
<HBox id="gain_meter_home"/>
- <EventBox bgnormal="#383838" bgactive="#545454">
+ <EventBox bgnormal="#383838" bgactive="#424242">
<VBox>
<EventBox bgnormal="#000000"
bgactive="#000000"
- height="1"/>
+ height=""/>
<HBox>
<iconbutton id="rec_enable_button"
- width="18"
- height="12"
+ width="19"
+ height="13"
normalicon="meter_strip_record"
activeicon="meter_strip_record_active"
_prelighticon="meter_strip_record_prelight"/>
<EventBox bgnormal="#000000"
bgactive="#000000"
- width="1"/>
+ width=""/>
<iconbutton id="monitor_input_button"
- width="18"
- height="12"
+ width="19"
+ height="13"
normalicon="meter_strip_monitor_input"
activeicon="meter_strip_monitor_input_active"
_prelighticon="meter_strip_monitor_input_prelight"/>
</HBox>
<EventBox bgnormal="#000000"
bgactive="#000000"
- height="1"/>
+ height=""/>
<HBox>
<iconbutton id="mute_button"
- width="18"
- height="12"
+ width="19"
+ height="13"
normalicon="meter_strip_mute"
activeicon="meter_strip_mute_active"
implicitactiveicon="meter_strip_mute_implicit"
_prelighticon="mixer_mute_prelight"/>
<EventBox bgnormal="#000000"
bgactive="#000000"
- width="1"/>
+ width=""/>
<iconbutton id="solo_button"
- width="18"
- height="12"
+ width="19"
+ height="13"
normalicon="meter_strip_solo"
activeicon="meter_strip_solo_active"
implicitactiveicon="meter_strip_solo_safe"
</HBox>
<EventBox bgnormal="#000000"
bgactive="#000000"
- height="1"/>
+ height=""/>
<EventBox id="name_label_home">
<HBox>
<Button id="name_button"
- width="37"
+ width="38"
height="24"
fgnormal="#ffffff"
fgactive="#ffffff"
height="24"
visible="false">
<FocusEntry id="name_entry"
- width="37"
+ width="38"
height="24"
fgnormal="#ffffff"
winfont ="Arial 8"
{
return route1->remote_control_id() < route2->remote_control_id();
}
+
+ long get_time_measurement()
+ {
+ timeval time;
+ gettimeofday(&time, NULL);
+ long millis = (time.tv_sec * 1000) + (time.tv_usec / 1000);
+ return millis;
+ }
}
+
bool Session::_disable_all_loaded_plugins = false;
PBD::Signal1<int,uint32_t> Session::AudioEngineSetupRequired;
void
Session::add_routes (RouteList& new_routes, bool input_auto_connect, bool output_auto_connect, bool save)
{
+ std::cout << "*-*-*-*-* Adding routes: " << std::endl;
+ long start_time = get_time_measurement();
try {
PBD::Unwinder<bool> aip (_adding_routes_in_progress, true);
add_routes_inner (new_routes, input_auto_connect, output_auto_connect);
update_route_record_state ();
RouteAdded (new_routes); /* EMIT SIGNAL */
+ long end_time = get_time_measurement();
+ std::cout << "*-*-*-*-* time: " << end_time - start_time << std::endl;
}
void
void
Session::remove_routes (boost::shared_ptr<RouteList> routes_to_remove)
{
+ std::cout << "*!*!*!*!*----Removing " << routes_to_remove->size() << " tracks" << std::endl;
+
+ long start_time = get_time_measurement();
+ long disconnect_start_time;
+ long disconnect_stop_time;
{ //RCU Writer scope
RCUWriter<RouteList> writer (routes);
boost::shared_ptr<RouteList> rs = writer.get_copy ();
// We need to disconnect the route's inputs and outputs
+ disconnect_start_time = get_time_measurement();
(*iter)->input()->disconnect (0);
(*iter)->output()->disconnect (0);
+ disconnect_stop_time = get_time_measurement();
/* if the route had internal sends sending to it, remove them */
if ((*iter)->internal_return()) {
* going away, then flush old references out of the graph.
* Wave Tracks: reconnect routes
*/
+ long reconnect_start_time = get_time_measurement();
if (ARDOUR::Profile->get_trx () ) {
reconnect_existing_routes(true, false);
} else {
if (_process_graph) {
_process_graph->clear_other_chain ();
}
+ long reconnect_stop_time = get_time_measurement();
/* get rid of it from the dead wood collection in the route list manager */
* and unregister ports from the backend
*/
PBD::Unwinder<bool> uw_flag (_route_deletion_in_progress, true);
+ long ref_drop_start_time = get_time_measurement();
for (RouteList::iterator iter = routes_to_remove->begin(); iter != routes_to_remove->end(); ++iter) {
(*iter)->drop_references ();
}
Route::RemoteControlIDChange(); /* EMIT SIGNAL */
+ long ref_drop_stop_time = get_time_measurement();
/* save the new state of the world */
save_history (_current_snapshot_name);
}
reassign_track_numbers();
+
+ long end_time = get_time_measurement();
+
+
+ std::cout << "*!*!*!*!*----Times " << std::endl;
+ std::cout << "Total " << start_time - end_time << std::endl;
+ std::cout << "Disconnect " << disconnect_start_time - disconnect_stop_time << std::endl;
+ std::cout << "Reconnect " << reconnect_start_time - reconnect_stop_time << std::endl;
+ std::cout << "Ref drop " << ref_drop_start_time - ref_drop_stop_time << std::endl;
}
void