summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-03-23 12:19:21 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-03-23 12:19:21 +0000
commitb5c21e65fc236ea75bc00961941d80ea42c0fa61 (patch)
tree0cdd14c21ccbda557b3a3060ff7f55e430537318 /gtk2_ardour
parent40f93ba6e0b7e8215d4f2942d30e34cc7cb688b9 (diff)
finish commit from yesterday ... sorry folks
git-svn-id: svn://localhost/ardour2/branches/3.0@6786 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_ui.cc72
-rw-r--r--gtk2_ardour/ardour_ui.h8
-rw-r--r--gtk2_ardour/ardour_ui_dialogs.cc2
-rw-r--r--gtk2_ardour/editor.cc2
-rw-r--r--gtk2_ardour/mixer_group_tabs.cc4
-rw-r--r--gtk2_ardour/mixer_strip.cc4
-rw-r--r--gtk2_ardour/mixer_ui.cc14
-rw-r--r--gtk2_ardour/monitor_section.cc2
-rw-r--r--gtk2_ardour/route_time_axis.cc4
-rw-r--r--gtk2_ardour/route_ui.cc10
-rw-r--r--gtk2_ardour/startup.cc15
-rw-r--r--gtk2_ardour/startup.h1
12 files changed, 58 insertions, 80 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index a6236b2038..4fc36dd0e8 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -1323,18 +1323,6 @@ ARDOUR_UI::session_add_audio_route (bool track, bool aux, int32_t input_channels
}
}
}
-
-#if CONTROLOUTS
- if (need_control_room_outs) {
- pan_t pans[2];
-
- pans[0] = 0.5;
- pans[1] = 0.5;
-
- route->set_stereo_control_outs (control_lr_channels);
- route->control_outs()->set_stereo_pan (pans, this);
- }
-#endif /* CONTROLOUTS */
}
catch (...) {
@@ -2272,62 +2260,49 @@ ARDOUR_UI::ask_about_loading_existing_session (const Glib::ustring& session_path
int
ARDOUR_UI::build_session_from_nsd (const Glib::ustring& session_path, const Glib::ustring& session_name)
{
-
- uint32_t mchns;
- AutoConnectOption iconnect;
- AutoConnectOption oconnect;
- uint32_t nphysin;
- uint32_t nphysout;
+ BusProfile bus_profile;
if (Profile->get_sae()) {
- mchns = 2;
- iconnect = AutoConnectPhysical;
- oconnect = AutoConnectMaster;
- nphysin = 0; // use all available
- nphysout = 0; // use all available
+ bus_profile.master_out_channels = 2;
+ bus_profile.input_ac = AutoConnectPhysical;
+ bus_profile.output_ac = AutoConnectMaster;
+ bus_profile.requested_physical_in = 0; // use all available
+ bus_profile.requested_physical_out = 0; // use all available
} else {
/* get settings from advanced section of NSD */
if (_startup->create_master_bus()) {
- mchns = (uint32_t) _startup->master_channel_count();
+ bus_profile.master_out_channels = (uint32_t) _startup->master_channel_count();
} else {
- mchns = 0;
+ bus_profile.master_out_channels = 0;
}
if (_startup->connect_inputs()) {
- iconnect = AutoConnectPhysical;
+ bus_profile.input_ac = AutoConnectPhysical;
} else {
- iconnect = AutoConnectOption (0);
+ bus_profile.input_ac = AutoConnectOption (0);
}
/// @todo some minor tweaks.
-
- oconnect = AutoConnectOption (0);
+
+ bus_profile.output_ac = AutoConnectOption (0);
if (_startup->connect_outputs ()) {
if (_startup->connect_outs_to_master()) {
- oconnect = AutoConnectMaster;
+ bus_profile.output_ac = AutoConnectMaster;
} else if (_startup->connect_outs_to_physical()) {
- oconnect = AutoConnectPhysical;
+ bus_profile.output_ac = AutoConnectPhysical;
}
}
- nphysin = (uint32_t) _startup->input_limit_count();
- nphysout = (uint32_t) _startup->output_limit_count();
+ bus_profile.requested_physical_in = (uint32_t) _startup->input_limit_count();
+ bus_profile.requested_physical_out = (uint32_t) _startup->output_limit_count();
}
- if (build_session (session_path,
- session_name,
- mchns,
- iconnect,
- oconnect,
- nphysin,
- nphysout,
- engine->frame_rate() * 60 * 5)) {
-
+ if (build_session (session_path, session_name, bus_profile)) {
return -1;
}
@@ -2557,7 +2532,7 @@ ARDOUR_UI::load_session (const Glib::ustring& path, const Glib::ustring& snap_na
loading_message (string_compose (_("Please wait while %1loads your session"), PROGRAM_NAME));
try {
- new_session = new Session (*engine, path, snap_name, mix_template);
+ new_session = new Session (*engine, path, snap_name, 0, mix_template);
}
/* this one is special */
@@ -2632,13 +2607,7 @@ ARDOUR_UI::load_session (const Glib::ustring& path, const Glib::ustring& snap_na
}
int
-ARDOUR_UI::build_session (const Glib::ustring& path, const Glib::ustring& snap_name,
- uint32_t master_channels,
- AutoConnectOption input_connect,
- AutoConnectOption output_connect,
- uint32_t nphysin,
- uint32_t nphysout,
- nframes_t initial_length)
+ARDOUR_UI::build_session (const Glib::ustring& path, const Glib::ustring& snap_name, BusProfile& bus_profile)
{
Session *new_session;
int x;
@@ -2660,8 +2629,7 @@ ARDOUR_UI::build_session (const Glib::ustring& path, const Glib::ustring& snap_n
_session_is_new = true;
try {
- new_session = new Session (*engine, path, snap_name, input_connect, output_connect,
- master_channels, nphysin, nphysout, initial_length);
+ new_session = new Session (*engine, path, snap_name, &bus_profile);
}
catch (...) {
diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h
index 47be382f46..6699b423cc 100644
--- a/gtk2_ardour/ardour_ui.h
+++ b/gtk2_ardour/ardour_ui.h
@@ -124,13 +124,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr
int load_session (const Glib::ustring& path, const Glib::ustring& snapshot, Glib::ustring mix_template = Glib::ustring());
bool session_loaded;
- int build_session (const Glib::ustring& path, const Glib::ustring& snapshot,
- uint32_t master_chns,
- ARDOUR::AutoConnectOption input_connect,
- ARDOUR::AutoConnectOption output_connect,
- uint32_t nphysin,
- uint32_t nphysout,
- nframes_t initial_length);
+ int build_session (const Glib::ustring& path, const Glib::ustring& snapshot, ARDOUR::BusProfile&);
bool session_is_new() const { return _session_is_new; }
ARDOUR::Session* the_session() { return _session; }
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc
index a15d8fc2be..136e6f79b7 100644
--- a/gtk2_ardour/ardour_ui_dialogs.cc
+++ b/gtk2_ardour/ardour_ui_dialogs.cc
@@ -81,7 +81,7 @@ ARDOUR_UI::set_session (Session *s)
ActionManager::set_sensitive (ActionManager::range_sensitive_actions, false);
}
- if (!_session->control_out()) {
+ if (!_session->monitor_out()) {
Glib::RefPtr<Action> act = ActionManager::get_action (X_("options"), X_("SoloViaBus"));
if (act) {
act->set_sensitive (false);
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 5d47554f08..7b3aa815ce 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -4831,7 +4831,7 @@ Editor::handle_new_route (RouteList& routes)
for (RouteList::iterator x = routes.begin(); x != routes.end(); ++x) {
boost::shared_ptr<Route> route = (*x);
- if (route->is_hidden() || route->is_control()) {
+ if (route->is_hidden() || route->is_monitor()) {
continue;
}
diff --git a/gtk2_ardour/mixer_group_tabs.cc b/gtk2_ardour/mixer_group_tabs.cc
index 2563adb1d6..a52271d0de 100644
--- a/gtk2_ardour/mixer_group_tabs.cc
+++ b/gtk2_ardour/mixer_group_tabs.cc
@@ -55,7 +55,7 @@ MixerGroupTabs::compute_tabs () const
MixerStrip* s = (*i)[_mixer->track_columns.strip];
- if (s->route()->is_master() || s->route()->is_control() || !s->marked_for_display()) {
+ if (s->route()->is_master() || s->route()->is_monitor() || !s->marked_for_display()) {
continue;
}
@@ -131,7 +131,7 @@ MixerGroupTabs::routes_for_tab (Tab const * t) const
MixerStrip* s = (*i)[_mixer->track_columns.strip];
- if (s->route()->is_master() || s->route()->is_control() || !s->marked_for_display()) {
+ if (s->route()->is_master() || s->route()->is_monitor() || !s->marked_for_display()) {
continue;
}
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 6b92873569..6f55d7a684 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -344,7 +344,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
solo_button->show ();
}
- if (_mixer_owned && (route()->is_master() || route()->is_control())) {
+ if (_mixer_owned && (route()->is_master() || route()->is_monitor())) {
if (scrollbar_height == 0) {
HScrollbar scrollbar;
@@ -448,7 +448,7 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
processor_box.show();
- if (!route()->is_master() && !route()->is_control()) {
+ if (!route()->is_master() && !route()->is_monitor()) {
/* we don't allow master or control routes to be hidden */
hide_button.show();
}
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index 6a273434e3..dd7d12d763 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -321,7 +321,7 @@ Mixer_UI::add_strip (RouteList& routes)
continue;
}
- if (route->is_control()) {
+ if (route->is_monitor()) {
if (!_monitor_section) {
_monitor_section = new MonitorSection (_session);
out_packer.pack_end (_monitor_section->tearoff(), false, false);
@@ -624,7 +624,7 @@ Mixer_UI::set_all_strips_visibility (bool yn)
continue;
}
- if (strip->route()->is_master() || strip->route()->is_control()) {
+ if (strip->route()->is_master() || strip->route()->is_monitor()) {
continue;
}
@@ -652,7 +652,7 @@ Mixer_UI::set_all_audio_visibility (int tracks, bool yn)
continue;
}
- if (strip->route()->is_master() || strip->route()->is_control()) {
+ if (strip->route()->is_master() || strip->route()->is_monitor()) {
continue;
}
@@ -775,7 +775,7 @@ Mixer_UI::redisplay_track_list ()
if (strip->packed()) {
- if (strip->route()->is_master() || strip->route()->is_control()) {
+ if (strip->route()->is_master() || strip->route()->is_monitor()) {
out_packer.reorder_child (*strip, -1);
} else {
strip_packer.reorder_child (*strip, -1); /* put at end */
@@ -783,7 +783,7 @@ Mixer_UI::redisplay_track_list ()
} else {
- if (strip->route()->is_master() || strip->route()->is_control()) {
+ if (strip->route()->is_master() || strip->route()->is_monitor()) {
out_packer.pack_start (*strip, false, false);
} else {
strip_packer.pack_start (*strip, false, false);
@@ -796,7 +796,7 @@ Mixer_UI::redisplay_track_list ()
strip->set_marked_for_display (false);
- if (strip->route()->is_master() || strip->route()->is_control()) {
+ if (strip->route()->is_master() || strip->route()->is_monitor()) {
/* do nothing, these cannot be hidden */
} else {
if (strip->packed()) {
@@ -994,7 +994,7 @@ Mixer_UI::track_display_button_press (GdkEventButton* ev)
MixerStrip* strip = (*iter)[track_columns.strip];
if (strip) {
- if (!strip->route()->is_master() && !strip->route()->is_control()) {
+ if (!strip->route()->is_master() && !strip->route()->is_monitor()) {
bool visible = (*iter)[track_columns.visible];
(*iter)[track_columns.visible] = !visible;
}
diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc
index 32a0247e99..9490d5a72a 100644
--- a/gtk2_ardour/monitor_section.cc
+++ b/gtk2_ardour/monitor_section.cc
@@ -275,7 +275,7 @@ MonitorSection::set_session (Session* s)
if (_session) {
- _route = _session->control_out ();
+ _route = _session->monitor_out ();
if (_route) {
/* session with control outs */
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 4674bd3c19..887ca93bd0 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -785,7 +785,7 @@ RouteTimeAxisView::set_height (uint32_t h)
gm.get_gain_slider().show();
mute_button->show();
- if (!_route || _route->is_control()) {
+ if (!_route || _route->is_monitor()) {
solo_button->hide();
} else {
solo_button->show();
@@ -811,7 +811,7 @@ RouteTimeAxisView::set_height (uint32_t h)
gm.get_gain_slider().hide();
mute_button->show();
- if (!_route || _route->is_control()) {
+ if (!_route || _route->is_monitor()) {
solo_button->hide();
} else {
solo_button->show();
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index 6c96ebac48..b0075a6a67 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -223,7 +223,7 @@ RouteUI::set_route (boost::shared_ptr<Route> rp)
mute_button->show();
- if (_route->is_control()) {
+ if (_route->is_monitor()) {
solo_button->hide ();
} else {
solo_button->show();
@@ -677,7 +677,7 @@ RouteUI::listen_changed(void* /*src*/)
int
RouteUI::solo_visual_state (boost::shared_ptr<Route> r)
{
- if (r->is_master() || r->is_control()) {
+ if (r->is_master() || r->is_monitor()) {
return 0;
}
@@ -701,7 +701,7 @@ RouteUI::solo_visual_state (boost::shared_ptr<Route> r)
int
RouteUI::solo_visual_state_with_isolate (boost::shared_ptr<Route> r)
{
- if (r->is_master() || r->is_control()) {
+ if (r->is_master() || r->is_monitor()) {
return 0;
}
@@ -727,7 +727,7 @@ RouteUI::solo_visual_state_with_isolate (boost::shared_ptr<Route> r)
int
RouteUI::solo_isolate_visual_state (boost::shared_ptr<Route> r)
{
- if (r->is_master() || r->is_control()) {
+ if (r->is_master() || r->is_monitor()) {
return 0;
}
@@ -779,7 +779,7 @@ RouteUI::mute_changed(void* /*src*/)
int
RouteUI::mute_visual_state (Session* s, boost::shared_ptr<Route> r)
{
- if (r->is_master() || r->is_control()) {
+ if (r->is_master() || r->is_monitor()) {
return 0;
}
diff --git a/gtk2_ardour/startup.cc b/gtk2_ardour/startup.cc
index fb3e950ba2..b0a0233adb 100644
--- a/gtk2_ardour/startup.cc
+++ b/gtk2_ardour/startup.cc
@@ -561,6 +561,13 @@ ArdourStartup::populate_session_templates ()
}
}
+static bool
+lost_name_entry_focus (GdkEventFocus* ev)
+{
+ cerr << "lost focus\n";
+ return false;
+}
+
void
ArdourStartup::setup_new_session_page ()
{
@@ -711,6 +718,14 @@ ArdourStartup::setup_new_session_page ()
set_page_title (session_vbox, _("New Session"));
set_page_type (session_vbox, ASSISTANT_PAGE_CONFIRM);
+ new_name_entry.signal_map().connect (sigc::mem_fun (*this, &ArdourStartup::new_name_mapped));
+ new_name_entry.signal_focus_out_event().connect (sigc::ptr_fun (lost_name_entry_focus));
+}
+
+void
+ArdourStartup::new_name_mapped ()
+{
+ cerr << "Grab new name focus\n";
new_name_entry.grab_focus ();
}
diff --git a/gtk2_ardour/startup.h b/gtk2_ardour/startup.h
index d2aadd62b1..8867c2dfb3 100644
--- a/gtk2_ardour/startup.h
+++ b/gtk2_ardour/startup.h
@@ -156,6 +156,7 @@ class ArdourStartup : public Gtk::Assistant {
Gtk::Entry new_name_entry;
Gtk::FileChooserButton new_folder_chooser;
Gtk::FileChooserButton session_template_chooser;
+ void new_name_mapped ();
struct SessionTemplateColumns : public Gtk::TreeModel::ColumnRecord {
SessionTemplateColumns () {