Commit Graph

13942 Commits

Author SHA1 Message Date
cooltehno 49301785d6
Update cubasish-ardour.colors 2021-03-23 23:25:00 +01:00
cooltehno 4ec0f0b7ea
Update recbox-ardour.colors 2021-03-23 23:24:05 +01:00
cooltehno 305bfb02e6
Update clear_gray-ardour.colors 2021-03-23 23:22:32 +01:00
Robin Gareus 41c52882af
Fix region-peak display for trimmed regions 2021-03-23 20:37:57 +01:00
Robin Gareus 46d9a8d819
Increase contrast of insensitive faders (automation play) 2021-03-22 21:54:25 +01:00
Robin Gareus 59b3b02dea
Indicate gain-entry focus/selection
The mixer gain-entry selects all when the entry is focused
(see ArdourWidgets::FocusEntry). Due to the selection there is
no visible cursor, and it was not obvious that the entry
has focus. Also moving the mouse outside of the strip drops focus
without any indication.
2021-03-22 21:24:33 +01:00
Robin Gareus 8b4edaa950
gcc-11 compat, volatile atomic variables (2/2)
GUI part of previous commit.
2021-03-22 15:30:16 +01:00
Robin Gareus bf64852fc2
Remove volatile/atomic re-display flags in GUI thread
Atomic operations are not needed here, since the GUI
is single threaded.
2021-03-22 13:45:29 +01:00
Robin Gareus 8fcbe789b4
Ignore pinout when copy/pasting plugins using Ctrl+c/v
This can lead to invalid configuration and crashes in
case plugin-replication changes.

see also 9ab84a95f1
2021-03-22 04:10:03 +01:00
Robin Gareus 86a594fe90
Mitigate batch gain-changes #8576
This combines SessionEvent per playlist. Now per change
there are "only" two SessionEvent::Overwrite events
queued per playlist in the GUI thread for later processing
the Butler.

These are triggered by Playlist::ContentsChanged()
and Playlist::LayeringChanged(), both of which trigger
DiskIOProcessor::playlist_modified.

(Previously there used to be two per region)
2021-03-22 02:14:30 +01:00
Robin Gareus d13eb84fa3
Fix BPM button overflow
"T: " prefix isn't very useful. in music-notation the note
symbol is established: ♩ = <bpm> or ♪ = <bpm>.

This fixes an issue on Windows, where those note symbols are
not available in the default unicode font. There "1/4" is used
which adds two extra monospace chars leading to cropped text.
2021-03-20 19:07:31 +01:00
Robin Gareus 745b194241
Get sample-rate from session-archive
This correctly sets the engine sample-rate when opening
a session-archive.
2021-03-19 22:52:27 +01:00
Ben Loftis 2111c3531f Return (Enter) should behave the same in all windows 2021-03-19 16:00:30 -05:00
Paul Davis 5a4ef850ce better fix for same issue as 985eb93674
Copy region selection so that when it is invalidated, iteration doesn't break
2021-03-18 13:17:02 -06:00
Paul Davis 985eb93674 avoid possible iterator corruption in MIDI region selection handling 2021-03-18 12:50:06 -06:00
Robin Gareus 3bda6020b9
Remove excess parentheses 2021-03-18 04:09:04 +01:00
Robin Gareus d4c3e43b03
Address another -Wunused-private-field
TrackSelection is just a different name for TrackViewList
the private _editor is no longer needed nor used.
2021-03-18 04:06:46 +01:00
Olivier Humbert df260ccea9
Update fr.po 2021-03-17 23:16:19 +01:00
Olivier Humbert d3cfbbabd1
Update fr.po 2021-03-17 23:15:33 +01:00
Robin Gareus fddecc11ec
Remove unrelated enum cases (-Wenum-compare-switch) 2021-03-17 17:44:11 +01:00
Paul Davis 4abe3ade28 do not commit reversible commands when clearing locations if nothing was changed 2021-03-16 17:40:25 -06:00
Paul Davis bcb3e75cec GUI to remove xrun markers 2021-03-16 16:49:49 -06:00
Robin Gareus dfa9f92e53
Fix tab-button state and cycling through tabs
The initial calls in `we_have_dependents()` was redundantly setting
all widows to "Hidden", before the actual state was known.

tabbable_state_change() is initially called for all Tabs:
ARDOUR_UI::setup_windows -> add_to_notebook() -> attach(),
or for detached windows Tabbable::set_state() -> hide_tab().

Step_up/down_through_tabs used window visibility to determine
candidates. This incorrectly considered detached visible tabs.
Detached windows cannot be cycled to.

This also addressed an issue where tab-buttons state was
incorrectly unset what unrelated tab state changed.
ImplicitActive of the currently active tab is now retained
when some other window is attached/detached.
2021-03-16 00:36:22 +01:00
Robin Gareus 6627d28983
Fix typo in comment 2021-03-15 22:12:31 +01:00
Robin Gareus 1d106c88ca
NO-OP: comment for later 2021-03-15 20:58:43 +01:00
Robin Gareus e267c1e129
Also show route owned controls on touch
This add support for special-cased automation controls
(Fader, Trim, Panner, Mute) and spills their automation-lane
on touch.

It also features a small internal API update directly mapping
CheckMenuItem. See also bd8c26a059
2021-03-15 20:58:42 +01:00
Robin Gareus c9241a5e71
Fix label, remove underscores (amend e81794d87) 2021-03-13 18:36:35 +01:00
Robin Gareus 77d88233a5
Update path label after rename or save-as 2021-03-13 16:53:09 +01:00
Robin Gareus 93121e8aa3
Revert "Show error when session-archive loading fails"
This reverts commit 48225c10bd.

We need to allow this to fail and fall-through to test normal sessions.
2021-03-11 19:37:10 +01:00
Robin Gareus 9ee2a46b7a
Allow re-try when session-parameters mismatch
Previously Ardour kept running but no interaction was possible
since the session-dialog was hidden.
2021-03-11 19:20:29 +01:00
Robin Gareus 48225c10bd
Show error when session-archive loading fails 2021-03-11 18:25:22 +01:00
Robin Gareus 9f3fba6988
VST3: Prevent recursive endless resizing
Skip call to onSize() when the plugin's size already matches.

https://github.com/Ardour/ardour/pull/599
https://github.com/juce-framework/JUCE/pull/867
https://discourse.ardour.org/t/sonobus-vst3-gui-hogs-cpu-only-when-ran-inside-ardour-on-linux-but-not-windows/105573
2021-03-11 18:19:21 +01:00
Robin Gareus e07b3104bb
Expose VST Micro Edit display option. 2021-03-10 17:57:42 +01:00
Robin Gareus 33de08e9e7
Do not commit empty split undo transactions
When no region(s) are selected and none are under the edit-point,
only a selection change was committed as undo action.
2021-03-10 14:20:24 +01:00
Robin Gareus bdc1cdc15f
Fix crash when separating ranges with automation
playlist->partition() calls DiskReader::playlist_ranges_moved()
which may add Panner and Fader automation state changes.

The reversible command has to be started before calling
playlist->partition(). Simply collecting playlist->rdiff() after
the fact is not sufficient.
2021-03-10 13:55:32 +01:00
Robin Gareus 1ef4fc1140
Show splash-screen content
Since switching to StartupFSM, the GUIIdle signal isn't available
connected at application start. The splash-screen was blank until
the main UI was up.
"Ardour is ready for use" was the only visible message.
2021-03-09 18:29:00 +01:00
Ben Loftis bdd362ee24 Apply a name to eventboxen in the menu bar, so the theme can be applied 2021-03-08 18:37:54 -06:00
Robin Gareus cb6ad45e9d
Fix crash when CatchDeletion signal from self_delete arrives late
This is rather an unusual edge-case, seen on macOS when the UI
never continues past the first idle stage.
2021-03-08 17:15:03 +01:00
Robin Gareus e236c2ab0f
s/Plugin Manager/Plugin Selector/
The GUI allows to select and add plugins.
Managing plugins will be something different.
2021-03-04 22:09:17 +01:00
Robin Gareus e81794d878
Add preference to keep spilled automation-lanes visible 2021-03-02 19:00:23 +01:00
Robin Gareus e3c3109618
Unsubscribe from signals when clearing references
This fixes crashes with plugins calling setDirty() when the
UI is closed. `plugin` has already been reset before
the actual window is closed:

`PluginUIWindow::~PluginUIWindow()` runs, and destroys the window,
here `~VST3NSViewPluginUI ()`. This closes the VST3 view, which
triggers a `VST3PI::setDirty`.
At this point in time `~PlugUIBase()` has not yet run, so all
signals are still connected.

setDirty() ends up calling PlugUIBase::update_preset_modified()
which access `plugin` pointer, which is NULL.
2021-03-01 22:11:15 +01:00
Robin Gareus 0d838355c3
RecorderUI: handle meter lineup level config changes 2021-02-28 20:57:22 +01:00
Robin Gareus f8c75914c4
RecorderUI: handle meter-theme changes 2021-02-28 20:03:12 +01:00
Robin Gareus b553b67407
Fix curl free() ambiguity - fixes windows issues
curl_free() is to be used for data allocated by
curl_easy_escape() or curl_easy_unescape() in libcurl.

This is unrelated to realloc/free in WriteMemoryCallback().
2021-02-28 15:17:30 +01:00
Robin Gareus f8ba27f417
Work around crash #8586
MidiRegionView::select_notes() may call MRV::add_to_selection
which may call editor().get_selection().clear ();
This in turn clears the pending_midi_note_selection, invalidating
iterator.

This bug was introduced in 7cf435a876 (6.5.148)
2021-02-28 14:58:18 +01:00
Robin Gareus 0f63cba3c7
Fix audition-tool
* Don't set default speed when using audition
* Use actual engine speed, since v6
  Session::transport_speed is {-1, 0, 1}
2021-02-27 23:12:15 +01:00
Robin Gareus 51cba19eaf
Fix big clock window record-state info
When showing the clock window after starting to record,
the record-state was not correctly indicated.
2021-02-27 19:25:45 +01:00
Robin Gareus 003245654a
Allow auto-start if there is no backend information for the session 2021-02-27 16:41:09 +01:00
Robin Gareus 835f30e5f5
Consistency: replace "x-run" with "xrun" (2/2) 2021-02-26 22:22:57 +01:00
Robin Gareus 355528781d
Fix Bundle Editor: show connected ports
PortGroupList::gather() first adds UserBundle ports to
`system->add_bundle (*i, allow_dups);`

That can include ports that are already associated with the
current bundle. The port in this case has the Bundle's name.
Those ports are later removed in BundleEditorMatrix::setup_ports
`_ports[OTHER].remove_bundle (_bundle);`

However we do need to show physical ports by their name, even
if they're identical to the already associated bundle to allow
disassociating them.
2021-02-26 19:14:57 +01:00