13
0
Commit Graph

241 Commits

Author SHA1 Message Date
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
953e4aba54 prepare horizontal meters (level-meter H/V Box abstraction) 2013-07-25 14:18:39 +02:00
b70057f576 add [master] meter to the toolbar
http://tracker.ardour.org/view.php?id=5601
2013-07-24 22:04:46 +02:00
c7d0a52a0b Work around badly chosen argument name in giomm 2013-07-17 16:47:56 +10:00
bd9e2737b7 NOOP - prevent headaches and remove cruft
Every "point zero one" seconds is only 25 Hz in ardour..
2013-07-11 20:39:23 +02:00
40f8806c7d tweak window-proxy session-management logic 2013-07-10 15:27:17 +02:00
55112ea9c6 remember position before hiding meterbridge window 2013-07-10 15:27:11 +02:00
04ad452bca fix meterbridge window behaviour on session unload/close. 2013-07-10 15:27:03 +02:00
b0998844db basic window infrastructure for meterbridge 2013-07-10 15:27:02 +02:00
2b0fef5933 revert 3c6ff2f0 now that WM-proxy is session-aware..
also includes a few additional tweaks on top of the revert:
don't set sessions to windows managed by the WM::Manager,
and also call WM::Manager's set_session (s); when closing session.
2013-07-07 19:29:55 +02:00
3c6ff2f02f fix/workaround window-proxy session-management
The window proxy defers construction of classes.
set_session() is called before the instances are available.
the proxy-manager only calls set_session() for SessionHandlePtr
but not the class-specific method..

fixes http://tracker.ardour.org/view.php?id=5566
2013-07-07 04:18:23 +02:00
4fa8b87083 Fix 'Location window is blank' (#5538)
Call set_session() on the location window from ARDOUR_UI::set_session(),
and show_all() on the location window's LocationUI in set_session,
so that it displays the markers and ranges of the current session.
2013-06-30 14:32:30 +01:00
bedc7b170e change namespace/naming of WindowManager classes; register all ArdourDialog and ArdourWindow classes as ProxyTemporary windows so that transient-for can be set for all such windows 2013-05-07 22:09:16 -04:00
a902737db9 various changes to window visibility mgmt, including use of the mixbus2 code for toggling editor + mixer windows. no longer attempt to track changes made outside of ardour, which is a lost cause 2013-05-07 13:01:26 -04:00
65b6f8efad more window management rationalization 2013-05-05 16:10:54 -04:00
40944574c6 the big rework of window management. probably not complete at thsi point, but this is mostly functional 2013-05-04 22:02:05 -04:00
66ee2c8e59 enable videotimeline by default 2013-04-11 19:49:48 +02:00
ed1f310f10 vtl: rework session-needs-save logic
* videotimeline now immediately marks the session dirty on
  every state-changing operation
* video-montor is polled every 2.5 seconds for menu-relevant state info
  (ontop, OSD,..) and every 30 seconds for full state (window pos, size,..)
* new interface to query the video-monitor for its state and wait for
  all replies - terminating the process and using ::wait() is no longer
  required
* Ardour> quit and Ardour > close-session does no longer close the video
  session to enforce video-monitor state sync but uses above new interface
2013-04-09 04:05:46 +02:00
8a3ebe7510 vtl: resume if "don't close/exit" is selected 2013-04-09 04:05:34 +02:00
0c3e840700 videotimline
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-03-13 20:28:15 +01:00
204d840c43 a variety of fixes aimed at preventing crashes caused by the (global) port matrix (window) not really noticing that the session has gone away
git-svn-id: svn://localhost/ardour2/branches/3.0@13378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-04 23:41:52 +00:00
0532e2063b dramatic overhaul of automation. too long to explain here. this work is not finished - write/touch passes do not correctly overwrite existing data because the semantics of ControlList::insert_iterator need clarification. more to follow
git-svn-id: svn://localhost/ardour2/branches/3.0@13038 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-13 21:05:45 +00:00
9b2e242cb5 patch from tim mayberry to fix crash when creating a new session after session close (#4907)
git-svn-id: svn://localhost/ardour2/branches/3.0@12556 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-04 16:48:53 +00:00
Carl Hetherington
6624f9be37 Move delta-to-edit-point options to the main clock context menus (#4472).
git-svn-id: svn://localhost/ardour2/branches/3.0@12517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 23:14:03 +00:00
ec1ef5d6b5 remove the apparently unnecessary "ui_bind()" macro from entire source base
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 12:58:19 +00:00
Carl Hetherington
cd2047cbff Change the feedback alert to a flashing button; works
around part of #4432.


git-svn-id: svn://localhost/ardour2/branches/3.0@10539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-11 13:52:27 +00:00
f690d687d3 convert transport buttons to ArdourButton
git-svn-id: svn://localhost/ardour2/branches/3.0@10473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-07 17:23:27 +00:00