From b3efab32f4ce00a3074edf8c3107894c76c406ba Mon Sep 17 00:00:00 2001 From: VKamyshniy Date: Tue, 15 Jul 2014 01:01:45 +0300 Subject: [PATCH] [Summary] Progressing MASTER UI --- gtk2_ardour/icons/master_mute.png | Bin 0 -> 1722 bytes gtk2_ardour/icons/master_mute_active.png | Bin 0 -> 1761 bytes gtk2_ardour/icons/master_mute_prelight.png | Bin 0 -> 1804 bytes gtk2_ardour/master_bus_ui.cc | 124 +++++++++++++++++++++ gtk2_ardour/master_bus_ui.h | 85 ++++++++++++++ gtk2_ardour/ui/master_ui.xml | 42 +++++++ gtk2_ardour/ui/master_ui_gain_meter.xml | 41 +++++++ 7 files changed, 292 insertions(+) create mode 100644 gtk2_ardour/icons/master_mute.png create mode 100644 gtk2_ardour/icons/master_mute_active.png create mode 100644 gtk2_ardour/icons/master_mute_prelight.png create mode 100644 gtk2_ardour/master_bus_ui.cc create mode 100644 gtk2_ardour/master_bus_ui.h create mode 100644 gtk2_ardour/ui/master_ui.xml create mode 100644 gtk2_ardour/ui/master_ui_gain_meter.xml diff --git a/gtk2_ardour/icons/master_mute.png b/gtk2_ardour/icons/master_mute.png new file mode 100644 index 0000000000000000000000000000000000000000..c7c868283d782d7e17087f145fd8046b12c44292 GIT binary patch literal 1722 zcmbVNc~BEq7+)0`lv=@=)|)Jg;sIoLLv9jcLVzFyX+Vpj!jde>N|KG)MG_05SSu9q zs6ufNw3S*d4Hl0&Rsk!B1**)5#RD&}c07=1@hECbHypNqICiEx^Y*>(+u!fI-)w$d zY~;AHQ^o=SFfK}^)G#~Dtf?OE%)9&N_KD0kg3?4PfU5J;?lFR!Uapn{K=l^SSJ-Gq z9%E50rT}09?OG#lq_J#_axxvBNXL_DbS7rS0lAJ$#la{OrpGlnrn9eX!X*GO%0MI} z(uwLAv6eKkF&BnyGg%lm07zsu3#LuSX)qPn6J{yoJW&UMgiZ>5$WtR~OBik-RI9Cc z{OZ^Q?do)`NC(M6L5WSw7%<^92HH$UGbOf3p#i&M=Im0#5I6v#)1}a0P>Jd|FpRX~ zAdig%X%RjO^0{o3i-@?QK#+r=2#j)IL=c1`VxB;Zpy1F0G2X1YG_gh*G31Mpq>zE8 zEn*nX%*ZYMFkd z`3;kq+P&S83&=zxUSK7dreH=Tsm(CqW;#kKg_tjF9ibERghHX5D+uSxIS5~fqC!L% ztmN|*2uH!=ig?0d8*kzYMBE4@f*Yn3h!|#gutJVuMci!?u?bW95uPV zhX7#Y_fblDLSp2@;<|L`1Fy4ZL)_YkuQzOUYhaZ*mUVMeFye=bpI9jb)vx@^Eh#$s z;Suj{ZdvZSJhvE3HMX-Sl-k_gbmJS(a*s8)szVNw&$Dlyw7>L^n_IM|IseNp{oyOk zlAu~g)vTt)uc|HQ`Ygi0oiP!iGTB!*ot4h}_vfcpmz=DvZ8mUUv_!IAJ zEh;GRd^)*3r%g8Lop$Hc^JrPt0{`u@(9qCDzp=cYe5CnIHKXFvgC^_o9UUD>?>&C@ z%zt~6^5stFg9p*s9`>xP9cNO%XzgokX(?C(`)r98m$j!OlP;3WlanjQhfK&f?9Dm8 zw0Ir}I-Sl5g%LA%w^p(`^7U82xkd92>~Cp_J~|HCL`r>qV;o!U6(yMT&arWF0vTQ@^Y0H(Y= z=i}Mhq=r1sD6ep(Od?S^7RCEsH)lRA4#`VB-LBfJ_SjSU2W7Vep6}XnX1S=&VFY@v zG^Dg%+nilb$3C69HipfZX_rnP-*ygWL&tM7Tz3_**#%qu&`yFZ5;C*3+F}SO3IWfy;lLcqHb~+A-zFPPzUKQQ@)5Dn&}}--Y## A?*IS* literal 0 HcmV?d00001 diff --git a/gtk2_ardour/icons/master_mute_active.png b/gtk2_ardour/icons/master_mute_active.png new file mode 100644 index 0000000000000000000000000000000000000000..da71b7de15aa3633a88113681c1d50a1dfc0ebcb GIT binary patch literal 1761 zcmbVNYfuwc6kb};6s1K9B4CF#C_c&Vh9o4B07*7LEI|yY!AE6DHV{d&F+3!2=JDVF7 z8Rq2Z=?DOTlQbNaQ#(X0FWNZj-FfqOcWSdU$-_jziH509D8W8KC=&v}$-)V5Fb7Kh z%n%-H0st4%w(Rb!z0H);gOn)9XhKaUV@4bhs)%?TldY%9g=0gBVZLgr^$u z=+wvir<#0qWQ^aQR*xWH2AL0h^SfOwz8%6_o6jS0a5+W=K7ZEW7Pzl0C{KvRby@|y1 zN_@<(hVnbgWrco}%NHAQj3kUP1fd<9fT%=*But5f0Tf5G83-uDlp4KFV{6c8z9??g ztix5IMnVUURG6>%Km=^we`P+(RsEl;K~yl1Z9M)pE@LWc25rap!%qqCuMe)L?u?PT z97n~*odEDjs}vQ+D8im@4^DIyx_)mBz2-J9TH{(GuJMuBOXtx=u5M09&azTT9X+d5 zs?=tGo0F)Vwn^gn%W1x4Q%+W%C~wN=o591mo;9;vdKQLf?e7(IT|awI_iRbS!#{$i ztZTd5($ZFw;{Td+rJ`+UHajoR8mqWrsrvcqn=0S({EEpAri}HylX>@c7ab~b^QezJ zS|O-izSVDeduylruAM{AcMz=CcluT?ww|Bx;=pkETV1njetBb@mNsZTUpm-Z`{#yV zkL-J8ZhZcrW7+*TvQxNaV&9&kjqCfv)q!)9+BRH^>t8f8-dZ!vpIPj0t+c+{UTR2_ zoecGO(p7w}ofu3j>p$50h|JQ>PYz$2B(Es2c#=0i4@gP79kKi6)dEu=Sy*eetlE~n zzW>q|F+WnDA$%K}c*nV(;qHJ=!t)u=r=_9UK}Ck*!%&k~%Ai~?NZp_D3_9Y^WWSE} z>K~}nCZQg_hl3ZSYFC^Pn9DeJG?zI;=f2Dgxq>7GseY^+aK2c_@)cF@;`{8%%>OBC zXns!Ir58u~s%c(NyH{@Q2;6%tO+S`c9^mGjJo) zD}>e5oddd9E^1KA7q<$FA2qx(^$gsY(bt;XcsXR-A*TYCqX=j@E9__&R+Uk$!rKF9 zPP9}hT7Y|}b1&{$WAuODvODO=T$Hso-7 z#mPy}?y_nZ&DqlIdt5uq{@8;Z_AB1X>$DdZ&PH9lmvGR`$9H*+t4kJ4@5XSkEA6`y zn*D(odM>ntqbSffJ*-gtFs01gAl`S%&ihQs_~V;P1F-?k<@EBHgMna=YiwsuAE)<% qGp`48PJbzxkt3E|8HQFXYOX;qZk|z>PgTFP{X(RYNc4m#F6(b#GNb_j literal 0 HcmV?d00001 diff --git a/gtk2_ardour/icons/master_mute_prelight.png b/gtk2_ardour/icons/master_mute_prelight.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0a874f1a4c1e76d43af0a2d8b8513a88ea5d43 GIT binary patch literal 1804 zcmbVNYfuwc6kZFah*GMxN*k3msARBYcSGI~X+i=?5yd1k0$OlM7FbEL>1Kfh1XOeo zt5BsXsQ9W@TOO_W>PVGhMM`~P1uRi9)dB*dv_&n7({4a)e>irgJ9GEmbM}1SdE9em z3!)c9czM3-2>^hXTBXp?J47$02ZMg!yU;q7-o{up5ptmF(zI?`a8H&+$pGMR(fA>B zEG>_-sA8=EFo|-lG3`mdHd^@(rHrApL=u&Ok{BQ}5Q!M5HlfLw215<@j~cNM0B}pe zbum;-)O?AaFmX_q4aa7(&}aY%3AI^JeJVzQiC8jjma-ny)UrU_AZ0D)N5N5+Ff0XE zWs;aSbAe8unW`5XSfTU45SxT1Fkuu5+Dt~XRbrE}hIu9Q*`=fX6|2u$U))59GoK3?WASA(cVZyl0>5jf9{Kx zq^uN*vPd8(BO`;85yTZP_Z1o#uP+(R)iCZX~FoP~e zG?7T7q%1npkrYgpsHhjjX6y4p(Itays0BheFk~{h@*1|bQX1@^FkWhH)!8i=q`|C2 z8mXu6Bgt zA_Nh^q9BDpAcwhfK2OXSjdHvUD-`p>;cz~z5Q=G}GDt2%cuEl>=L!`{M1%y5V%26V zg_`x)s9&7+JA&nfzY;46BQcaBNF6~KM>`-og`fy)3Sj}mw0sT%MxlD#?9#X{Xe3_+ zM&jw1A)F*k;BbW{_)8+-i~lS05v<|=R1Knofn4qJuXY(#(LLxozG!}0criYhnVuPv z9*!@=$P#+yJk$!AE+(RH+vU`^7QNXJQQ73kn;17ADe-8TBaNxs+B4hnvF5<)DekiI z3Xj%)Ozw@>Ulgs^~qbo{~83 zSGS^j7fzoDep=R+U7S|-Y-+B0?Y_K)*}EG{x70tmK`1p|IhB@*LB_45?saQ0Gb#&j zKXvW2ip}0Tr*@VGFYw=-`)7E2VdIV4`yQ1Z>qogW8wZ31_uB#=rlmQOosMOXYu6Wb zU1L@}K3YAq>F|Rm_s;Ze^pe#kBuXRpo05-&Fth#6&z<|zwd|O&SLS@tjSmiVll@`WbMZz#zk0~3jLTSa)Vt^|?O5=sXz)#s63qQFLr0kiIm}clz#6)@kycpI5gHtzFf8n>j6~ zD(G$9Dr?xe4y}Jj>w)o;biyHH>>c;slFN7d)^~neKD+Hytu}eg6}EqHRb7LBv81vu zAbQ4G&$OM3@L3O=X5d%aoG8P5tEILwVCB`D`2&Nwn-;yc2hQ8DMK0^GFV}q??^7dd zIcP5^iRdf#n(Q7wpcvEA7fpW3jyccBRbkf_)GeI7sx6YSrMR1lM|7Qx($Wgg%=uMi zeZ^UBiz#qnvt7s*YXuY9nZX`D#wXVkOx~^Qm-nYC)%=7*CZNz>P`A_S_`R-?IF&y0 z1I@0!r)TR9?ObG9HMsxqCa0f@(ZJB}n7;ku8#@w=ubpsgI2U;OM$Z{r0Q1E0x^Y>N z%N%2i1NBR~Cg&Y=-gGdarYR*4Li*%~ZJzCwrv5X%zZDI7U2Yej{3X_Y@Oa(8-Ee7o zBvA^_s1ZfR668l>CdK6{IuPF8qP< lAu4vuuXg{d_K?%5%yAp4IGQ>~MuM)tjas=tQ6*ot`foowy^R0> literal 0 HcmV?d00001 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 @@ + + + + + + + + + + + + + +