13
0
Commit Graph

17185 Commits

Author SHA1 Message Date
082297b932
Update UI for SurroundSendLevel control type 2024-03-21 14:24:11 +01:00
agfline
25397d7812
AAF: Update import UI 2024-03-19 20:59:10 +01:00
0c4eada414 make editor canvas use multi-expose redraws
This is not required for any functionality or performance fixes, but may be useful
and also helps tracking redraw issues with other related changes
2024-03-18 10:48:38 -06:00
agfline
52cce5adc6 AAF: fix import of embedded files shared across regions
https://github.com/agfline/LibAAF/issues/5#issuecomment-1994155327
2024-03-14 12:47:21 +01:00
f2d938914d
Fix loading session by relative path
Previously (since bc91ea3c4) that would create a new session
even if -N was not specified.

This also uses Glib API to test for absolute path, rather
than a custom hack.
2024-03-12 04:29:33 +01:00
2f61071974
Update Lua Action scripts from local file when possible 2024-03-12 04:24:58 +01:00
35017245d9
Fix typo 2024-03-12 00:31:32 +01:00
b783e3eab1
Vapor: add additional export constraint 2024-03-11 20:52:53 +01:00
e467e0c014 in the case of nudging (1) CP, locate the phead so we can see its position 2024-03-11 14:45:07 -05:00
46a8b547fa
Half-baked automation-point nudge
There are currently combined constraints when moving multiple
points like ContiguousControlPoints::move enforces, but otherwise
it works fine.
2024-03-11 19:18:27 +01:00
f873f9f621 typos: "ADM/BWM" -> "ADM BWF" 2024-03-11 09:14:44 -05:00
agfline
d03cdf86e1
Update AAF import UI 2024-03-10 22:11:58 +01:00
7ad5278bfd fix typos: ADM BWF 2024-03-08 11:22:33 -06:00
43c08dd2f5
Do not automatically bind ADM import script 2024-03-08 16:15:13 +01:00
8a8a1b9fb9
Vapor: export file timecode must be < 24h 2024-03-07 17:24:12 +01:00
13383b11a7
Set correct Timecode widget name 2024-03-07 14:29:50 +01:00
bf7d4f895e
Fix jump to next/prev bar
Previously this only located to the prev/next bar if the
playhead was not already on a bar boundary
2024-03-04 20:25:41 +01:00
ed98ff97b2
Fix adding new route in front (#9651)
When adding a new route using "Front", its presentation info
order is set to 1, after the master-bus which has PI order 0.
(see Session::ensure_route_presentation_info_gap).

Mixer_UI::add_stripables, looks up the insert iterator:
"after the route with order 0", but since the master bus is
not in mixer's track-model, the insert-iterator is left "at end".

A later call to `sync_presentation_info_from_treeview` then updated
the new track's order key to be at the end.
2024-03-02 14:55:58 +01:00
2c858deae4
Allow to stem-export Surround Master 2024-02-29 16:15:50 +01:00
jean-emmanuel
83f5d40280
grid/snap: disable broken septuplet option 2024-02-27 23:28:41 +01:00
jean-emmanuel
af023cc516
snap: fix quintuplets and septuplets 2x factor
grid: fix quintuplets 2x factor (septuplets still don't draw properly)
2024-02-27 23:21:33 +01:00
jean-emmanuel
f190493e32
grid: display grid lines for triplets/quintuplets/septuplets 2024-02-27 23:21:33 +01:00
jean-emmanuel
81bd75e7ae
ui: editor: add missing h-separator after last track header 2024-02-27 23:19:12 +01:00
eb4af10745
Amend 5880e51e92, ADM script only works on Unix Systems 2024-02-27 00:30:03 +01:00
0ea0b656b8
Return Lua system-exec exit status 2024-02-27 00:23:49 +01:00
80098c6a86
Vapor: prevent export when there are more than 128 channels 2024-02-26 22:15:11 +01:00
5880e51e92
Add Icon to ADM/BWF script, and preseed it 2024-02-26 22:15:08 +01:00
bff0f174da
NO-OP: fix typo in method name 2024-02-26 18:43:32 +01:00
6e12e71e8b
Show Progress when importing many channels/tracks
Track creation is a slow. Importing multi-channel files
to new tracks can take a significant amount of time.
This prevents the GUI from being marked as unresponsive and
shows progress.
2024-02-24 00:42:50 +01:00
c6f8002561
Discard untitled sessions even when not quitting Ardour 2024-02-24 00:42:40 +01:00
e94e7b6dc7
Vapor: keep session config and UI action in sync 2024-02-23 17:04:25 +01:00
ff82e53b85
Revert "Sanitize the AAF's snapshot name (it'll get used later to create an OS folder)"
This reverts commit b935710b60.

legalize_for_universal_path() already santizes the path in a way that is
safe for all OS.

laaf_util_clean_filename() cannot be used with .c_str() because the
function modifies the char* passed to it.

This worked in some cases before C++11, and can work with non-const
 std::string::data starting at C++17, but C++11 spec is quite clear:

> The program shall not modify any of the values stored in the
> character array; otherwise, the behavior is undefined.
2024-02-21 13:38:39 +01:00
John Emmas
b935710b60 Sanitize the AAF's snapshot name (it'll get used later to create an OS folder) 2024-02-21 11:47:04 +00:00
c35515e43d initialize variable
Without this, loading a session from the command line bypasses any initialization of session_loaded
and after the changes in 0a72c1317 that leads to incorrect startup
2024-02-20 11:17:00 -07:00
01489a629f
Amend b230c2eb2 use bundled libAAF
Revert once libAAF API is stable after libAAF 1.0
2024-02-20 19:12:15 +01:00
6d34500e8d
Also add "All file formats" to session open dialog 2024-02-19 16:42:17 +01:00
cbbc456997
Fix copy/paste bug in in 35de41a419 2024-02-19 16:29:31 +01:00
35de41a419
Allow to easily pick any session type one can open 2024-02-19 16:01:11 +01:00
8aedbc6d0c
Backport debian spelling patch 2024-02-18 20:50:18 +01:00
b230c2eb28
Build against local libAAF (0.6.0 is not yet released)
Revert once libAAF API is stable after libAAF 1.0
2024-02-18 20:38:33 +01:00
7150898eec
Some new codenames 2024-02-18 19:04:24 +01:00
5d2a25827e
Show Editor-Mixer by default 2024-02-18 16:43:09 +01:00
00c76e785c
Add Lua binding to query current editor-mixer route
https://discourse.ardour.org/t/lua-editor-mixer-strip/109886
2024-02-17 15:01:58 +01:00
jean-emmanuel
d79a852207
no-op: clean 2024-02-15 14:58:57 +01:00
jean-emmanuel
c28080d44c
ui: mixer: remove duplicate handler that causes a bug where the "Add Track" dialog pops up upon double clickin anywhere on a vca strip 2024-02-15 14:58:54 +01:00
jean-emmanuel
ba279e2e67
ui: mixer: the formely broken rename dialog on vertical button's double click may actually become an unexpected annoyance, better disable it 2024-02-15 14:58:52 +01:00
jean-emmanuel
8a4f852ff2
ui: mixer: same as 313b0b2ddd but with label button 2024-02-15 14:58:46 +01:00
jean-emmanuel
313b0b2ddd
ui: mixer: clear strip selection when clicking on foldback bus number label, otherwise changing the bus' color will also affect whatever strip is currently selected (this is a more general issue however and should probabaly be addressed globally) 2024-02-15 14:56:22 +01:00
jean-emmanuel
ef160dd24e
mixer: ui: consistent interaction with foldback bus number label (context menu on press instead of release) 2024-02-15 14:56:21 +01:00
jean-emmanuel
33a9664748
ui: mixer: vca: consistent interaction with number_label button (context menu on press instead of release, add missing color edit on double click) 2024-02-15 14:56:21 +01:00
jean-emmanuel
2f29483ac2
ui: mixer: vca: bring vertical button context menu on button press instead of release (like everywhere else), this also fixe renaming on double click 2024-02-15 14:56:21 +01:00
jean-emmanuel
097bdc13f9
ui: mixer: fix vca buttons not visually releasing (inner stroke not cleared upon mouse release) 2024-02-15 14:56:21 +01:00
311f55dba2
Triggerbox Processors are not visible and have no UI
Previously A ProcessorWindowProxy was created for each Route's
triggerbox, and the state was saved with the session file.
2024-02-15 13:26:47 +01:00
4b582e877e
Update AAF import implementation to new libAAF API 2024-02-15 01:44:35 +01:00
0a72c1317f
Initial GUI support to load AAF sessions 2024-02-15 01:44:35 +01:00
a750f251d1
Allow create Sessions with a specific sample-rate (2/2) 2024-02-15 01:44:34 +01:00
25310e49c3 add metadata to session property editor so that search "works" there
There's still relatively limited amounts of metadata available there
2024-02-14 09:23:18 -07:00
Edgar Aichinger
7ee7cf5f4e correct a few escape character errors in german (gtk2_ardour) and czech
(libs/ardour) translation strings, fixes .mo generation
2024-02-14 11:50:27 +01:00
4fb2407944 Update Russian translation 2024-02-13 12:37:15 +01:00
Alija Strömkvist
2383c9bb37
Fix incorrect variable mistake
hide_button was used when width_button should've been
2024-02-13 06:59:19 +01:00
Julien Taverna
63103785e6 Update French translation 2024-02-05 22:47:27 +01:00
Edgar Aichinger
177f020745 update german translation 2024-02-05 22:41:11 +01:00
Martin Vlk
d84363329b Czech translation updates. 2024-02-03 21:12:02 +01:00
Olivier HUMBERT
cfb162e085
French translation update 2024-02-01 18:43:56 +01:00
07407c4e7c add a tooltip to describe ops on the pianoroll header, incl note select 2024-01-31 14:39:03 -07:00
f03e598340
Expose Surround Send Enable Sharing in UI 2024-01-30 23:58:43 +01:00
0e824cce0b
Fix gtk-critical message when monitor section is not present 2024-01-28 21:59:14 +01:00
7946e442d3
Consolidate code, use API 2024-01-28 14:59:17 +01:00
b37414e01c Srnd: only update LUFS and dBTP displays while transport is rolling 2024-01-21 10:58:23 -06:00
jean-emmanuel
390ffb2253 ui: add some padding in tooltips 2024-01-20 16:09:33 +01:00
jean-emmanuel
971cd9226a theme: missing new outline colors in dark adwaita theme 2024-01-20 15:43:05 +01:00
jean-emmanuel
be0e6ac613 ui: fader: use sementically correct color name for fader outline 2024-01-20 15:38:35 +01:00
jean-emmanuel
e4d53629ed ui: meter: use sementically correct color name for meter outline 2024-01-20 15:38:35 +01:00
jean-emmanuel
feed0008bc ui: editor: fix track/canvas separator alignement with 0 or more rulers visible 2024-01-20 14:46:03 +01:00
jean-emmanuel
783bb84338 ui: mixer: consistent bg color for the master bottom spacer 2024-01-20 14:44:30 +01:00
jean-emmanuel
1fad5fd6e9 ui: editor: consistent track separator color with mixer view 2024-01-20 14:44:30 +01:00
jean-emmanuel
97e32a7a61 ui: mixer: adjust plugin inline display for a more consistent look (same border radius as faders, 1px distance with the edges of the containers and with the connection pins). Does the plugin drawer need to be tricked into drawing to the exact adjusted surface now ? 2024-01-20 14:44:30 +01:00
jean-emmanuel
bf0d73b3f1 ui: mixer: remove extraneous outline around strip processor list 2024-01-20 14:44:30 +01:00
jean-emmanuel
b8317c9b87 ui: tooltip: remove out of place outline color (use tooltip background color) 2024-01-20 14:44:30 +01:00
jean-emmanuel
08ad1af9dc ui: button: themable outline color instead of hard-coded black 2024-01-20 14:44:30 +01:00
jean-emmanuel
83c23f5f26 gtkrc: remove hard-coded black background around time info box (use theme's darkest) 2024-01-20 14:44:30 +01:00
jean-emmanuel
404a206960 time axis view: remove selected track inner shadow / border (less fuzzy render, and allows using a more contrasted color for strip selection border in mixer view without messing up the time axis view) 2024-01-20 14:44:30 +01:00
adb196dcde
Show automation lane on touch, now spills related ctrls 2024-01-19 02:55:47 +01:00
d01bb73548
Mixer: place surround-monitor after master (and before monitor section) 2024-01-15 22:40:35 +01:00
f7d022e38c Update Russian translation 2024-01-15 00:28:16 +01:00
3d752fc770
Fix snap to triplet 2024-01-14 15:32:02 +01:00
a6ea40552c
Don't show automation of hidden plugins 2024-01-13 17:56:47 +01:00
83e4b49a9e
Retain first-selected-stripable when removing ATAV
This allows ctrl surfaces (notably Faderport) to keep
editing plugin settings, when some unrelated plugin is removed.

Route::processors_changed calls RouteTimeAxisView::processors_changed,
and if a plugin automation line vanishes ~AutomationTimeAxisView
deselected the track. This triggered a control surface update.
2024-01-13 17:56:33 +01:00
ee6d46d403 Ardour repo should not distinguish between Mixbus variants 2024-01-08 08:25:18 -06:00
Nicolas Petton
aac7f82bc8
Add a new color theme inspired by Adwaita (GNOME desktop) 2024-01-07 14:18:26 +01:00
cbf38408c9
Fix crash when using Ripple with a RegionMoveDrag
See also 1a2fff932f
2024-01-07 14:15:36 +01:00
ad51c7c2ba
Localize stripped down gtk2
This is intended mainly for GNU/Linux distros who will remove
GTK2 support in the near future.
2024-01-06 21:52:48 +01:00
2a928dae19
Vapor: Simple Export GUI 2024-01-06 20:28:42 +01:00
7228144d6e
Vapor: GUI support to add Surround Bus 2024-01-06 20:27:03 +01:00
9cc966120c
Consolidate internal bus checks (2/2) 2024-01-06 20:21:54 +01:00
46a2b45443
Tweak translatable strings
* add spaces around "->"
* consistently use "time domain" (instead of "timebase")
* remove "Edit ->" from "Preferences" (on macOS Prefs
  are not in the edit menu
2023-12-17 20:58:11 +01:00
Edgar Aichinger
eeadd04b14 update german translation (this time for real) 2023-12-17 11:45:15 +01:00
1434c624ff
Fix ffmpeg-5+ encoding drop-frame framerates 2023-12-13 17:41:44 +01:00
e7cc096d19
Fix location list order (amend 7ee5a3f24) 2023-12-11 15:54:30 +01:00
fa0d1d98f9
Update Section list (once) in the background
This can accumulate multiple signal emissions into a
single idle update.
2023-12-10 04:10:01 +01:00
bdfee53d1f
Fix signal emission for Locations::ripple (2/2) 2023-12-10 04:08:55 +01:00
fe3827b1d8
Fix crash when session range is created (bug introduced in 7ee5a3f) 2023-12-10 01:48:13 +01:00
f407d4e3b7 ensure that MidiStreamView calls a color handler for each region
This allows MIDI regions to auto-update during theme editing
2023-12-09 14:07:58 -07:00
7ee5a3f24d
Keep location lists ordered by start-time 2023-12-09 02:26:49 +01:00
1da5c7f389
Fix ordering of locations
There are two lists, one for ranges, and one for
everything else.
2023-12-09 01:43:40 +01:00
62f20d126f
Another speedup when multiple locations change
This is mainly relevant for redo, and ripple
when all multiple locations are changed and static signals
are emitted by each Location.
2023-12-08 23:03:38 +01:00
857d8096a9
Revert "Keep Location List ordered by start-time"
This reverts commit 67f6363dcd.

This VERY slow when there are many locations in the session
e.g. with #9568 it can take seconds.
2023-12-08 22:14:04 +01:00
67f6363dcd
Keep Location List ordered by start-time
Now that Location signal(s) are only emitted when the
drag ended, the list can be kept in sync.

This also adds a further optimization to only update the
list once, even when multiple locations have been changed.
2023-12-08 22:03:22 +01:00
067a124fd1
Suspend signal emission of Locations during Drag
This significantly speeds up Location Drag/motion
2023-12-08 21:48:23 +01:00
7b1997ffda
Speed up Location changes #9568
Section Markers only need to be updated when an actual
section-marker is modified OR flags change.

This also removes duplicate signal subscriptions and
caches sorted Location list when iterating over section markers.
2023-12-08 17:22:32 +01:00
87181710b2
Drop UI shared_ptr references to Transport Masters
This allows ARDOUR::cleanup to unregister ports before
destroying the Audio Engine. This fixes a crash at exist
with JACK since 0786be8.
2023-12-05 04:37:39 +01:00
8576db5642
Fix buffer-overflow in power range spectral analysis (#9560) 2023-11-30 19:43:27 +01:00
de7d0a986b
Foldback: fix memory leak 2023-11-29 02:20:09 +01:00
jujudusud
5138d174cb French translations 2023-11-28 01:07:08 +01:00
e3128e932c
Compile and install libAAF 2023-11-27 23:25:04 +01:00
3355e753bf
Keep track of LV2 externalUI visibility
This allows Ardour to re-open previously shown plugins,
and toggle externalUI.

This worked in the distant past, before Ardour 3.3 introduced
the Ardour Window Manager.
2023-11-26 20:07:00 +01:00
04be971238
Properly stop message emission when closing external UI 2023-11-26 20:06:07 +01:00
Nils Philippsen
e995daa375 Fix failure to build with libxml2 version 2.12
This declared some xmlError pointers const, which probably was always
assumed, but not made explicit.

Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2023-11-25 00:30:04 +01:00
253dcb312b make note joining code a bit cleaner and preserve note velocities 2023-11-24 09:29:31 -07:00
d6beba67dc note joining should occur per-channel 2023-11-24 08:32:28 -07:00
f95e94bc29 note tupling tweaks, and note join added
bindings moved to s/S and j, no need to use split-by-grid first

split-by-grid still needs work for non-grid aligned notes
2023-11-23 22:42:04 -07:00
438bd7a720
Import Dialog: clean up MIDI information 2023-11-23 18:35:56 +01:00
b92b2389fd make note-tupling work on multiple notes 2023-11-22 19:37:46 -07:00
fb930e8f47 add invalidator() calls to MixerStrip as it connects to ParameterChanged
when the surround bus is removed, it (probably erroneously) causes
changes to the I/O routing for the auditioner, which will be
delivered to anyone who cares via an RCConfiguration ParameterChanged
signal. This will be emitted from a non-GUI thread, and so will not
be handled synchronously. The GUI thread will first handle the notification
that the surround bus was deleted, and that will include deleting the
MixerStrip for the surround bus. But another call_slot() request will
be pending to notify the now-deleted MixerStrip about the auditioner change.

Adding invalidator() calls ensures that the deletion of the MixerStrip removes
all of these pending call_slot() requests.
2023-11-22 17:24:26 -07:00
c3d14b1169 basic note-tupling functionality implemented 2023-11-21 17:07:42 -07:00
7f779bb934 define new MIDI note splitting actions 2023-11-21 17:07:42 -07:00
3792bf86e4 MidiRegionView: stubs for new methods 2023-11-21 17:07:42 -07:00
0f170ec87b MidiRegionView: initialize new members 2023-11-21 17:07:42 -07:00
e39709863a add new state and methods to MidiRegionView for note splitting 2023-11-21 17:07:42 -07:00
71e049202c
Fix crash when clicking on region boundary box to start Drag
The box outlines a given region, the grab position may be earlier
than the region's position.

Previously this caused a crash (uncaught exception):

```gdb
__cxa_throw () at /lib/x86_64-linux-gnu/libstdc++.so.6
Temporal::timecnt_t::timecnt_t(Temporal::timecnt_t const&, Temporal::timepos_t const&) at ../libs/temporal/timeline.cc:79
RegionMoveDrag::setup_pointer_offset() at ../gtk2_ardour/editor_drag.cc:2226
```
2023-11-21 20:17:20 +01:00
4647dd6b41 fix crash when freezing a track with > 1 region (#9539)
deleting regionviews changed the region selection, but the regionview
ptr had not been removed from the RegionViewList. The selection change signal
caused an iteration over the list, and manipulated the deleted regionview.
2023-11-20 19:13:22 -07:00
Mate Pušić
e010cf91b9
Fixed a typo 2023-11-20 20:04:27 +01:00
bea9215a0e
Remove noop include (deprecated, unused gtk header) 2023-11-19 20:28:48 +01:00
da175cc2e8 temporal: remove TempoMap::insert_time() and use shift() instead
The former was incorrectly implemented, and the latter has already been tested more
in real life.

We should likely remove ::remove_time also and use shift() there too, but that
requires testing negative shifts more broadly.
2023-11-19 12:14:10 -07:00
b76c3b11d9 when importing SMF tempo map, use copy&paste to keep position 2023-11-17 10:02:34 -07:00
e0d9970056 remove mistakenly retained stacktrace() call 2023-11-14 19:47:17 -07:00
7762fa47ea make an attempt to show note length with verbose cursor
Likely much more intelligent string formatting is needed to make this
actually useful to most people
2023-11-14 11:05:13 -07:00
f5af821aba startup: in the usual weird logic, mark startupFSM complete from startup_done()
this disconnects the startupFSM from signals it should no longer
handle, even if its existence continues as a leak (noted
elsewhere in the code).
2023-11-14 11:03:09 -07:00
729eb60de3 startupFSM: move definition of ::set_complete into source file
and also disconnect from Keyboard signal when called.
2023-11-14 11:02:08 -07:00
8e583f4c4c startup FSM: save connection to Keyboard::HideMightMeanQuit signal 2023-11-14 11:01:39 -07:00
7be61b0909
Fix typo in 69c7db8595 2023-11-13 22:19:03 +01:00
69c7db8595
Add Mute button to recorder view 2023-11-13 00:08:38 +01:00
adb508b189 no-strobe behavior for varispeed blink 2023-11-11 10:11:30 -07:00
a5ac6e097e switch no-strobe from cmdline to UI config preference 2023-11-10 15:50:44 -07:00
cc5bd6c63a provide a (visible) UI preferences option for no-strobe 2023-11-10 14:33:39 -07:00
863ad01a90 no strobe for rec-enable buttons (all of them) 2023-11-10 11:18:17 -07:00
1b35d5824b remove non-existent method decl 2023-11-10 11:17:53 -07:00
9c5600ad87 no strobe for mixer ui meters 2023-11-10 10:56:03 -07:00
5e087864f6 no strobe for editor-visible meters 2023-11-10 10:55:44 -07:00
08af0fe04a no strobe for the transport peak meter 2023-11-10 10:54:54 -07:00