Commit Graph

572 Commits

Author SHA1 Message Date
Ben Loftis 97fb3a5557 Remove display_message(); No more scary log message popups on osx. 2018-02-17 09:11:41 -06:00
Ben Loftis 7127fa2c9b If the gauges arent clickable, perhaps they look best with hard edges, matching the master-bus meters in the toolbar. 2018-02-14 15:05:49 -06:00
Ben Loftis c206fa98a1 Re-pack the master meters (in the toolbar) so the editor_meter_peak_display button is more clickable. 2018-02-14 14:47:00 -06:00
Ben Loftis 7cb1219df8 Re-pack dsp_load_indicator next to feedback_indicator et al. 2018-02-14 12:55:48 -06:00
Ben Loftis dc61256466 new_grid: Rewrite of Snap and Grid. (squashed commit)
Separate Snap from Grid.  Lots of naming changes.
Multiple simultaneous snap options allowed. Grid is one of the possible Snap options.
Grid uses the same data as the rulers.  Replace complicated tempo_lines with simple grid_lines.
The Grid is zoom-scale-sensitive along with the rulers.  If you are zoomed out, grid becomes coarser.
2018-02-09 09:59:39 -06:00
Robin Gareus d03352cfac Add Toolbar disk-space widget. 2018-01-14 18:49:27 +01:00
Robin Gareus c7ed461bcf Add DSP-load & x-run widget to the toolbar. 2017-12-28 15:53:40 +01:00
Robin Gareus 22c497b62d Add a separate, dedicated transport-control window 2017-12-22 22:15:50 +01:00
Robin Gareus aab787f686 Separate and consolidate Transport-Control-UI code 2017-12-22 22:15:50 +01:00
Robin Gareus 15150c57c1 Implement clock delta modes
* use new config variable
* update GUI to select delta-modes
* delegate delta-calculation to MainClock
* save offset to calculate absolute-time
2017-11-23 00:13:32 +01:00
Paul Davis ea5fa64c0b manually fix up various cases where Gtk:Frame foo_frame had been changed to foo_sample 2017-09-18 14:59:11 -04:00
Paul Davis 30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Johannes Mueller ae51d5fd4e Let the user add a template description on saving session templates 2017-08-20 21:09:30 +02:00
Robin Gareus c44979566d remove unused header (fixes OSX builds)
cocoacarbon.mm -> ardour_ui.h -> LuaBridge.h
Apple's  "Nil" vs Lua "Nil"
2017-08-19 22:30:00 +02:00
Robin Gareus e0a83a758e Redesign Session+Route Template Meta Script API
Remove special-cased script types. Allow Action-Scripts to be re-used
for session-setup or route-templates.
2017-08-18 20:42:55 +02:00
Robin Gareus d2ad0a6c5f Consolidate add/track/route/bus wrappers -- step one. 2017-08-18 00:11:54 +02:00
Robin Gareus b3dc75fed3 Prepare for removal of Advanced Session Options (BusProfile) 2017-08-16 00:51:20 +02:00
Robin Gareus f27e53f485 Add support for scripted meta-templates. 2017-08-11 15:24:05 +02:00
Robin Gareus 1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
Robin Gareus f9e5e4360e Move more Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00
Robin Gareus b5e9451bc7 Remove unused sources & includes 2017-07-17 21:06:04 +02:00
Robin Gareus f6e182b937 Move Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00
Robin Gareus b6e4dfe37b remove cruft (no more ButtonJoiner) 2017-07-17 21:06:04 +02:00
Robin Gareus 5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
Johannes Mueller 610d9fd3b9 First draft of a template management dialog
Goal is to a simple dialog that can rename and remove templates. This is
helpful in order to keep the template list tidy.

So far it works for session templates. Track templates tbd.
2017-07-12 16:15:03 +02:00
Thomas Brand 63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
Robin Gareus 2b1b0aa240 Fix crash when rapidly switching snapshots
ARDOUR_UI::load_session() calls flush_pending() which runs
gtk_main_iteration()s until idle.

If a user selects another snapshot from the sidebar, load_session()
is called again (from a call to load session)
2017-07-01 03:10:50 +02:00
Daniel Sheeler 2c41df9474 add route dialog now has "Add" and "Add and Close" buttons. "Add" keeps dialog open so user can add multiple templates. 2017-06-03 21:44:48 -05:00
Robin Gareus 4ae5737beb Add GUI-Idle debugging/profiling util 2017-03-15 11:34:05 +01:00
Robin Gareus a1a2e088a5 Allow to switch master-meter type in the toolbar-meter 2017-02-24 23:41:22 +01:00
Paul Davis e00d35f1e8 Revert "ARDOUR_UI transport buttons should use ArdourButton::set_related_action()."
This reverts commit 35f35ad662.

This commit was a mistake: the controllables are needed to allow MIDI binding
to transport buttons.
2017-02-21 15:49:31 +01:00
Robin Gareus b15bebd3c0 Remove unused ArdourUI code to add/remove Lua Session Scripts. 2017-02-19 01:29:08 +01:00
Robin Gareus 472f14c803 Allow Lua action scripts to provide a button icon 2017-02-17 18:58:11 +01:00
Robin Gareus 61d038637a Allow binding Lua Action Scripts via right-click 2017-02-17 11:15:14 +01:00
Robin Gareus 65b38322db GUI action Transport/RecordCountIn 2017-02-13 23:01:11 +01:00
Robin Gareus 9ce55c1b3d remove unused background expose 2017-02-13 18:44:59 +01:00
Paul Davis 35f35ad662 ARDOUR_UI transport buttons should use ArdourButton::set_related_action().
I have no idea what I or anyone was thinking with the silly
TransportControllable nonsense, but it's all gone now.
2017-02-02 13:05:05 +01:00
Robin Gareus 0092442a64 mark loop button insensitive when there's no loop-range 2017-01-28 12:05:50 +01:00
Robin Gareus e35f11e515 Allow to change metronome level via mouse-wheel 2017-01-19 19:12:25 +01:00
Robin Gareus 645402bc42 Add GUI action to record with preroll 2017-01-18 15:16:05 +01:00
Robin Gareus cf31233cd1 Cleanup global monitor options:
- rely on parameter-changed signal emission to update buttons
- use dedicated button/style names
- improve tooltip
2017-01-18 12:25:02 +01:00
Robin Gareus 17d54a0d1c Configurable toolbar rec/punch & monitoring buttons 2017-01-16 21:58:53 +01:00
Robin Gareus cf5a0de709 Add initial GUI support for global monitor states 2017-01-16 19:54:42 +01:00
Robin Gareus 3afe3f32df Remove cruft (old MIDI feedback API) 2016-12-30 17:29:08 +01:00
John Emmas 9740fb7d76 Move a forward declaration (for class ArdourVSpacer) so that MSVC can also use it 2016-12-28 09:16:12 +00:00
Robin Gareus 91321272b5 Add option to hide the 2ndary clock 2016-12-21 23:04:15 +01:00
Robin Gareus 73ad6b3766 Allow to customize parts of the main toolbar 2016-12-20 03:59:15 +01:00
Robin Gareus 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
Robin Gareus a5f61340ef Show relevant preferences on sync-button right-click 2016-12-19 19:21:38 +01:00
Robin Gareus 06938105a4 Simplify spacer code 2016-12-18 21:39:36 +01:00
Ben Loftis ab37491614 repack widgets, and add some spacer elements 2016-12-18 13:34:15 -06:00
Robin Gareus 4a83bd80a5 Prepare mini-timeline widget for toolbar 2016-12-17 02:43:42 +01:00
Robin Gareus 9dad10f691 Add UI to set global track layered mode 2016-12-17 02:43:42 +01:00
Robin Gareus 85e4b1d98f Move selection/punch clocks to editor Sidebar 2016-12-17 02:43:42 +01:00
Robin Gareus 1a25b906b3 Commence transport tool bar re-layout 2016-12-17 02:43:42 +01:00
Paul Davis 8fd4d32789 add a new action to allow surfaces to access Keyboard::close_current_dialog() 2016-09-27 14:59:29 -05:00
Robin Gareus 5232e0f2af GUI support to archive session 2016-09-20 19:52:56 +02:00
Paul Davis 07bb5ff347 move kbd focus reset method into ARDOUR_UI where it (probably) belongs 2016-09-06 16:17:08 -04:00
Paul Davis 39e9add5c0 use insert at specification when duplicating tracks/busses 2016-08-22 09:41:59 -04:00
Paul Davis 36f232d558 factor out "new route insertion point" enums so they can be shared by relevant dialogs 2016-08-22 08:40:12 -04:00
Paul Davis dc43189c7e fix save/restore of preferences torn-off-window state 2016-07-13 16:39:26 -04:00
Paul Davis d42f075408 stop AddRouteDialog from being modal and from using a recursive run loop 2016-06-12 14:54:01 -04:00
Paul Davis 44c56fff6f add pre-release warning dialog. It wil not be shown when running via ardev etc. 2016-06-06 13:40:14 -04:00
Paul Davis 4cd6d52013 make Escape (cancel drag or selection) work in mixer as well as editor 2016-05-31 15:30:44 -04:00
Paul Davis 2c9c210213 manually fix rebase/merge issues caused by addition of plugin presets to methods which add a new track/bus 2016-05-31 15:30:42 -04:00
Paul Davis e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
Paul Davis 9197116a1a change API for ARDOUR_UI::add_route() to no longer require a float window 2016-05-31 15:30:41 -04:00
Paul Davis 33e56e58d7 initial part of vca assignment via context menu 2016-05-31 15:30:38 -04:00
Paul Davis 99d251de7d first pass at making the GUI for a VCA visible 2016-05-31 15:30:38 -04:00
Paul Davis 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
Paul Davis 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
Paul Davis 2a25d25d34 add visibility tracking for main window 2016-05-10 10:03:45 -04:00
Robin Gareus baca1fd377 Create new track by dragging an instrument from the favorites sidebar 2016-05-06 16:04:05 +02:00
Robin Gareus 05baa2d1c1 use WindowManager toggle API for script-manager 2016-05-06 03:59:02 +02:00
Robin Gareus cdb1395a99 NO-OP whitespace 2016-05-06 03:09:20 +02:00
Robin Gareus 5c9660b62e re-introduce "add track/bus" from mixer window 2016-05-06 03:08:46 +02:00
Paul Davis 0e1642f0b4 remove unused code 2016-04-25 09:37:27 -04:00
Robin Gareus 9c622e3c99 add optional buttons to trigger lua scripted actions. 2016-04-25 00:16:08 +02:00
Robin Gareus e85680f5ca GUI samplerate Mismatch notification 2016-04-18 15:17:51 +02:00
Robin Gareus a16c7a8a90 add option to create new routes with strict-i/o enabled. 2016-03-28 18:25:34 +02:00
Robin Gareus e7181c0cc4 Midi Busses? why yes! 2016-03-16 04:41:19 +01:00
Paul Davis a06a5ecfd6 change the way the key editor gets populated; drop binding sets with no actions 2016-03-15 19:46:28 -04:00
Paul Davis 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
Robin Gareus 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
Paul Davis 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
Robin Gareus 6b940afa36 Lua Script Console Window 2016-02-23 15:42:13 +01:00
Paul Davis e268a9d2aa fix inheritance/class design to get both SessionOptionEditor and RCOptionEditor to work correctly 2016-02-22 15:31:25 -05:00
Paul Davis 6d3ee152fe add context menus for tabbable visibility buttons 2016-02-22 15:31:25 -05:00
Paul Davis 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
Paul Davis 64de2b415a use Tabbable::change_visibility to make tab/window control buttons do the right thing 2016-02-22 15:31:25 -05:00
Paul Davis 336d321a1b prevent dragging the last tab from the notebook 2016-02-22 15:31:25 -05:00
Paul Davis 1e537cb539 remove tab-related code for tabbed notebook, add tooltips to new buttons 2016-02-22 15:31:25 -05:00
Paul Davis 51879285c5 tab-free tabbed display, part 1.2 2016-02-22 15:31:25 -05:00
Paul Davis bc487bb4b0 replicate the remove-all-trailing whitespace commit(s) in master 2016-02-22 15:31:24 -05:00
Paul Davis 9b9a7beb13 cleanup various merge conflict resolution errors/omissions 2016-02-22 15:31:24 -05:00
Paul Davis 09f9020897 action maps now have names 2016-02-22 15:31:24 -05:00
Paul Davis 949163f806 more changes to Bindings, Keyboard APIs 2016-02-22 15:31:24 -05:00
Paul Davis 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
Paul Davis 2c6799f247 changes to support new key bindings editor design 2016-02-22 15:31:23 -05:00
Paul Davis a13a8da8ac switch all action registration/binding code over to new API.
This removes the ability to change bindings via menus.

Still to come: saving modified bindings, and reworking the key editor
2016-02-22 15:31:23 -05:00
Paul Davis 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
Paul Davis 1be30e0401 handle main window delete events sensibly 2016-02-22 15:31:23 -05:00
Paul Davis 1bdf6d8a68 handle button events on main window notebook so that we can handle close button clicks 2016-02-22 15:31:23 -05:00
Paul Davis 291575683c dynamically update menus/actions controlling tabbable show/hide/attach/detach operations 2016-02-22 15:31:22 -05:00
Paul Davis cf93eaec98 break out window ops for Tabbables into show/hide/attach/detach 2016-02-22 15:31:22 -05:00
Paul Davis 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
Paul Davis 39ee7382e7 refactor key press handling to include a hack that continues to use GTK accelerators/bindings for now 2016-02-22 15:31:22 -05:00
Paul Davis e3db5c5c05 save & restore the main window geometry 2016-02-22 15:31:22 -05:00
Paul Davis 50e4ebff36 update main window title appropriately 2016-02-22 15:31:22 -05:00
Paul Davis 77b6b25f2d hide tabs in main window when there's only 1 tab left.
This helps with space and also prevents tearing off the last tab
2016-02-22 15:31:21 -05:00
Paul Davis 98b14ad0e6 get normal GTK accelerators working again 2016-02-22 15:31:21 -05:00
Paul Davis 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
Paul Davis 02c8d6d648 the basics of tabbed 2016-02-22 15:31:21 -05:00
Paul Davis 3a08ac5e1f os x: an initial attempt at fixing loss of keyboard focus after cmd-w to close dialog 2016-02-22 11:49:17 -05:00
Ben Loftis 16623b1cb3 add more remote transport toggles for touchOSC: midi_panic, toggle_roll, stop_forget, set_X_range, quick snapshots. also add boilerplate for monitor controls, but those are not implemented yet 2016-01-18 18:24:14 +01:00
Paul Davis 9e3299f97d change Controllable::set_value() API to include grouped control consideration.
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
Robin Gareus ffde3968ec allow to show/hide Monitor Section 2015-12-19 17:42:36 +01:00
Ben Loftis 3b3261ef55 allow hiding and showing the mixer list 2015-12-10 17:21:02 -06:00
Robin Gareus 0f3c623a3f fix OSX openFile Application Delegate
allows to open Ardour via double-click on a .ardour file in Finder.
2015-11-29 17:04:40 +01:00
Paul Davis 0b6b598fce remove leftover declarations 2015-11-14 15:25:52 -05:00
Paul Davis aeb7246977 partial dialog to control track duplication 2015-11-14 10:30:08 -05:00
Paul Davis 100701cb23 initial/partial implementation of duplicate track/bus 2015-11-13 16:14:49 -05:00
André Nusser 6ccffbaf09 Improve behavior of overwrite_file_dialog.
- Make overwrite file dialogs transient.
- Cancelling the overwrite dialog doesn't close initial dialog.
2015-11-04 17:52:00 -05:00
Tim Mayberry 528ad3416a Remove unused methods in ARDOUR_UI for starting/stopping engine 2015-10-06 13:29:57 +10:00
Robin Gareus 22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis 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
Paul Davis eebbf64484 provide Main/cancel-solo as an action and make rude solo button(s) use it 2015-10-02 07:32:56 -04:00
Tim Mayberry 520b78b841 Add parent window argument to ARDOUR_UI::check_audioengine
Ensures relevant placement of the dialog when presented
2015-10-01 09:10:19 +10:00
Tim Mayberry 73acaf6de6 Display warning when closing Audio Setup dialog with engine stopped
Only show warning when a session is loaded
2015-10-01 09:10:19 +10:00
Tim Mayberry c256075e63 Remove tooltips() member from ARDOUR_UI and use Gtk_UI::set_tip 2015-09-16 16:55:17 -04:00
Tim Mayberry b8e9ee50e0 Use Forward declaration for non-MSVC compilers in ardour_ui.h
I can't test this with MSVC so John might have to fix this, just
adding the necessary header includes inside MSVC specific ifdef
but I think it should be OK
2015-09-16 16:55:17 -04:00
Tim Mayberry 513ecad1f0 Forward declare Meterbridge class in ardour_ui.h 2015-09-16 16:55:17 -04:00
Tim Mayberry 553c3ef557 Remove ui_config.h inclusion from ardour_ui.h 2015-09-16 16:55:17 -04:00
Tim Mayberry 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
Tim Mayberry 45d487f16e Move ARDOUR_UI::ui_scale into UIConfiguration class 2015-09-16 16:55:17 -04:00
Robin Gareus 18afd09b3b unify recent session dialogs 2015-09-16 21:37:56 +02:00
Robin Gareus 93cd0d17e4 display active peak-builds 2015-09-15 17:50:27 +02:00
Robin Gareus b05912b0cb GUI part: cleanup peak-files 2015-09-15 14:44:05 +02:00
Robin Gareus 2309bb2a7f Don't keep gtk-file-chooser around.
This fixes some odd-crashes in the gtk main-thread after loading a new
session in gtk_file_system_model_sort().
2015-09-06 18:15:13 +02:00
Robin Gareus edce75973c offer to scan for plugins at first start. 2015-07-16 21:11:22 +02:00
Paul Davis 5c8e239f95 Revert "start work on auto return target dropdown rather than button"
This reverts commit d1cbb3fb0e.
2015-06-29 14:18:16 -04:00
Paul Davis eb791b7302 start work on auto return target dropdown rather than button
Conflicts:
	gtk2_ardour/ardour_ui.cc
2015-06-29 14:18:13 -04:00
YPozdnyakov 4465fb62f3 [Summary]: add keybindings Cmd-h (hide application) for mac
Conflicts:
	gtk2_ardour/ardour_ui.cc
	gtk2_ardour/ardour_ui.h
	gtk2_ardour/ardour_ui_ed.cc
2015-06-29 14:16:43 -04:00
Robin Gareus d059bdb40c fix 1024px width layout (remove nudge clock special case)
Due to some change somewhere along the road the nudge clock does
no longer fit in the transport-bar on 1024px screen with 100% font-scale,
even if the 2nd clock is hidden.

However, these days it does fit nicely on its default position even
with wide-editor-mixer on a 1024px screen.
2015-06-17 02:20:02 +02:00
Paul Davis 173b007779 rearrange and redesign UIConfiguration/ARDOUR_UI APIs to allow correct initialization.
We need to be able to set an environment variable *before* gtk_init() is called, but also to
load the color theme right after gtk_init() and before the rest of the GUI is created.
2015-05-28 12:46:43 -04:00
Robin Gareus fb3d1a6f24 x-run counter reset & typo 2015-04-29 15:47:51 +02:00
Robin Gareus 6e335ca5d9 add xrun counter to status-bar (currently no reset) 2015-04-29 03:10:27 +02:00
Paul Davis e47a22a118 make save-as dialog be persistent, to retain settings across save-as 2015-04-22 16:09:08 -04:00
Robin Gareus 8d85afd294 add central API to calculate UI scaling 2015-04-22 21:40:43 +02:00
Ben Loftis 91fac4c96d merge fix for tempo branch 2015-04-21 08:35:20 -05:00