Commit Graph

267 Commits

Author SHA1 Message Date
22c497b62d Add a separate, dedicated transport-control window 2017-12-22 22:15:50 +01:00
aab787f686 Separate and consolidate Transport-Control-UI code 2017-12-22 22:15:50 +01:00
cbe342c357 some structure/code for managing menu sensitivity now that VCAs are selectable 2017-08-07 12:04:11 -04:00
eb1e423b75 Remove <gtkmm.h> include from header files. 2017-07-17 21:06:04 +02:00
5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
c0df127dc4 Close all dialogs when closing a session (not only at exit). 2017-04-22 23:06:22 +02:00
a1a2e088a5 Allow to switch master-meter type in the toolbar-meter 2017-02-24 23:41:22 +01:00
a732c7c9fa Allow to un/load Lua Session Scripts in the Script Manager 2017-02-19 01:29:08 +01:00
9c10fc5b5c Properly update main window-title.
This fixes an issue with Session > Snapshot & switch, not updating
the widow title to the new snapshot (and probably some other edge cases
where it was possible for a detached editor and main window to
have different titles).

The main UI now updates the window-title like the Editor on StateSaved.
(it may lead to dup updates with DirtyChanged, c'est la vie)
2017-02-16 16:07:59 +01:00
0092442a64 mark loop button insensitive when there's no loop-range 2017-01-28 12:05:50 +01:00
a2bf54c041 re-group preferences part eight and nine of 27 (probably) 2016-12-30 17:04:50 +01:00
73ad6b3766 Allow to customize parts of the main toolbar 2016-12-20 03:59:15 +01:00
58124e7544 Don't dynamically allocate ShuttleCtrl
With manage() both the button and shuttle were free'ed when the table
was destroyed.
2016-12-20 00:20:00 +01:00
4a83bd80a5 Prepare mini-timeline widget for toolbar 2016-12-17 02:43:42 +01:00
85e4b1d98f Move selection/punch clocks to editor Sidebar 2016-12-17 02:43:42 +01:00
1a25b906b3 Commence transport tool bar re-layout 2016-12-17 02:43:42 +01:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
600697513e when using toggle-editor-and-mixer, if current tab is neither, go to mixer first.
This makes using Alt-m (the default binding) feel a lot more sensible
2016-07-12 09:42:34 -04:00
a5ae129a06 take a rather different approach toggling editor+mixer 2016-06-07 18:30:04 -04:00
99b0712be4 remove the entire idea of a tabbable for VCA master faders
Conflicts:
	gtk2_ardour/master_faders.cc
2016-05-31 15:30:38 -04:00
5c658db4bf most of the changes required to add a new master faders tabbable
the visibility button isn't actually working correctly
2016-05-31 15:30:38 -04:00
7762422087 use main window visibility when toggling between editor + mixer 2016-05-10 10:04:03 -04:00
05baa2d1c1 use WindowManager toggle API for script-manager 2016-05-06 03:59:02 +02:00
c4c74933e1 Fix unused variable warning 2016-03-21 18:58:31 -04:00
a06a5ecfd6 change the way the key editor gets populated; drop binding sets with no actions 2016-03-15 19:46:28 -04:00
285b76dc08 do the safety dance 2016-03-15 16:46:52 -04:00
89ba1c9edd show processor box bindings in key binding editor 2016-03-15 16:42:23 -04:00
58f259e4f7 add new API to ARDOUR_UI to allow dynamic add/remove of keyboard bindings to key binding editor 2016-03-15 16:41:15 -04:00
08f9a439a7 fix segfaults/crashes when quitting under valgrind 2016-03-15 15:35:11 -04:00
3a2ba2e958 Rewrite commit 68e81a6, prefer forward declaration and includes in cc.
only MSVC requires the complete class for the templated c'tor in
window manager.h
2016-02-28 11:58:47 +01:00
68e81a6afc Move our #inclusions for "lua_script_manager.h"
For whatever reason, almost none of gtk2_ardour will compile (with MSVC) unless 'lua_script_manager.h' gets #included by 'gtk2_ardour/window_manager.h'. No idea why... :-(
2016-02-27 16:29:56 +00:00
d25d583dad add previous-tab and next-tab actions and bind to PRIMARY-page-up/down by default 2016-02-25 15:08:06 -05:00
2532911b18 Editor Actions Scripts & Manager 2016-02-23 15:42:53 +01:00
6b940afa36 Lua Script Console Window 2016-02-23 15:42:13 +01:00
8a1bfd45f4 fix crash caused by missing check on editor->own_window() 2016-02-22 15:31:25 -05:00
a29fd4542e a bunch of stuff to make tab/window switching work better, and provide Alt-m to toggle between editor+mixer in a sane way 2016-02-22 15:31:25 -05:00
64de2b415a use Tabbable::change_visibility to make tab/window control buttons do the right thing 2016-02-22 15:31:25 -05:00
51d403d485 allow pixbuf_from_string() to return the full size pixbuf, with optional padding 2016-02-22 15:31:25 -05:00
336d321a1b prevent dragging the last tab from the notebook 2016-02-22 15:31:25 -05:00
1e537cb539 remove tab-related code for tabbed notebook, add tooltips to new buttons 2016-02-22 15:31:25 -05:00
51879285c5 tab-free tabbed display, part 1.2 2016-02-22 15:31:25 -05:00
47cf908998 try using top-menu-bar buttons and not notebook tabs to control window visibility 2016-02-22 15:31:25 -05:00
bc487bb4b0 replicate the remove-all-trailing whitespace commit(s) in master 2016-02-22 15:31:24 -05:00
589f2a1ab8 change suffix of keybinding files to ".keys" to avoid conflict with earlier versions.
Move some code around that should never have been inside libs/ardour to begin with.
2016-02-22 15:31:24 -05:00
67e19c177f radically change Keyboard/Binding API design to disconnect Gtk::Action lookup from binding definition
We need this because we need binding information/objects before all
Actions have been defined.
2016-02-22 15:31:24 -05:00
2c6799f247 changes to support new key bindings editor design 2016-02-22 15:31:23 -05:00
d5bcf90b1a remove all tearoffs except the monitor section.
We don't need this functionality anymore as we build on 15 years experience plus the new tabbed structure
2016-02-22 15:31:23 -05:00
58757ebd38 more fixes for tabbable visibility management 2016-02-22 15:31:23 -05:00
cf9983e4d7 remove debug output 2016-02-22 15:31:22 -05:00
8c54142734 hide splash in a sensible and understandable way 2016-02-22 15:31:22 -05:00
291575683c dynamically update menus/actions controlling tabbable show/hide/attach/detach operations 2016-02-22 15:31:22 -05:00
16731d07d3 remove use of current_toplevel() where unnecessary, fix broken necessary cases, generally fix up show/hide/attach/detach for Tabbables 2016-02-22 15:31:22 -05:00
cf93eaec98 break out window ops for Tabbables into show/hide/attach/detach 2016-02-22 15:31:22 -05:00
1158271f72 remove "toggle-foo" style actions related to editor/mixer windows and provide new methods that just use Tabbable::make_visible() 2016-02-22 15:31:22 -05:00
50e4ebff36 update main window title appropriately 2016-02-22 15:31:22 -05:00
9010262bed first compilable version of tabbable design.
I would have loved to split this apart, but there are just so many interrelated changes,
it makes little sense and would be a huge effort that would break future git bisect
use because so many intermediate commits would not compile
2016-02-22 15:31:21 -05:00
71c096a906 consolidate code 2016-02-22 15:31:21 -05:00
1a3df69a17 update Window > Mixer accordingly 2016-02-22 15:31:21 -05:00
02c8d6d648 the basics of tabbed 2016-02-22 15:31:21 -05:00
ffde3968ec allow to show/hide Monitor Section 2015-12-19 17:42:36 +01:00
3b3261ef55 allow hiding and showing the mixer list 2015-12-10 17:21:02 -06:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
6b019a4953 Move UIConfiguration Singleton into UIConfiguration header
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00
45d487f16e Move ARDOUR_UI::ui_scale into UIConfiguration class 2015-09-16 16:55:17 -04:00
1e06139c16 remove debug code 2015-06-27 01:32:11 +02:00
11c6aaec7a check editor/mixer/meterbridge window overlap for show/hide 2015-06-27 01:31:22 +02:00
1bd7199f4f consolidate code 2015-06-27 01:00:03 +02:00
4fc3d98af8 update Window > Mixer accordingly 2015-06-27 01:00:03 +02:00
02be98b3d6 Alternative approach for show/hide Meterbridge #6386
* no more on-top (transient to editor)
* similar approach as toggle editor/mixer

see also 0cd1db76f0
2015-06-26 22:35:54 +02:00
0cd1db76f0 keep meterbridge on top of editor - see #6386 2015-06-25 20:24:03 +02:00
3e1fecbf37 fix scaling of master-meter in toolbar 2015-04-24 02:58:09 +02:00
5afc5272b6 scale peak-meter reset button 2015-04-23 00:29:55 +02:00
nick_m
44d4652995 Introduce theme preference "transients follow front" which, when enabled,
sets transient windows to be transients for the front window when switching
between the editor and mixer. This is the current behavior on non-osx
builds.
When disabled, there is no reparenting of transient windows. This is the
current behavior on osx.
This preference defaults to off.

Also fix "all windows are dialogs" checkbox being out of sync with the ui
state.
2015-03-10 02:25:25 +11:00
0b5ceaca4e add handler for, and connect to, Session::SaveSessionRequested 2015-01-24 19:17:13 -05:00
b5c9a92a58 Move Timers/Timeouts from ARDOUR_UI into functions in timers.h and use PBD::Timers 2015-01-01 19:04:14 +07:00
64fa63212f move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration 2014-12-22 13:39:46 -05:00
f6e88ead01 move theme manager into preferences window 2014-12-15 12:32:41 -05:00
baea04713f combine short periodic timeout functions for windows.
Fixes excessive CPU usage (spinlock instead of sleep/WaitForSingleObject)

MS Windows has a scheduler time-slice of 15ms.
Ardour has two fast timeout functions: The FPS timeout (20-60Hz, clock
video-monitor) and a fast-screen-update (25Hz, meters etc).
They are loosely coupled (async) and scheduled from the main application
thread (gtk main).

Since they're async, gtk schedules them as needed. Even though the actual
period of the separate timeouts is larger. The effective period between
all timeout callbacks is <15ms and the main application thread never idles.
2014-10-25 19:21:15 +02:00
d8e64103a6 fix CPI window handling:
Move control-surface editor-window management to the control surface.
The Preferences-Dialog is not aware of session specific or surface
specific actions and cannot properly manage the window.
2014-09-13 16:59:02 +02:00
026c71331e distinguish global peak-reset button from meters:
With > 2 channels, the editor toolbar meters are
otherwise very similar to the reset-button.
2014-08-31 07:43:21 +02:00
16443f44a2 add an idle callback at FPS 2014-08-30 20:57:22 +02:00
74f313dd6b Rationalize ArdourButton and lots of associated theming issues.
ArdourButtons now have a "pushed" animation.
The gradient is now implemented in the button, rather than providing 2 colors in the theme, which was burdensome.
Lots of code cleanup in ArdourButton.  Removed several unnecessary flags.
Refactor more stuff into route_ui.
2014-08-22 11:51:20 -05:00
ce5744ae51 Fix collision between keyword interface used in glibmm and windows headers 2014-05-14 09:47:40 +10:00
509159c3c6 first pass hiding/rearrangement of UI elements related to trx 2014-04-10 13:30:25 -04:00
86343b6c15 merge with master, primarily for adrian's maximise-mixer change 2014-03-22 10:58:26 -04:00
Adrian Knoth
5f45828c67 Add option to display the mixer in fullscreen
This is useful for dual-head setups.
2014-03-21 16:08:53 +01:00
3020b224fa Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there 2014-01-10 16:07:57 -05:00
b0e4f81eb3 merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
Still need to add API export/visibility macros for the canvas library.
2013-12-27 14:29:06 -05:00
fd1d2d804f fix logic for display of transport bar meters
Always remove from parent (if there is one), then repack if necessary.
2013-12-13 10:52:15 -05:00
d7206b7830 fix gtk child packing errors related to the transport bar meter box/peak display 2013-12-03 19:45:34 -05:00
af9ac37b60 fix for toolbar master-meter w/o master bus and/or detached toolbar 2013-11-23 16:48:26 +01:00
1c2de76991 give those who insist on seeing the mixer window and/or editor mixer on stupidly small screens the chance to do so 2013-10-27 20:55:06 -04:00
bb826f4bee incomplete merge of master into windows (requires upcoming changes to master to be complete) 2013-09-12 11:28:50 -04:00
56465fda10 move engine dialog from a widget to an actual dialog; emit Session::AudioEngineSetupRequired when loading a session if it is necessary 2013-09-09 15:17:42 -04:00
ee1b49f87e fix merge conflicts from master 2013-08-24 12:18:06 -04:00
a34d707175 split up session code that uses parts of the JACK API (timebase + session event handling) and connect it directly to the jack audiobackend
i've made the audiobackend call the session directly so that only one object (ARDOUR::Session) has a need for the JACK types
and only one .cc file (session_jack.cc) needs jack.h. having ARDOUR::AudioEngine act as an intermediary would be cleaner
conceptually but would end up causing two different ARDOUR objects to have jack types in their own API.
2013-08-09 12:15:37 -04:00
efc46f1553 make master-meter in toolbar optional 2013-08-04 00:06:29 +02:00
c06a3a6201 add a peak reset button to the editor meter
see http://tracker.ardour.org/view.php?id=5601
2013-08-03 13:59:22 +02:00
6a436fd826 fix merge conflict from master 2013-07-31 20:11:15 -04:00