13
0
Commit Graph

13323 Commits

Author SHA1 Message Date
4d91637b45 handle scratch session when quitting 2020-03-24 18:26:12 -06:00
Nil Geisweiller
fe6c5f98b2
Remove redundant AZERTY Virtual MIDI Keyboard Layout 2020-03-24 22:36:20 +01:00
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
5d4ad01b58 introduce the idea of an "unnamed" session (GUI edition) 2020-03-24 14:10:39 -06:00
20717b68bf fix startup behavior if answering "No" to "Do you want to open (this existing session)?" 2020-03-24 14:10:39 -06:00
ccc9042bf2 detect whether or not user edited the name for a new session
Suprisingly hard/irritating. Thanks, GTK! (Gtk::Entry::set_text() emits all
the same signals that actual user interaction can trigger, except for key events)
2020-03-24 14:10:39 -06:00
78cf1ed119 prefill new session name with a date-based default
Select it, so that typing will immediately replace it
2020-03-24 14:10:39 -06:00
6ddeaa273a
Do not use openGL backed canvas + widgets on Catalina
This needs testing: local builds on Catalina vs.
running existing (10.6, 10.11) builds on 10.15.
2020-03-24 14:27:36 +01:00
853bf6d178
Add API to query OSX/MacOS version 2020-03-24 14:25:22 +01:00
0f63b82943 fix error in multiple calls to SourceFactory::createWritable()
removal of tape tracks removed an intermediate argument in the argument list; presence of default args for the
last two arguments and implicit conversion from int->bool prevented the compiler from complaining
about any existing calls.

This supplements/extends a54b000a70
2020-03-23 21:47:13 -06:00
3bbad66a99 control over transport-masters-just-roll-when-sync-is-lost 2020-03-23 19:08:57 -06:00
e04f0a4c2c tweaks to display in TransportMastersWidget to reduce width jumping 2020-03-23 18:34:31 -06:00
c765079b2f Show Sends button should instigate a Spill, akin to a VCA spill 2020-03-23 15:24:08 -05:00
7058a8074f Theme-ing: Replace lost color for aux-send-panners 2020-03-23 15:24:00 -05:00
42cc09af13
Remove Mixbus Aux-Link special case 2/2 2020-03-23 17:45:55 +01:00
b760d541c6
Pan: remove automation-state indirection 1/2 2020-03-23 16:41:13 +01:00
faac3e0d38
Remove unused variable 2020-03-23 06:12:44 +01:00
1c551e432c fix port/connection combo/dropdown for TransportMastersWidget 2020-03-22 22:45:28 -06:00
9e84245c58 fix small error in GUI dimensions stemming from removal of tape tracks
THe original determinant of width was:

   double     const width     = ((at->mode() == Destructive) ? 2 : 0);

the conditional is always false now, so the width is a constant (zero)
2020-03-22 16:43:13 -06:00
386264bd23
Pan: consolidate what_can_be_automated API 2020-03-21 19:46:39 +01:00
60bcefd03d
Pan: remove/consolidate parameter-descriptor 2020-03-21 19:46:38 +01:00
628d704d4e
Panner GUI: fix detent in center
Previously the dead-zone was too small (1/360). The mono/balance
panner GUI has a throw of 180 deg L<>R.

Also snapping to center didn't allow to smoothly move out of the
center. The accumulated_delta as directly applied. This caused
jumps by 4.5. degrees.

This commit reduces the deadzone to 1 degree of the azimuth
around the center.
2020-03-21 19:46:38 +01: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
e8776d39fe
Fix wine-VST build 2020-03-18 19:57:59 +01:00
a44fecb740
Hide hidden Controls in GUI 2020-03-18 18:16:32 +01:00
e83d1f7368 warn user about destructive/tape tracks 2020-03-17 16:31:50 -06:00
53e743f4ae remove reference to ImportAsTapeTracks 2020-03-17 16:31:49 -06:00
a4d7b45fe0 remove destructive/tape mode tracks 2020-03-17 16:31:49 -06: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
45026100aa LV2: Implement ui:requestValue feature 2020-03-17 16:55:35 +01:00
efb9f3c54e
NO-OP: cleanup includes 2020-03-15 20:19:13 +01:00
d9836ec002
Update GUI: freeze operation error/warnings 2020-03-14 13:25:54 +01:00
97f3d9496b
Show latency display/config button for in all plugin UIs 2020-03-14 13:25:51 +01:00
91a87fbc5b somewhat convoluted reworking to get TransportMastersWidget's per-row port combos to update for hotplug
This approach should extended to other things, notably control surfaces
2020-03-13 22:16:37 -06:00
64ddc5dd32
Fix setting automation state for Aux-sends
When switching the Mixer to show sends, using _amp as
intermediate for automation is not correct.
The control is not owned by the amp.
The same is true for VCAs, prefer the control (see 8400ebd175)
2020-03-12 18:44:30 +01:00
6ad3ce7bff audio clocks that are not editable are not focusable either 2020-03-11 09:07:28 -06:00
12c4a88db6
Prevent stuck VCA button
This is for Mixbus, which always shows the VCA button regardless
of VCAs being present in the session.
2020-03-11 15:13:18 +01:00
45f5513b66 remove debug output 2020-03-10 11:56:10 -06:00
f827294b0b small improvements to Transport Masters dialog (in preferences and elsewhere) 2020-03-10 11:40:03 -06:00
7696380cfd
Replace strftime() with Glib::DateTime() -- GUI
This is mainly for windows compatibility "%F" is not supported.
An alternative would be to s/%F/%Y-%m-%d/ to produce the ISO date.
2020-03-08 23:32:12 +01:00
7598e71b65
Iniialize uninitialized variable 2020-03-07 02:22:09 +01:00
c8d449f356 fix startupFSM handling of a ShouldLoad signal
This currently only handles initial session load by dbl-click on
a session file. It also does not work if the user or new or
subject to a pre-release warning. These last two restrictions
may remain in place, although if a person's first exposure to
the program is "copy my session, download program, dbl-click
on the session file", then that's not so nice
2020-03-06 15:54:00 -07:00
694a0eaeca fix apple/clang warning 2020-03-06 15:54:00 -07:00
75260f9c9b fix (potentially serious) typo that confused comparison with assignment 2020-03-06 15:54:00 -07:00
b92de5a2fe
Remove debug output 2020-03-06 03:40:25 +01:00
aa6fd4339e
Fix realtime export checkbox consistency 2020-03-06 03:29:23 +01:00
fc65097686
Remove region-output export (GUI)
This use-case is better served via stem-export.

This export mode never worked correctly when latent plugins
are present on the track. or when realtime export was chosen.

This used to call
  track.export_stuff() -> bounce_process()
periodically in small chunks from freewheeling callback,
which is no longer functional.
2020-03-06 03:28:41 +01:00
86045fe526 move more or less all responsibility for ShouldLoad (macOS, NSM) back into ARDOUR_UI 2020-03-05 17:34:41 -07:00
f49aedaa39 Fix odd right click crash on master track.
To reproduce. Launch, right click in ruler area then drag down
until over the master track and let go.

#0  0x0000555555ba1d44 in boost::shared_ptr<ARDOUR::Route>::get() const (this=0x8) at /usr/include/boost/smart_ptr/shared_ptr.hpp:748
#1  0x0000555555ba0a2f in boost::dynamic_pointer_cast<ARDOUR::Track, ARDOUR::Route>(boost::shared_ptr<ARDOUR::Route> const&) (r=...)
    at /usr/include/boost/smart_ptr/shared_ptr.hpp:904
#2  0x000055555650b92b in RouteUI::track() const (this=0x0) at ../gtk2_ardour/route_ui.cc:1885
#3  0x0000555555d0b92f in Editor::popup_track_context_menu(int, int, ItemType, bool) (this=
    0x555557a3efd0, button=1, time=600214966, item_type=StreamItem, with_selection=false) at ../gtk2_ardour/editor.cc:1595
#4  0x0000555555e1a4cf in Editor::button_release_handler(ArdourCanvas::Item*, _GdkEvent*, ItemType) (this=0x555557a3efd0, item=
    0x555557b2fe00, event=0x7fffffffc310, item_type=StreamItem) at ../gtk2_ardour/editor_mouse.cc:1543
....
2020-03-03 13:49:04 -06:00
e79b762daa
Micro-optimization: only recreate polarity buttons as needed 2020-03-02 19:18:59 +01:00
6120d4d43a
Improve RouteUI API consistency
This is an effective NO-OP
 * Some methods have been re-named to improve consistency
 * Duplicate function calls were removed:
   RouteUI::set_route() already updates mute/solo
   MixerStrip does not have to update it again
 * virtual methods have been protected
2020-03-02 19:18:57 +01:00
14c670869c
Fix polarity invert buttons (amend d6315618da)
ConfigurationChanged() is emitted after processors have been
reconfigured (e.g adding/removing a plugin).
The button state needs to be updated after setup.

Bfore d6315618da this worked because _route->io_changed()
is emitted before the processors are re-configured, and
phase_control()->Changed() triggered an update after that.

PS. The motivation for d6315618da are Mixbusses. They have no input
channels, but a Return processor before the polarity processor.
2020-03-02 19:18:50 +01:00
7f11270c96
Fix UI insert/send renaming
This fixes an issue when trying to rename a send or insert
to the current name (no-rename).

::rename_processor() checks if io_name_is_legal(),
Since the current name is already in use, a numeric-suffix
was added.
2020-03-02 17:58:03 +01:00
8d6f6266d2 unfinished fix for handling desktop/NSM specifying session to load
More work needed to fix requirement in StartupFSM that ::load_from_application_api()
is called before ::start()
2020-03-01 21:36:07 -07:00
dc195f265d
Fix Luadoc build (follow up 2e9ac80e9, 5794d21a) 2020-03-01 21:26:43 +01:00
2b13cfa67c no pre-release warning dialog if beyond pre0 2020-02-29 09:33:10 -07:00
003e68edd2
Display recent session-load errors in the GUI
Dumping errors to stderr only is not very useful. Particularly not
on Windows and MacOS.
Even though a user may not be able to address the issue, this
can lead to better reports vs just printing "corrupt state".
2020-02-28 07:32:17 +01:00
1af5f37e46
Restore visible automation lanes (#7914)
On session re-load only automation lanes with events were displayed,
regardless of visibility state. This allowed for inconsistent
state (menu showed them as visible even if they were not).
2020-02-28 02:25:57 +01:00
54911a0ee2
Fix duplicate control-ID when copying processors or proc state
Ideally we'd use a "retain ID when present", so that GUI object
state of automation lanes and inline controls will be retained.
2020-02-28 00:59:21 +01:00
8710a2d943
Dialog default to cancel (#7915)
There are various ways to cancel a dialog. Only checking for
RESPONSE_CANCEL is not sufficient. e.g. Esc causes a delete-event.

 * Gtk::RESPONSE_CLOSE
 * Gtk::RESPONSE_REJECT
 * Gtk::RESPONSE_DELETE_EVENT
 * Gtk::RESPONSE_CANCEL
 * Gtk::RESPONSE_NO

Among others this fixes "Clicking session > open,
then hitting ESC opens the currently selected folder and session"
2020-02-27 23:27:42 +01:00
e5c819956a
Punch/Loop GUI control sensitivity 2020-02-27 22:25:37 +01:00
André Nusser
d1302ae934
And removing even more unused forward declarations. 2020-02-26 20:18:58 +01:00
a886f2bfcb
Cleanup SourceList: remove unused copy/pasted region-list code 2020-02-25 16:17:00 +01:00
f158d2064d
NO-OP: whitespace 2020-02-25 16:17:00 +01:00
589437c74a
SourceList: Drop references as requested 2020-02-25 16:17:00 +01:00
3a9a9f247f
Clear import-status shared-ptr<> after use
Previously "Sequence files" set import_status.track and never
reset() the shared pointer. This resulted in various follow up
issues.
2020-02-25 02:37:52 +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
22e5374389 Always set the natural position timestamp when importing audio files.
If the file has a timestamp, it should be set in the region during import.
This keeps the BWF timestamp from being lost and allows the region context
menu item "Move to original Position" to work.

It does not affect where the region will be positioned during import. That
still follows the import dialog menu selection (playhead, session start,
etc). It just maintains data that the user can decided to use if needed.

This change also allows files to be imported to the source list and then
later placed on the timeline in the correct timestamped position.
2020-02-24 13:16:32 -06:00
7eb16db628
Default to device reported systemic latency 2020-02-24 04:25:42 +01:00
54c4d3adc5
Clean up top-level source tree
Collect architecture independent data in 'share' subfolder.
This also matches the install path
2020-02-23 16:21:55 +01:00
2945e6ee23 Foldback: Sync nav buttons when a new foldback bus is added 2020-02-22 16:56:44 -06:00
768cd1cb56
Allow to use websocket ctrl-surface from source-tree 2020-02-22 23:51:03 +01:00
4dc74813ef avoid setting midnam-model-name in GUI properties when there are no device modes for that model 2020-02-20 00:26:29 -07:00
7f2a59ca66
Fix Latency GUI numeric entry 2020-02-19 16:58:06 +01:00
4f9a91cab8 Prompt user when deleting a VCA (amends 01c6f5)
Editor::remove_tracks expected the VCA to be selected, but right-click does not force selection in a VCA strip.
2020-02-18 20:41:23 -06:00
d6315618da Enumerate the polarity buttons from the polarity processor itself, not the Input count. 2020-02-18 20:15:05 -06:00
01c6f55867 Prompt user before removing a VCA in the mixer window. 2020-02-18 20:14:00 -06:00
60a2406056
GUI Dialog to inform the user about missing files
So far this is only used for MIDI, missing audio files are
already handled by asking a user to locate them.
The same approach doesn't work for MIDI, since there cannot be
externally referenced (embedded) .mid files (since MIDI is destructive).
2020-02-18 01:29:35 +01:00
2ac90f5598
LV2: disable unofficial LV2UI_Request_Parameter
This API is not official, and the upcoming official API differs.
The source-code is left in-place since most of it will be
re-usable as-is, regardless.
2020-02-15 14:15:29 +01:00
5794d21a76
Fix cross-compile linking (arm-linux ld)
Explicitly specify required libraries (waf does no longer
forward .uselib dependencies of libraries used by .use).
This leads to undefined symbols.
2020-02-14 00:20:45 +01:00
72bf12219e
M: Make edit_aux_send insensitive
Mixbus does not have a working aux-panner and also no "Aux" button
on Busses.
2020-02-13 22:25:32 +01:00
f29e5ea7ab
Leave processor box sensitive when editing aux-sends
This is required to toggle the strip to revert from aux-view
to the main route using the aux-send processor itself.

Discuss:
Perhaps this should be reverted, and ProcessorBox::edit_aux_send()
be removed: It is currently possible to create various
inconsistent mixer-states.

* use "Aux" on a Bus, then double-click some Internal-Send to
  revert strips. But Aux remains active
* Removing sends while "Aux" is active does not disable Aux.

If the processor box was insensitive those issues won't be present.
However it is convenient to use double-click on the editor-mixer to
access a send's panner ...
2020-02-13 22:24:24 +01:00
0d1eb8c96c expand comment 2020-02-11 17:40:38 -07:00
a48a2b26de remove unnecessary code
There's no reason to store the first device mode in a gui property if the model is also not a gui property
2020-02-11 17:40:07 -07:00
9d60197ffb remove unnecessary code
If there's no GUI property for the MIDNAM model name, and the plugin has no MIDNAM, there's no reason to set the property to the default

It will pick up the default ("Generic") during update_patch_selector() calling into model_changed
2020-02-11 14:16:47 -07:00
ca28404a2a NOOP: line unwrapping and vertical spacing 2020-02-11 13:59:05 -07:00
de74cca6b8 further attempts to rationalize MIDNAM mess
Attempt to re-use GUI property for MIDNAM device mode, and if it doesn't exist, use the first from the model's device mode list.

Also require at least one device mode in the MIDNAM file (via assert) - consider anything else to be malformed
2020-02-11 13:41:44 -07:00
beaa6a7ae4 pt_import: Bump thread pool constant from 64 to 2048 to prevent import crash 2020-02-09 17:55:48 +11:00
d5c1ad805d NOOP: add whitespace/blank line 2020-02-07 12:20:11 -07:00
46277acb40 Fix incorrect assignment of MIDNAM device mode 2020-02-07 12:20:11 -07:00
e93150cb3f NOOP: remove line wrapping 2020-02-07 12:20:11 -07:00
8242478da5 try to fix awful confusion and misbehavior for plugin-provided MIDNAM situations
We do not store the MIDNAM model as a GUIObject property if the using the plugin-provided MIDNAM. Selecting a different MIDNAM for
the plugin should now result in that choice being saved/restored correctly.

This all feels crazily complicated, but I don't want to change more of the architecture at this time
2020-02-06 14:43:58 -07:00
55d158816e NOOP: avoid unnecessary and distracting line wrapping 2020-02-06 14:43:58 -07:00
39e0c0a084 add AxisView::remove_gui_property() 2020-02-06 14:43:58 -07:00
c791d5970f add GUIObjectState::remove_property() 2020-02-06 14:43:58 -07:00
Nikolaus Gullotta
a13fabf344 Resize session dialog back to initial height and width on "back"
This fixes an issue where the size of the window stayed much larger
than its content if there are no sessions in the session search path
after attempting to make a new session and then pressing "back"
2020-02-06 14:45:09 -06:00
ee43db8b54 revert/change part of a666429d12 so that user-selected non-plugin MIDNAM model names are still shown (they were already used) 2020-02-05 12:53:15 -07:00
be45193f3f fix old bug from 2007 (bbf4175713) in which a return statement was accidentally (presumably) dropped 2020-02-05 12:53:15 -07:00
44e55c501e
Add some const'ness 2020-01-30 23:35:37 +01:00
d72b44b5a4
Fix scripted/meta session templates 2020-01-30 18:09:01 +01:00
Andreas Müller
015d4d3642
Find fmt-binding in out-of-tree building
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2020-01-29 19:41:12 +01:00
eb7297e2fc
Remove duplicate separators from context menu 2020-01-28 23:38:02 +01:00
b21bab3a8c
Don't allow to deactivate master 2020-01-28 23:37:10 +01:00
6dfee0b1d2
Amend 87af9fb (fix context menu, don't allow to remove master) 2020-01-28 23:17:21 +01:00
a430f65aa3
Initialize monitor-section output button
When loading a session the monitor-connection is made before
the GUI is initialized, the output button did not reflect
the actual connection.
2020-01-28 22:58:14 +01:00
87af9fb820
Consolidate Mixer-strip sensitivity
* Use a single method to set mixer-strip widget sensitivity
* Update context-menu to only allow show actions that can
  currently be performed, depending on active/inactive state.
* Mark all control elements of in-active strips as insenstive
  except those required to re-enable the route.
* Also update processor-box and solo-button when showing Aux

Special case Mixbus. Mixbus already shows a "Insensitive" label,
and Mixbus-channelstrip element sensitivity remains to be
implemented before using this mechanism.
2020-01-28 22:22:57 +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
e6ce5a611c shortest note length after a drag-trim is 1 tick, not 1/512 beats 2020-01-28 00:06:12 -07:00
fd62b38f8d correct computation of new note length after a front-drag-trim 2020-01-28 00:05:44 -07:00
10978a2f58 rearrange MIDI preferences "tab" to include ports and remove Buffering 2020-01-28 00:05:05 -07:00
4148d2cee4 fix bad re-ordering in ARDOUR_UI::set_session() that changed when transport-related actions are set sensitive (compared to v5)
This specific change has broader scope than the bare minimum required - we could just move/replicate transport_ctrl.set_session()
after session_sensitive_actions have had their sensitivity set to true. But this "seems" like a more thorough solution,
in that it sets all relevant actions groups before doing anythng else.
2020-01-27 18:24:30 -07:00
7e899b4199
Restore engine state for auto-start 2020-01-27 22:27:29 +01:00
6aac8b2c8a
Fix another clang-scan warning 2020-01-27 03:32:18 +01:00
cf4d7387d2
Use a sensible min length for default session-duration
If the user tries to set the Start or End marker on an empty session,
apply some sensible defaults for the resulting session range.
2020-01-26 19:36:23 +01:00
cbfbe65128 disconnect from audio/MIDI setup dialog signal response when done with it 2020-01-25 10:27:46 -07:00
David Runge
2e9ac80e99
Towards waf python 2+3 support 2020-01-25 04:07:37 +01:00
dfe712c564
Consistent GTK Look/Feel
gtk/gtksettings.c uses different default themes for
Window and Linux/Mac which results in subtle layout differences,
In particular TreeView headers and Tabs.

"MS-Windows" style is hardcoded in gtk msw_rc_style.c
and ardour's clearlooks.rc starts with different defaults.

This forces the default style to a non-existent one.
(might also help with https://tracker.ardour.org/view.php?id=5605)
2020-01-25 03:56:10 +01:00
7c2ec72495
Revert "add styling specifics for TreeViews so that checkboxes are properly visible"
This reverts commit 82cf46d781.
2020-01-25 03:40:04 +01:00
70588baeac handle engine failure between audio/MIDI setup and end of plugin scan 2020-01-24 15:56:37 -07:00
13ecf633a3 after handling the first click on the audio/MIDI setup, mark it insensitive to prevent subsequent (dbl) clicks changing engine state 2020-01-24 15:56:37 -07:00
a416829379 make audio/MIDI setup dialog use ArdourDialog::_sensitive 2020-01-24 15:56:37 -07:00
f2ee30c0ec add ArdourDialog::set_ui_sensitive() to provide a way to mark an arbitrary ArdourDialog as "should not respond to user input" 2020-01-24 15:56:37 -07:00
9ee8b3f176 theme-ing: fix tooltip and knob surround colors on caineville,clear-gray themes 2020-01-24 15:56:55 -06:00
11d4d3455f theme-ing: replace missing feedback button color 2020-01-24 15:42:15 -06:00
639d9cc0bc theme-ing: fix generic-ui knob color, and remove knob surround gradients 2020-01-24 15:35:10 -06:00
cbbbf76934
Fix Eno discography 2020-01-24 21:15:57 +01:00
201d7cb2fd
Backport Mixbus change (offer gap as preference)
Mixbus defaults this to on (4px), Ardour to off (0px)
2020-01-24 01:42:05 +01:00
6f4f28928d Export Dialog: catch major changes, and mark the session dirty. Otherwise changes can be silently lost. 2020-01-23 17:16:41 -06:00
215d5d556f handle possible failure of a region rename 2020-01-23 14:25:38 -07:00
24f8a90278 use a better "legalize for path" method when exporting
The goal is to be compatible with filesystems everywhere
2020-01-23 14:25:38 -07:00
c8faadee4b Fit Selection (Vertical): if we cant fit all selected tracks, report that to the user. But still fit what we can. 2020-01-23 14:11:18 -06:00
142ce953da Split Select-All-Tracks into 2 appropriately named actions
Existing function select-all-tracks is now renamed select-all-visible-lanes, to match its behavior.

New function select-all-tracks will select all Tracks, as the name implies.

To maintain consistency for those users who actively used select-all-tracks,
  the default shortcut ctrl+t  will continue calling select-all-visible-lanes.
2020-01-22 10:33:15 -06:00
81c3bf175a
Keep track/bus number visible when disabling track 2020-01-22 01:45:18 +01:00
6914671736
Propagate ::route_active_changed() methods 2020-01-22 01:35:18 +01:00
Nikolaus Gullotta
db03860924 Fix sessions not building according to template
AFAICT, this was broken by either 5beeca2 or 242774e
2020-01-21 09:05:22 -06:00
d8d737adc4 Make it more obvious when a track is Inactive
Inactive tracks will now hide all controls and display only the track name
 in parenthesis.

Color-change is not sufficient by itself to distinguish an inactive track
 from an active one  (consider the case of just 2 tracks...)
2020-01-20 16:03:22 -06:00
7966d02534 Change tape-machine-mode to auto-input-does-talkback (gtk part) 2020-01-20 13:34:05 -06:00
42630f145a include a LocateTransportDisposition argument when Editor initially locates
Not clear if the editor really needs to make this call at all
2020-01-20 11:14:28 -07:00
cb825a61ba
Remember implicit InlineControl visibility 2020-01-19 00:42:00 +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
0ad9c3de1a
Fix another stuck splash screen
Don't allow dialogs to re-create the splash only to hide it.
2020-01-17 18:52:33 +01:00
01c709ef0e Change default preferences as discussed on IRC today 2020-01-15 17:23:00 -06:00
a62df60760
Replace some Gtk:MessageDialog with Ardour's variant
This fixes some issues with stuck splash screen early on.
2020-01-15 22:08:42 +01:00
82cf46d781 add styling specifics for TreeViews so that checkboxes are properly visible 2020-01-14 17:53:55 -07:00
2d5a3013e0 fix 03c4335c1e to use the correct test for zero length
That commit used the dangerous Beats::operator== (int) comparison, which only campares the beat portion
2020-01-14 14:35:08 -07:00
f771679ade Fix thinkos in cubasish theme 2020-01-14 12:17:11 -06:00
06567c7b82 Recover caineville theme 2020-01-14 12:03:09 -06:00
a8a2f9df12 Recover clear_gray theme 2020-01-14 12:03:09 -06:00
2579e70f46 remove debug output 2020-01-13 23:19:52 -07:00
9f474953fd prevent everything except the name column from changing selection in EditorRoutes 2020-01-13 23:13:14 -07:00
659683c686 store some/most of the TreeViewColumn pointers for EditorRoutes in the parent object 2020-01-13 23:13:14 -07:00
bca825e515
NO-OP: whitespace 2020-01-14 00:52:24 +01:00
2c9b301912 Recover Unastudia theme. 2020-01-13 17:12:55 -06:00
70c53cba49 Recover cubasish theme 2020-01-13 17:12:55 -06:00
3f92b8152a Recover Blueberry Milk theme 2020-01-13 17:12:55 -06:00
cb156db99d Sort palette colors by name only 2020-01-13 17:12:55 -06:00
7f80883eb1 Add more clues to port themes to new paradigm 2020-01-13 17:12:55 -06:00
87f79b3891 Fix more default theme colors 2020-01-13 17:12:55 -06:00
ed5ec7cb3f Tweak the tooltip for PDC button 2020-01-13 17:12:55 -06:00
8112d6472e
Drop references held by any GUI Lua script after execution 2020-01-13 20:25:00 +01:00
fa2c935581
Fix re-packing of toolbar meter
This fixes a gtk-warning when loading a session from a
running instance:
IA__gtk_table_attach: assertion 'child->parent == NULL' failed"
2020-01-13 20:17:58 +01:00
868d752b4f Processor list should use the same bg color as other lists 2020-01-12 18:13:57 -06:00
6d62352673 Add missing theme elements, and fix some thinkos 2020-01-12 18:13:52 -06:00
30553a2675 Apply some missing widget names 2020-01-12 18:13:47 -06:00
66e24f3333
Fix preference pane to access for external-sync 2020-01-12 18:05:16 +01: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
03c4335c1e fix drawing of zero-length notes
Note that the result is too narrow to be manipulated, though it can be moved
2020-01-11 10:57:21 -07:00
929bd7c8ac use Note::end_time() == numeric_limits<Beats>::max() as the indicator that a note is in-process w.r.t. recording
We used to use length() == 0, but this clashes with actual zero-length notes
2020-01-11 10:57:21 -07:00
Carl Hetherington
1f14a9d9a5 Scale the port matrix with the GUI/font-scaling setting. 2020-01-11 01:17:42 +01:00
a883afbd64
Clarify insert-time option 2020-01-10 18:59:09 +01:00
abc6f24d10
Stop engine for new session creation
This restores Ardour5 behavior and works around a missing "OK"
button in the engine-dialog.
2020-01-10 18:11:42 +01:00
afe52fbff5
Special case JACK, sample-rate cannot be changed for new sessions 2020-01-10 02:14:30 +01:00
242774eada
Allow to configure sample-rate of new sessions
When creating a session from the Editor (after Session > Close,
or directly via Session > New) the engine-dialog needs to be displayed
to allow configuring the sample-rate.

This also consolidates scripted session setup: meta_session_setup()
is now called from build_session(), instead of all callers.
2020-01-09 23:53:07 +01:00
0771717dd5
Remove unused variable 2020-01-09 18:21:48 +01:00
2ae327fa8f prevent MIDI note starts being drawn earlier than their region start 2020-01-08 10:22:08 -07:00
c59c46a70a
Mini-timeline, use explicit cairo-group to consolidate rendering 2020-01-08 04:24:51 +01:00
c6493aa81b
Fix samples_as_time_string formatting 2020-01-08 00:41:08 +01:00
f15297e24c
Amend 8a5cbb8: fix variable-names and comments 2020-01-07 01:14:42 +01:00
Nikolaus Gullotta
8a5cbb8510
Reenable the correct sort column and type when redisplaying regions 2020-01-06 16:08:55 -06:00
7570b9a594
Add Lua bindings for UIConfiguration variables 2020-01-06 01:30:19 +01:00
dba7421153
Allow public access to the editor-mixer-strip
This is currently used by Mixbus to sync visibility of switches on
the editor-mixer-strip with the main mixer.
2020-01-05 19:22:55 +01:00
dce09c6136
Pixel-pushing: editor-meter size and alignment
Previously the "reset peaks" button expanded to incredible height
when the GUI was scaled. Now the meter fills available space instead.
2020-01-04 23:36:17 +01:00
96316cb6b2
Unconditionally save instant.xml on session-close
This forces saving session-specific GUI settings (Playhead
position, zoom/scroll with stationary PH, window and pane
positions, etc.

While many GUI operations immediately cause an instant.xml
save, changing the playhead-pos in particular does not, nor
mark the session as modified.

This fixes an issue:
 1. open session
 2. move playhead
 3. close session
 4. re-open session, expect playhead at position from (2)
2020-01-02 19:08:26 +01:00
c07e13b7ac
Fix crash when X11 is not available for VST UIs
This should not happen -- VST gui_event_loop is only
started if LXVST_XDisplay is not NULL.
However the eventloop itself checks if LXVST_XDisplay is set,
so this might happen with headless builds that still have
access to a display, or due to some async event.
2020-01-01 21:56:12 +01:00
f427e38c31
Bump (C) year: the year of Ardour 2020-01-01 13:47:22 +01:00
b8460441fb restore early-return from fixup_bundle_environment() on macOS if not running from a bundle
Mistakenly removed while getting stdout/stderr logging to work
2019-12-30 10:36:04 -07:00
2f167e6163
Fix formatting samplecnt_t (aka int64_t aka long long int) 2019-12-30 16:05:25 +01:00
354995289d move Transport Masters prefs tab under Transport, with LTC and MTC as subtabs 2019-12-29 19:38:04 -07:00
49df7abd0b
NO-OP: whitespace 2019-12-27 19:35:03 +01:00
26cc05a1bf
Consolidate mini-timeline rendering 2019-12-27 19:35:02 +01:00
1809818c94
Preferences/Config changes for image-surface settings 2019-12-27 19:35:02 +01:00
b942eecc9c
Vkeybd: force release notes on panic
If key(s) are still being pressed, a key-repeat will re-trigger
the most recently pressed note (depending on keyboard settings).
2019-12-26 12:17:20 +01:00
b228dce1c1
Use weak-ptr for source added/removed signals (2/2) 2019-12-25 18:00:57 +01:00
24b46d1f75
Vkeybd: improve velocity dropdown usability
Limit velocity dropdown to a subset of most used values, but
allow to select any value using mouse-wheel
2019-12-25 13:15:32 +01:00
bc776eac97
Vkeybd: use ArdourWidgets for all GUI elements
Remove Gtk widgets and improve look&feel consistency.
2019-12-24 18:15:09 +01:00
799ec6a8f1 use new method in MidiPatchManager to use MIDNAM data when setting a MidiTimeAxisView 2019-12-23 10:27:00 -07:00
ecdbd1df92
Vkeybd: numeric only spinboxes for octave and velocity
based on a patch by Alex Mitchell
2019-12-19 23:02:19 +01:00
d0668721d5
Vkeybd simplification
* remove Y-axis dependent velocity (difference between
  black/white keys made this not very usable
* remove Bank/Patch selector (there are already three other
  Bank/Patch UIs
* move keyboard-layout selection into Preferences > MIDI
2019-12-19 18:57:40 +01:00
01291f3e0f
Vkeybd: re-layout, prepare config & patch pane removal 2019-12-19 18:45:49 +01:00