Commit graph

36533 commits

Author SHA1 Message Date
Mads Kiilerich
18527e4056
Use nice units for labels in the export spectogram
Before, the X-axis labels would be placed in nice even positions, but
with whatever odd time corresponded to that. That made it harder than
necessary to read the graph and approximate when things happened.

Instead, round the interval down to nearest power of ten ... and if
suitable, scale that up with a factor of 2 or 5. That will (with the
necessary handling of how seconds/minutes/hours relate) make sure that
the time labels are nice with a minimal amount of non-zero digits. That
makes it easy to do math and interpolate when reading the graph.

The number of labels will change between something like 4 and 10 -
before it was always something like 7. That is fine, as long as it helps
the readability.

The total length is no longer the right-most label, but the length can
be found in the top-right corner.
2022-10-15 19:57:35 +02:00
Mads Kiilerich
797dd872e3
ArdourGraphs::time_axis : Replace xalign by clamping
Prepare for more flexible placement of the labels, where the last label
not necessarily is completely at the end.
2022-10-15 19:57:35 +02:00
Mads Kiilerich
272df0ac58
ArdourGraphs::time_axis : Introduce a constant label_pos 2022-10-15 19:57:35 +02:00
Robin Gareus
061d44feff
PortInsert: remove old API to query latency 2022-10-14 02:21:50 +02:00
Robin Gareus
c3697e1755
Overhaul PortInsert UI
* add gain controls for send/return
* add send polarity invert control
* allow to customize latency
* set transient parent
* cleanup and format source
2022-10-14 02:21:50 +02:00
Robin Gareus
40ea071873
PortInsert: emit signal when latency changes, cache I/O latency 2022-10-14 02:21:50 +02:00
Robin Gareus
0213fa6cc7
Implement PortInsert send/return gain contols 2022-10-14 02:21:50 +02:00
Robin Gareus
5a48a56bfe
Clean and overhaul up SendUI
* add polarity control
* set transient parent
* remove unused methods
* clang-format source
2022-10-14 02:21:50 +02:00
Robin Gareus
8113633bb9
Cleanup Track Automation kids
Send levels are dedicated to each send (Processor), and
not route-owned direct child automation for each time-axis.
2022-10-14 02:21:50 +02:00
Robin Gareus
afd23d42cd
Add dedicated InsertReturnLevel type (2/2) 2022-10-14 02:21:50 +02:00
Robin Gareus
2939ed3164
Add dedicated InsertReturnLevel type
This is preparation for PortInsert Send and Return
level control.
2022-10-14 02:21:49 +02:00
Robin Gareus
f3423b8a77
Consolidate send/delivery gain control
This moves the _amp from send to delivery (which already
applies gain for the master-bus normalization). This generalizes
the use of a gain stage for use in port-inserts.
2022-10-14 02:21:49 +02:00
Robin Gareus
e665d456c3
Optimize RB stretch/pitch, set max-process size hint 2022-10-14 02:21:49 +02:00
Robin Gareus
6684a80d1d
Add Ardour logo sources (thanks to thorwil) 2022-10-14 02:21:09 +02:00
Paul Davis
a7a8783bb4 increase superclock_ticks_per_second to provide integer handling for NTSC (following Facebook "flicks") 2022-10-13 18:05:49 -06:00
Paul Davis
2b3312e7d3 better color selection for text in clip list 2022-10-13 17:39:16 -06:00
Robin Gareus
9370ae2231
Add Thorsten Wilms logo design process
Original upstream:
https://thorwil.files.wordpress.com/2013/03/ardour_process_new.pdf
https://thorwil.wordpress.com/?s=ardour
2022-10-13 19:24:43 +02:00
Robin Gareus
38a40d7c06
Session drop graph-nodes before ~Session
Previously active Routes were retained until the end of
Session d'tor and not dropped during Session::destroy.

While most resources were explicitly cleaned up via DropReferences,
Processor UIs are kept around until the actual destructor runs.
Likewise some controllable are kept around while the GraphNode (Route)
owning it is not released.
2022-10-13 17:49:34 +02:00
Robin Gareus
4d4da13d55 Fix Clip listing (include all shortcuts, update colors)
* GTK fills in the snapshots in the background (using background threads
  to test files).
* Actual colors may only available after the widget is realized (not
  directly after ensure_style)
2022-10-13 04:10:11 +02:00
Paul Davis
8d866f58a2 fix mis-use of locally-scopped variable name in auto for loop 2022-10-12 16:51:04 -06:00
Robin Gareus
392210270c
Fix pitch-shift producing partially silent regions
It can happen that with a scaling factor of 1.0, rubberband
produces slightly fewer samples than the original.

Region::set_length (region->length * 1.0) is idempotent and
does not shorten it as appropriate to the longest source
via Region::verify_length(), which leads to various issues.
2022-10-12 22:25:10 +02:00
Robin Gareus
396013bf5a
Set and create clip-library folder if needed
Direct calls to `Config->get_clip_library_dir` may return
"@default@". The path is OS specific and may also not
yet exist, so indirection is required.
2022-10-12 16:11:50 +02:00
Paul Davis
ab7254e357 new Xcolors theme from LAM 2022-10-11 14:20:35 -06:00
Robin Gareus
92f8d1e577
Further reduce differences in themes (sort and indent modifiers) 2022-10-11 21:59:10 +02:00
Paul Davis
fb4115d6b0 add new diehard3 theme from avlinux/gmaq 2022-10-11 13:48:55 -06:00
Robin Gareus
cae565f3be
Copy missing color definitions to alternative themes 2022-10-11 21:29:50 +02:00
Robin Gareus
56e5c5fc3b
Sort colors in default theme, remove space 2022-10-11 21:29:50 +02:00
Paul Davis
d69dfc26a6 no whole file regions in triggerbox slots 2022-10-11 12:56:41 -06:00
Robin Gareus
f9a2da3426
LXVST: dispatch close when GUI is destroyed
see also e635571f2f
2022-10-11 20:55:01 +02:00
Robin Gareus
45398fb65c
Fix switch custom -> generic plugin UI
See also e635571f2f and bd898a68
2022-10-11 20:44:04 +02:00
Robin Gareus
3b2eb7507b Fix macOS compatibiliy
readlink -f option requires recent macOS 12.6
2022-10-11 20:06:17 +02:00
Robin Gareus
ae6bf4bc7d
Deploy LRDF presets (if any) 2022-10-11 17:07:33 +02:00
Robin Gareus
5324c9092e
Clean up LADSPA preset path
* Allow to bundle presets
* Do not use /usr/[local] on Windows
(This may need further work, for Windows, since default user
presets are in `file://$HOME/.ladspa/rdf/`)
2022-10-11 16:39:17 +02:00
Robin Gareus
340a260b30
Remove old LRDF VST presets
Ardour has not been using RDF for VST2 presets since at least
10 years.
2022-10-11 16:23:20 +02:00
Robin Gareus
4d76d72af4
Update bundled media URL 2022-10-11 15:24:17 +02:00
Robin Gareus
664f6768f2
Fix windows builds, use portable setenv 2022-10-11 15:13:41 +02:00
John Emmas
43a9ae7458 Use glib to provide setenv()
(for some strange reason, setenv() is called putenv() on Windows!!)
2022-10-11 10:46:57 +01:00
Robin Gareus
7216a767df
The return of the send level meter 2022-10-11 03:58:35 +02:00
Robin Gareus
0aa5a8674c
Remove accidentally commited file 2022-10-11 03:28:18 +02:00
Robin Gareus
bd898a68df
Fix switch custom -> generic plugin UI (amend e635571f2f) 2022-10-11 02:40:55 +02:00
Robin Gareus
0bf8e7d8cf
Make clock mode settings session independent
Much like the edit-tool and grid-types, clock-modes are UI state.

Saving the UI state separately allows them to be used
consistently for new sessions. Previously clock-modes were set
initially (at application start) and when loading sessions.

The clock modes of newly created sessions was different
depending on loading another session prior to creating the
session. This is now no longer the case.
2022-10-10 21:03:45 +02:00
Václav Šmilauer
6ad3dc1e43 Fix disabling l10n under Linux 2022-10-10 08:11:52 -06:00
Robin Gareus
c04b05f497
Remove misleading export quality comments 2022-10-10 02:23:55 +02:00
Robin Gareus
00fe7e8778
Remove Lambda w/return value for compiler compat. 2022-10-09 16:45:31 +02:00
Robin Gareus
b42591fde1
Specify return type of lambda (amend e635571f2f) 2022-10-09 15:40:29 +02:00
Alexandre Prokoudine
7b4487699c Update Russian translation, part 4 of N 2022-10-09 14:46:13 +03:00
Robin Gareus
e635571f2f
Implement preference to destroy plugin UIs
see also https://discourse.ardour.org/t/very-high-gpu-usage-on-windows/107672
2022-10-08 18:45:20 +02:00
Robin Gareus
830fe4da2f
Add preference enum for plugin GUI unmap behavior 2022-10-08 18:44:16 +02:00
Robin Gareus
f89845e64a
Prevent duplicate signal emission
Re-assigning a sigc::connection does not disconnect
any previously connected signals.

WindowProxy::setup may be called multiple times. Notably plugin
windows can change the managed _window (generic/custom), which
requires a call to setup.
2022-10-08 17:12:10 +02:00
Paul Davis
0dc4f4bf45 spelling fix, PR#725 2022-10-07 19:14:01 -06:00