diff --git a/gtk2_ardour/icons/master_mute.png b/gtk2_ardour/icons/master_mute.png new file mode 100644 index 0000000000..c7c868283d Binary files /dev/null and b/gtk2_ardour/icons/master_mute.png differ diff --git a/gtk2_ardour/icons/master_mute_active.png b/gtk2_ardour/icons/master_mute_active.png new file mode 100644 index 0000000000..da71b7de15 Binary files /dev/null and b/gtk2_ardour/icons/master_mute_active.png differ diff --git a/gtk2_ardour/icons/master_mute_prelight.png b/gtk2_ardour/icons/master_mute_prelight.png new file mode 100644 index 0000000000..7e0a874f1a Binary files /dev/null and b/gtk2_ardour/icons/master_mute_prelight.png differ diff --git a/gtk2_ardour/master_bus_ui.cc b/gtk2_ardour/master_bus_ui.cc new file mode 100644 index 0000000000..6b83797ea7 --- /dev/null +++ b/gtk2_ardour/master_bus_ui.cc @@ -0,0 +1,124 @@ +/* + Copyright (C) 2006 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 + 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. +*/ + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#include "pbd/error.h" +#include "pbd/stl_delete.h" +#include "pbd/whitespace.h" +#include "pbd/memento_command.h" +#include "pbd/enumwriter.h" +#include "pbd/stateful_diff_command.h" + +#include +#include +#include +#include +#include +#include + +#include "ardour/amp.h" +#include "ardour/meter.h" +#include "ardour/event_type_map.h" +#include "ardour/processor.h" +#include "ardour/profile.h" +#include "ardour/route_group.h" +#include "ardour/session.h" +#include "ardour/session_playlists.h" +#include "ardour/audio_track.h" + +#include "evoral/Parameter.hpp" + +#include "canvas/debug.h" + +#include "ardour_ui.h" +#include "ardour_button.h" +#include "debug.h" +#include "global_signals.h" +#include "master_bus_ui.h" +#include "enums.h" +#include "gui_thread.h" +#include "keyboard.h" +#include "playlist_selector.h" +#include "point_selection.h" +#include "prompter.h" +#include "public_editor.h" +#include "region_view.h" +#include "rgb_macros.h" +#include "selection.h" +#include "streamview.h" +#include "utils.h" +#include "route_group_menu.h" + +#include "ardour/track.h" + +#include "i18n.h" +#include "dbg_msg.h" + +using namespace ARDOUR; +using namespace PBD; +using namespace Gtkmm2ext; +using namespace Gtk; +using namespace Editing; +using namespace std; +using std::list; + +MasterBusUI::MasterBusUI (PublicEditor& ed, + Session* sess) + : AxisView (sess) + , RouteUI (sess, "master_ui.xml") + , gain_meter_home (get_box ("gain_meter_home")) + , gm (sess, "master_ui_gain_meter.xml") +{ + LevelMeterHBox& level_meter = gm.get_level_meter(); + if (level_meter.get_parent ()) { + level_meter.get_parent ()->remove (level_meter); + } + + gain_meter_home.pack_start(level_meter, true, true); +} + +void +MasterBusUI::set_route (boost::shared_ptr rt) +{ + RouteUI::set_route (rt); +} + +MasterBusUI::~MasterBusUI () +{ +} + +void MasterBusUI::set_button_names () +{ +} + +std::string +MasterBusUI::state_id () const +{ + return string_compose ("master %1", _route->id().to_s()); +} diff --git a/gtk2_ardour/master_bus_ui.h b/gtk2_ardour/master_bus_ui.h new file mode 100644 index 0000000000..903cfafe90 --- /dev/null +++ b/gtk2_ardour/master_bus_ui.h @@ -0,0 +1,85 @@ +/* + Copyright (C) 2006 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 + 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. + +*/ + +#ifndef __tracks_master_bus_ui_h__ +#define __tracks_master_bus_ui_h__ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "ardour/playlist.h" +#include "ardour/types.h" + +#include "route_ui.h" +#include "enums.h" +#include "gain_meter.h" + +namespace ARDOUR { + class Session; + class Region; + class RouteGroup; + class IOProcessor; + class Processor; + class Location; + class Playlist; +} + + +class PublicEditor; +class RegionView; +class StreamView; +class Selection; +class RegionSelection; +class Selectable; +class AutomationTimeAxisView; +class AutomationLine; +class ProcessorAutomationLine; +class TimeSelection; +class RouteGroupMenu; + +class MasterBusUI : public RouteUI +{ +public: + MasterBusUI (PublicEditor&, + ARDOUR::Session*); + virtual ~MasterBusUI (); + + void set_route (boost::shared_ptr); + virtual void set_button_names (); + virtual std::string state_id () const; + +private: + Gtk::Box& gain_meter_home; + GainMeter gm; +}; + +#endif /* __tracks_master_bus_ui_h__ */ + diff --git a/gtk2_ardour/ui/master_ui.xml b/gtk2_ardour/ui/master_ui.xml new file mode 100644 index 0000000000..77e7c1e98a --- /dev/null +++ b/gtk2_ardour/ui/master_ui.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + +