[Summary] Implemented info panel in the inspector

[Review] GZharun
This commit is contained in:
nikolay 2014-07-15 13:52:31 +03:00
parent b3efab32f4
commit ab39c6e818
5 changed files with 108 additions and 2 deletions

View file

@ -273,6 +273,16 @@
CEAFC771195445560016ACF0 /* time.cc in Sources */ = {isa = PBXBuildFile; fileRef = CEAFC76F195445560016ACF0 /* time.cc */; };
CEB0A9F219583F96006D269A /* session_close_dialog.cc in Sources */ = {isa = PBXBuildFile; fileRef = CEB0A9F119583F96006D269A /* session_close_dialog.cc */; };
CEB0A9F41958447C006D269A /* session_close_dialog.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB0A9F31958447C006D269A /* session_close_dialog.xml */; };
CEB9D791197516BE00B21780 /* audio_time_axis.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB9D787197516BE00B21780 /* audio_time_axis.xml */; };
CEB9D792197516BE00B21780 /* automation_time_axis.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB9D788197516BE00B21780 /* automation_time_axis.xml */; };
CEB9D793197516BE00B21780 /* editor_mixer.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB9D789197516BE00B21780 /* editor_mixer.xml */; };
CEB9D794197516BE00B21780 /* inspector_gain_meter.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB9D78A197516BE00B21780 /* inspector_gain_meter.xml */; };
CEB9D795197516BE00B21780 /* master_ui_gain_meter.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB9D78B197516BE00B21780 /* master_ui_gain_meter.xml */; };
CEB9D796197516BE00B21780 /* master_ui.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB9D78C197516BE00B21780 /* master_ui.xml */; };
CEB9D797197516BE00B21780 /* meter_strip.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB9D78D197516BE00B21780 /* meter_strip.xml */; };
CEB9D798197516BE00B21780 /* mixer_gain_meter.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB9D78E197516BE00B21780 /* mixer_gain_meter.xml */; };
CEB9D799197516BE00B21780 /* mixer_strip.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB9D78F197516BE00B21780 /* mixer_strip.xml */; };
CEB9D79A197516BE00B21780 /* track_header_gain_meter.xml in Resources */ = {isa = PBXBuildFile; fileRef = CEB9D790197516BE00B21780 /* track_header_gain_meter.xml */; };
CEDB41321951C668006E6F77 /* buildlog.txt in Resources */ = {isa = PBXBuildFile; fileRef = CEDB41311951C668006E6F77 /* buildlog.txt */; };
/* End PBXBuildFile section */
@ -1088,6 +1098,16 @@
CEB0A45A19583F3F006D269A /* session_close_dialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = session_close_dialog.h; path = ../session_close_dialog.h; sourceTree = "<group>"; };
CEB0A9F119583F96006D269A /* session_close_dialog.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = session_close_dialog.cc; path = ../session_close_dialog.cc; sourceTree = "<group>"; };
CEB0A9F31958447C006D269A /* session_close_dialog.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = session_close_dialog.xml; sourceTree = "<group>"; };
CEB9D787197516BE00B21780 /* audio_time_axis.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = audio_time_axis.xml; sourceTree = "<group>"; };
CEB9D788197516BE00B21780 /* automation_time_axis.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = automation_time_axis.xml; sourceTree = "<group>"; };
CEB9D789197516BE00B21780 /* editor_mixer.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = editor_mixer.xml; sourceTree = "<group>"; };
CEB9D78A197516BE00B21780 /* inspector_gain_meter.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = inspector_gain_meter.xml; sourceTree = "<group>"; };
CEB9D78B197516BE00B21780 /* master_ui_gain_meter.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = master_ui_gain_meter.xml; sourceTree = "<group>"; };
CEB9D78C197516BE00B21780 /* master_ui.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = master_ui.xml; sourceTree = "<group>"; };
CEB9D78D197516BE00B21780 /* meter_strip.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = meter_strip.xml; sourceTree = "<group>"; };
CEB9D78E197516BE00B21780 /* mixer_gain_meter.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = mixer_gain_meter.xml; sourceTree = "<group>"; };
CEB9D78F197516BE00B21780 /* mixer_strip.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = mixer_strip.xml; sourceTree = "<group>"; };
CEB9D790197516BE00B21780 /* track_header_gain_meter.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = track_header_gain_meter.xml; sourceTree = "<group>"; };
CEDB41311951C668006E6F77 /* buildlog.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = buildlog.txt; path = ../../../buildlog.txt; sourceTree = "<group>"; };
/* End PBXFileReference section */
@ -1713,6 +1733,16 @@
43279429194F0062003C9FEA /* ui */ = {
isa = PBXGroup;
children = (
CEB9D787197516BE00B21780 /* audio_time_axis.xml */,
CEB9D788197516BE00B21780 /* automation_time_axis.xml */,
CEB9D789197516BE00B21780 /* editor_mixer.xml */,
CEB9D78A197516BE00B21780 /* inspector_gain_meter.xml */,
CEB9D78B197516BE00B21780 /* master_ui_gain_meter.xml */,
CEB9D78C197516BE00B21780 /* master_ui.xml */,
CEB9D78D197516BE00B21780 /* meter_strip.xml */,
CEB9D78E197516BE00B21780 /* mixer_gain_meter.xml */,
CEB9D78F197516BE00B21780 /* mixer_strip.xml */,
CEB9D790197516BE00B21780 /* track_header_gain_meter.xml */,
CEB0A9F31958447C006D269A /* session_close_dialog.xml */,
4327942A194F0062003C9FEA /* device_capture_control.xml */,
4327942B194F0062003C9FEA /* device_playback_control.xml */,
@ -2370,6 +2400,16 @@
43B351ED194F04E00038C140 /* step_editing.bindings in Resources */,
CEDB41321951C668006E6F77 /* buildlog.txt in Resources */,
CEB0A9F41958447C006D269A /* session_close_dialog.xml in Resources */,
CEB9D791197516BE00B21780 /* audio_time_axis.xml in Resources */,
CEB9D792197516BE00B21780 /* automation_time_axis.xml in Resources */,
CEB9D793197516BE00B21780 /* editor_mixer.xml in Resources */,
CEB9D794197516BE00B21780 /* inspector_gain_meter.xml in Resources */,
CEB9D795197516BE00B21780 /* master_ui_gain_meter.xml in Resources */,
CEB9D796197516BE00B21780 /* master_ui.xml in Resources */,
CEB9D797197516BE00B21780 /* meter_strip.xml in Resources */,
CEB9D798197516BE00B21780 /* mixer_gain_meter.xml in Resources */,
CEB9D799197516BE00B21780 /* mixer_strip.xml in Resources */,
CEB9D79A197516BE00B21780 /* track_header_gain_meter.xml in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View file

@ -52,6 +52,9 @@
#include "ardour/session.h"
#include "ardour/types.h"
#include "ardour/user_bundle.h"
#include "ardour/data_type.h"
#include "ardour/audio_backend.h"
#include "ardour/engine_state_controller.h"
#include "ardour_ui.h"
#include "ardour_window.h"
@ -105,7 +108,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, const std::string& layout_s
, info_panel_button (get_waves_button ("info_panel_button"))
, info_panel_home (get_container ("info_panel_home"))
, input_info_label (get_label ("input_info_label"))
, output_info_label (get_label ("input_info_label"))
, output_info_label (get_label ("output_info_label"))
{
init ();
@ -139,7 +142,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, boost::shared_ptr<Route> rt
, info_panel_button (get_waves_button ("info_panel_button"))
, info_panel_home (get_container ("info_panel_home"))
, input_info_label (get_label ("input_info_label"))
, output_info_label (get_label ("input_info_label"))
, output_info_label (get_label ("output_info_label"))
{
init ();
set_route (rt);
@ -240,6 +243,10 @@ MixerStrip::init ()
Config->ParameterChanged.connect (_config_connection, MISSING_INVALIDATOR, boost::bind (&MixerStrip::parameter_changed, this, _1), gui_context());
gpm.LevelMeterButtonPress.connect_same_thread (_level_meter_connection, boost::bind (&MixerStrip::level_meter_button_press, this, _1));
Session* session = ARDOUR_UI::instance()->the_session();
if( session )
session->session_routes_reconnected.connect(_input_output_channels_update, invalidator (*this), boost::bind (&MixerStrip::update_inspector_info_panel, this), gui_context());
}
MixerStrip::~MixerStrip ()
@ -1632,6 +1639,7 @@ MixerStrip::parameter_changed (string p)
our VisibilityGroup to reflect these changes in our widgets.
*/
_visibility.set_state (Config->get_mixer_strip_visibility ());
update_inspector_info_panel();
}
}
@ -1843,6 +1851,57 @@ MixerStrip::color_button_clicked (WavesButton *button)
}
}
void
MixerStrip::update_inspector_info_panel ()
{
if( !_route )
return;
// Input label
string input_text;
PortSet& in_ports (_route->input()->ports() );
for (PortSet::iterator i = in_ports.begin(); i != in_ports.end(); ++i)
{
vector<string> connections_string;
i->get_connections(connections_string);
for(unsigned int j = 0; j < connections_string.size(); ++j)
{
if( connections_string[j].find("system:capture:") != string::npos )
connections_string[j].erase(0, 15);
input_text += connections_string[j] + " ";
}
}
input_text = "In " + input_text;
input_info_label.set_text (input_text);
input_info_label.set_tooltip_text (input_text);
// Output label
string output_text;
PortSet& out_ports (_route->output()->ports() );
for (PortSet::iterator i = out_ports.begin(); i != out_ports.end(); ++i)
{
vector<string> connections_string;
i->get_connections(connections_string);
for(unsigned int j = 0; j < connections_string.size(); ++j)
{
if( connections_string[j].find("system:playback:") != string::npos )
connections_string[j].erase(0, 16);
output_text += connections_string[j] + " ";
}
}
output_text = "Out " + output_text;
output_info_label.set_text(output_text);
output_info_label.set_tooltip_text(output_text);
}
void
MixerStrip::info_panel_button_clicked (WavesButton *button)
{

View file

@ -169,6 +169,9 @@ class MixerStrip : public RouteUI
Gtk::Container& info_panel_home;
Gtk::Label& input_info_label;
Gtk::Label& output_info_label;
void update_inspector_info_panel ();
PBD::ScopedConnectionList _input_output_channels_update;
ArdourWindow* comment_window;
Gtk::TextView* comment_area;

View file

@ -634,6 +634,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
PBD::Signal1<void,bool> SoloActive;
PBD::Signal0<void> SoloChanged;
PBD::Signal0<void> IsolatedChanged;
PBD::Signal0<void> session_routes_reconnected;
/* monitor/master out */

View file

@ -2281,6 +2281,9 @@ Session::reconnect_existing_routes (bool withLock, bool reconnect_master)
}
graph_reordered ();
//emit signal
session_routes_reconnected ();
}