13
0
Commit Graph

1194 Commits

Author SHA1 Message Date
97340a5c89 when saving an unnamed session, rename it (GUI edition)
Note that this is done at the GUI level, might need to double check if there are
other paths into a "save" that should be covered. Control surfaces use the action, but
Lua comes to mind
2020-03-24 14:10:39 -06:00
5f27382b88
Remove Audio+MIDI track, and consolidate route creation methods
Audio+MIDI tracks were just MIDI tracks with an additional
audio input, and do not directly allow use of vocoders (an
instrument is loaded by default).

For pitch-correction or similar use-cases one would prefer an
audio-track (main data) with MIDI only being used as control-input.

Ardour 5/6 pin-connections and side-chain offer a much nicer
workflow for this setup.

Alternatively one can get those tracks-types by manually adding
an input port to an existing track, and creating a custom template.
2020-03-19 16:18:48 +01:00
5f88cbfd39
Prevent adding routes in read-only sessions
"AddTrackBus" is a rec_sensitive and write_sensitive action.

However the mixer bypasses this and unconditionally calls
ARDOUR_UI::instance()->add_route () in various cases
(right-click on blank space or scroller, left-click on "Add" buttons
in the VCA pane, route pane, etc).

Since those are direct events, not related actions, they need
to be explicitly ignored.

Ideally the "+" buttons would be made insensitive...
2020-03-17 22:30:58 +01:00
4262d701eb
Remove GUI thread x-run reset on engine re-start
This has been superseded by the previous commit, doing this
independently from the GTK GUI.
2020-02-24 22:22:09 +01:00
44e55c501e
Add some const'ness 2020-01-30 23:35:37 +01:00
b2051d98fd
Clarify pending-state message
Previously this dialog was mainly used for crashes during
recording. Now it is also used for backup saves in general.
2020-01-28 17:29:36 +01:00
47767738b9 rename DoTheRightThing to RollIfAppropriate 2020-01-18 08:49:18 -07:00
3c00048b0c Session::request_locate() takes a tri-valued second argument for "roll-after-locate"
This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it
can be cnentralized and is less ambiguous
2020-01-18 08:49:18 -07:00
6487d6c62b
Fix external timecode GUI display
Only show mis/matching TC if FPS has been detected and
timecode master is locked.
2020-01-12 18:04:12 +01:00
Nikolaus Gullotta
ce54e342ed
Add additional roll check in transport_record
Previously there was no check for roll in case Session::Enabled this
can cause issues with "latched-record-enable" and "transport-roll"
2019-12-16 13:06:04 -06:00
1881d73f43
Remove unused API (no more unconditional splash pop-back) 2019-12-14 23:44:04 +01:00
2b55d6dce3
First batch of MessageDialog replacements 2019-12-14 23:44:01 +01:00
561cf86919
Fix session sensitivity of some toolbar controls 2019-12-13 16:33:12 +01:00
6ee21fb77e
GUI: Use new boost::optional API
get_value_or() has been deprecated since boost 1.56
2019-11-21 17:49:20 +01:00
b79d47b1b5 fix crash caused by storing clock modes while loading a session
The store would delete any existing node of the same name,
which was the node being used to set the mode in the first
place.
2019-11-08 12:40:26 -07:00
3e443bc237 improve operation of ARDOUR_UI::toggle_roll() for loop mode (particularly when loop-is-mode) 2019-11-02 16:32:18 -06:00
a072228de5 remove seamless looping as an option (it's now the only kind of looping we support) 2019-11-01 14:04:28 -06:00
be12af293d remove now-unused member variable 2019-10-24 21:32:46 -06:00
0ea395b934 startupFSM is now responsible for attaching GUI to AudioEngine 2019-10-24 21:32:46 -06:00
ebb89ba805
Super basic Virtual-Keyboard UI 2019-10-18 03:50:52 +02:00
44445ea309 remove Session::AudioMidiSetupRequired signal (no longer necessary) 2019-10-12 12:45:18 -06:00
74454d1859 do not accidentally re-create splash 2019-10-11 14:44:30 -06:00
54acf6af6a enforce singleton nature of Splash a little more rigorously, and slightly rationalize it's use 2019-10-11 14:29:55 -06:00
aaecba2116 move pre-release dialog into StartupFSM (and enlarge font sizing) 2019-10-10 21:24:52 -06:00
b3f2ed46b1 center all(?) early-startup dialogs 2019-10-10 19:54:33 -06:00
18b4a4213f add initial version of StartupFSM along with its owners/users 2019-10-10 16:52:00 -06:00
2c5fcf24a5 rename ArdourStartup to NewUserWizard and rename source file(s) 2019-10-10 16:52:00 -06:00
cdbf8ee160
Show pre-release dialog also for source-tree self-builds 2019-09-29 18:25:13 +02:00
4f41367836
Add Latency Control Toolbar Widgets 2019-09-29 02:45:37 +02:00
468731c14b goodbye Profile->...trx 2019-09-25 13:02:31 -06:00
5beeca2e95 split apart ardour_ui.cc into a series of distinct source modules.
Should be a 100% no-op - no code was altered, just moved
2019-09-23 14:49:06 -06:00
fcc7f335a1 UI goto_start() action no longer forces roll-after-locate 2019-09-22 12:23:54 -06:00
ca4b6bb7e9
NO-OP: fix some Wimplicit-fallthrough, see prev commit 2019-09-18 17:38:01 +02:00
da88e9d34c Foldback gui: Added hide and show
- New menu item in view menu
- Foldback strip has hide button
- Adding a new foldback bus sets show
- setting is saved and restored
2019-09-11 16:36:05 -07:00
d59aa81b39
Remove NO-OP, ProcessThread::init() does nothing 2019-09-09 18:43:57 +02:00
cfc8a2c263
Push UI theme to backend, LV2 plugin options 2019-08-26 18:58:34 +02:00
994b59c836
Prefer implicit deletion of .pending
Session destruction removes ".pending", no need to explicitly delete
the file.
2019-08-16 01:55:54 +02:00
9fb403546c
Allow to inhibit screensaver/system sleep 2019-08-11 20:39:39 +02:00
6bdf5cb0d7 Gui should allow foldback bus to be mono. 2019-08-06 13:16:44 -07:00
4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
0717c4c71a
Prefix env variable with "ARDOUR_" 2/2 2019-07-26 16:58:31 +02:00
0d1d6d6975 remove -C,-E and -U command line options 2019-07-18 14:08:07 -06:00
47fcc85b19 remove debug output 2019-07-18 10:53:55 -06:00
b47df18d5c don't bother with session dialog if user has already provided the name
This recognizes that if a template is desired, it can be also be
set from the cmdline
2019-07-18 10:53:44 -06:00
5f8c9a4e60 if a user specifies just a session name (not path) and it does not exist, use the default session folder 2019-07-18 10:53:34 -06:00
8f9a1e1cf4
Use exit-status macros for compatibility 3/3 2019-07-04 22:21:49 +02:00
1cec6d1250
Remove toolbar meter (meter type) context-menu
This meter is follows in sync the master-bus meter. The type should
be set directly on the master-bus.
2019-06-09 19:45:01 +02:00
31815b5f26
NO-OP: whitespace
This fixes mostly <tab> after <space> and similar <tab> not used
for indenting as well as some related code alignment issues.
2019-04-13 17:57:46 +02:00
1557ea5314
Cleanup "Clean-up", hide dialog before starting cleanup 2019-04-07 18:51:50 +02:00
51df70b405 ActionManager::get_all_actions() no longer includes <Actions> in the paths it returns, part 3 (GUI) 2019-03-20 11:15:47 -07:00
7b96fa1c5e
Fix some Gtk::Menu memory leaks
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.

The solution here is to use a shared Gtk::Menu pointer that is
centrally de/re-allocated.

This works because the GUI is single-threaded and at most one
context menu is visible at a time.
2019-03-07 23:50:50 +01:00
64e1d691ec
Prefer using RAII to suspend signals 2019-03-07 23:50:43 +01:00
f098a6fb06
Revert "Show VCA pane whan adding a VCA"
This reverts commit 9a0260148d.
2019-03-01 18:44:52 +01:00
9a0260148d
Show VCA pane whan adding a VCA 2019-03-01 18:00:11 +01:00
8244026533
Consolidate ToggleAction cast, use new API
Furthermore we can assume that all Actions are registered and
Unregistered actions will ::abort() execution.
2019-02-28 23:54:42 +01:00
b0f99312d8 get ordering correct of global binding set creation and action registration 2019-02-16 01:15:12 -07:00
c60d8cf747 (libs) call ARDOUR::init_post_engine() from within libardour rather than requiring "users" of the library to arrange for it 2019-01-16 15:29:38 -06:00
9d1fa8f820 re-order startup process, registering actions early
Mostly to stop an error when UIConfiguration::map_parameters()
looks for an action that has not yet been registered
2019-01-13 12:01:18 -06:00
2dbf804b73
No interest in bug-reports for alpha-releases
So far all 6.0-pre bug reports are known issues due to incomplete
work-in-progress. There is no manpower to triage those.
2019-01-01 16:19:05 +01:00
154f9825ff remove method and inline its contents. Nothing gained by wrapping this up 2018-12-10 16:24:27 -05:00
fc83d044f8 use ActionManager namespace, rather than ActionMap objects, and remove all per-context action maps 2018-12-10 08:34:01 -05:00
3fea1fa4f2 use new action map API instead of ActionManager::get_action 2018-12-10 08:34:01 -05:00
65bda27d42 Tweaks to Mixer and Monitor keybindings:
Add Mixer-specific view keybindings for list, vca, mon.  (thanks to: the_CLA)
Move monitor keybindings (mute, dim, mono) to be globally-accessible.

Implement new mixer-specific actions to show/hide monitor,vcas,mixbuses (the_CLA)
Move monitor funcs (mute,dim,mono) to globally-accessible actions.
Make a new Monitor group insted of using Transport group.
Allow use-monitor-section to be controlled by both menu and session-options dialog.
2018-12-07 12:57:26 -06:00
4dc65e6613
Prefer testing the session instead of using a global variable 2018-12-06 02:24:31 +01:00
df28a71252
Consolidate API, prefer ->running() 2018-11-28 15:19:39 +01:00
245d48dbd0
NO-OP: Clarify function name 2018-11-28 15:16:25 +01:00
f150f6c074
Use central method to check for engine where required
These are generally places where tracks/busses are created or port
connections change.
2018-11-28 00:01:50 +01:00
57d7b5de65
GUI limitation: Require engine to add/remove tracks/busses 2018-11-27 13:18:39 +01:00
9b2612f686 Make foldback bus match foldback sends namewise
to avoid confusion with listener sends or monitor bus
2018-11-12 22:30:32 -08:00
b06713bd8e GUI options to select FLAC as media format 2018-11-07 19:59:51 +01:00
287ce3d477 Allow ListenBus to be added by GUI 2018-11-01 13:13:48 -07:00
4f86da8544 Wimplicit-fallthrough fixes for gtk-ardour 2018-10-26 14:53:49 +02:00
58e9bb0a14 move away from "sync source" concepts 2018-10-05 14:15:02 -04:00
d71dfdfd6a Add a window that shows DSP usage of all plugins
Currently hidden, use
  Editor:access_action("Window", "toggle-plugin-dsp-load")
2018-09-25 00:13:08 +02:00
6ca8ec5141 remove debug output 2018-09-23 13:48:19 -04:00
d9de14aa63 rename transport masters dialog -> window 2018-09-23 13:48:19 -04:00
db385c2e3c new transport slave/master implementation, gui edition 2018-09-18 19:06:04 -04:00
c74f02025d Unify support chat channel. 2018-08-04 21:33:21 +02:00
afb5d8cc24 Fix some GUI typos (thanks to IOhannes/debian for reporting) 2018-02-28 20:40:38 +01:00
54db84ffee Re-add fixed-color DSP-load indicator background 2018-02-20 12:53:21 +01:00
66732e4791 Use standard Labels again.
Since the Gauges become little more than text with colored background,
prepare their removal. If color is wanted, use named widget-style.
2018-02-20 12:15:29 +01:00
9fe534ede8 Shuffle order of items in status bar; change behavior per oofus on irc.
( note: this essentially reverts ed459a )
2018-02-17 09:24:46 -06:00
fa22689b70 Consistently use Gauge to avoid the overloaded term Indicator. 2018-02-17 09:24:15 -06:00
cfed95fd0b Remove unused status labels. (using gauges instead) 2018-02-17 09:24:14 -06:00
309ca938e6 Add Disk IO gauge. 2018-02-17 09:24:14 -06:00
f50c839ea8 Blink disk+dsp gauges on major errors ( disk out of space or xrun-while-recording ) 2018-02-14 10:26:23 -06:00
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
d03352cfac Add Toolbar disk-space widget. 2018-01-14 18:49:27 +01:00
c7ed461bcf Add DSP-load & x-run widget to the toolbar. 2017-12-28 15:53:40 +01:00
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
12a5102713 Catch exceptions by const reference 2017-11-23 10:38:52 +01:00
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
8e8168547b Fix NSM for distro-builds (waf install) 2017-10-31 15:26:29 +01:00
0f82302e63 Update GUI, use filename-extensions 2017-10-18 19:24:54 +02:00
b73eac450a Fix session-archive file extension filter 2017-10-03 03:09:25 +02:00
f9710f4624 Update Session-Archive Dialog: add compression-option 2017-10-03 02:24:19 +02:00
7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
b1659f8c31 correct version in pre-release warning 2017-09-19 08:34:04 -04:00
0cf116c43a Menu Action list omit leading / 2017-09-18 10:30:37 -07:00
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
68e57101ad fully remove diskstream code 2017-09-18 11:40:53 -04:00
201d536ee9 Reset RouteDialog: name edited by-user
* after each "Add" operation
* when cleaning the name field
2017-08-22 17:07:42 +02:00
Johannes Mueller
bb20327959 Pass session description or route comment as default description
... to SaveTemplateDialog
2017-08-20 21:09:30 +02:00
Johannes Mueller
245154d06a Let user add a route template description on saving route templates 2017-08-20 21:09:30 +02:00
Johannes Mueller
ae51d5fd4e Let the user add a template description on saving session templates 2017-08-20 21:09:30 +02:00
2cc32456ab Lua may call C++ functions with throw. Catch them 2017-08-19 01:06:44 +02:00
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
f85c320759 Push user track-templates to the template list 2017-08-18 02:38:25 +02:00
d2ad0a6c5f Consolidate add/track/route/bus wrappers -- step one. 2017-08-18 00:11:54 +02:00
ed8b8ffc71 Track Templates: redesign of Add Track dialog. 2017-08-17 13:32:01 -05:00
8ecbf0486f Update GUI, session-format notifications, skip unusable in recent list 2017-08-17 18:52:07 +02:00
24cb141aa6 Revert "Revert ongoing SessionDialog changes for 5.11 release."
This reverts commit bd40b9132c.
2017-08-16 05:23:13 +02:00
bd40b9132c Revert ongoing SessionDialog changes for 5.11 release.
To be reverted again after the release. This temporarily reverts

26c88b2, c67d1d4, 5e41293, 8b7df13, ff61435, 1039894, 8717c0d
and GUI parts of 47d86cf
2017-08-16 01:17:35 +02:00
26c88b2a3e Replace advanced session-setup options with script 2017-08-16 00:51:20 +02:00
b3dc75fed3 Prepare for removal of Advanced Session Options (BusProfile) 2017-08-16 00:51:20 +02:00
c2afd958ba Re-add template script debugging (after 7d48e80e) 2017-08-15 17:46:04 +02:00
3ff352be79 Maybe fix crash on Close Session -> Quit (windows threading) 2017-08-11 19:45:49 +02:00
7d48e80e5f Fix MSVC builds (binding external static members)
This Revert "Lua GUI Instance update: prepare for template scripts"
commit c37cdf548d.
2017-08-11 18:01:28 +02:00
f27e53f485 Add support for scripted meta-templates. 2017-08-11 15:24:05 +02:00
80e0094ef4 Add support for templates to invoke one-time scripts 2017-08-10 02:26:08 +02:00
1b5354632f Fix Session > New (cancel retains the current session if any) 2017-08-03 19:25:14 +02:00
53565962b2 Ask user to save when using save-as or snapshot+switch. 2017-07-26 23:49:57 +02:00
1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
eb1e423b75 Remove <gtkmm.h> include from header files. 2017-07-17 21:06:04 +02:00
f9e5e4360e Move more Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00
f6e182b937 Move Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00
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
54aa82cd4b Another approach for stuck splash-screens:
Use Editor::first_idle() which is invoked every time when a session
is loaded (via set_session). This will catch ALL successful
session loads.

Failed session-loads explicitly pop down the splash in
ARDOUR_UI::load_session.

This only leaves "abort session open" which returns to the
session-open dialog (which pops back the splash).
2017-07-03 16:19:10 +02:00
Thomas Brand
218528dbe9 Fix some typos (closes GH PR #356) 2017-07-01 21:29:46 +02:00
Thomas Brand
63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
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
1e97c09eed Fix adding tracks/busses at the top 2017-06-17 04:37:10 +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
b21c4b41a3 when creating a new session after working on one, the "Cancel" button should be a quit button.
This avoids ending up with a null Session pointer in the GUI (#7369)
2017-05-29 15:35:03 -04:00
c72e3f16a1 Use correct property names for Editor transport controllable state
These are normalized in the PBD::XMLProperty ctor, which is why
Editor::get_transport_controllable_state() uses the hyphenated names to
retrieve the properties and will not result in any state format change.
2017-05-26 08:48:04 +10:00
24d5f1a624 Tweak/fix splash screen event-loop
Prevent possible endless loop in Splash::display() and handle
some related edge-cases and race conditions WRT expose_done
and is_visible().
2017-05-11 14:20:56 +02:00
ba24f287ca Make -A open action list in a browser instead of command terminal. 2017-04-29 22:47:24 -07:00
73e80b4429 Set -b to open in browser. 2017-04-29 15:37:31 -07:00
620f3b9358 Change actions to -A and use -b to output keybindings 2017-04-28 08:19:20 -07:00
1ebf35f137 Allow to hide engine dialog w/o unloading session. 2017-04-27 21:10:37 +02:00
68883cbb56 Changed "ardour" to PROGRAM_NAME 2017-04-22 15:32:48 -07:00
b81d6a6160 Set -b switch to only two columns, correct options text. 2017-04-22 08:07:35 -07:00
5d5642d6ec Add HTML output for -b so that output can replace actions page in manual. 2017-04-21 12:58:59 -07:00
e15524cc64 Use PBD::to_string instead of std::ostream when setting up video server url
To avoid issues with locales that use grouping/thousands separators.
2017-04-19 09:36:59 +10:00
41493d556a Use XMLNode::get/set_property API in ARDOUR_UI class 2017-04-19 09:36:55 +10:00
fda05ac64b Use ID::to_s() in gtk2_ardour instead of ID::print() 2017-04-19 07:49:58 +10:00
47ea6534d0 Add option to disable blinking alert buttons. 2017-03-26 21:42:01 +02:00
4ae5737beb Add GUI-Idle debugging/profiling util 2017-03-15 11:34:05 +01:00