13
0
Commit Graph

143 Commits

Author SHA1 Message Date
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