Commit Graph

36196 Commits

Author SHA1 Message Date
luz paz 056a79bfb6
Fix typos 2022-10-17 00:06:12 +02:00
Robin Gareus e4ae0be4f1
Properly show context menu, interact with button used to open it 2022-10-17 00:02:58 +02:00
Robin Gareus 54ec5f87d4
Clear trigger on shift+RMB (#8991) 2022-10-17 00:02:58 +02:00
Paul Davis 92963230a7 store insert-at selection in UI config variable when it is used in the add route dialog 2022-10-16 15:12:30 -06:00
Robin Gareus 23010a910d
Be liberal about what to accept
This addressee a bug where ardour 6 was able to write negative
duration `length="-1"` `length-beats="-3.3650500597559585e-05"`

Ideally timecnt_t::string_to should check for invalid,
negative, duration. But this also catches a more generic case.

```
exception at str.substr (1)
#3 Temporal::timepos_t::string_to (this=0x7fffffff7bb0, str="") at libs/temporal/timeline.cc:904
#4 Temporal::timecnt_t::string_to (this=0x7fffffff7ba0, str="-2") at libs/temporal/timeline.cc:294
#5 PBD::string_to<Temporal::timecnt_t> (str="-2") at libs/ardour/ardour/types_convert.h:131
```
2022-10-16 22:30:35 +02:00
Robin Gareus 31cf2dfa1b
Do not constrain bundle names to 32 chars 2022-10-16 21:45:09 +02:00
Robin Gareus c8671b5747
List matching I/O Plugin ports in connection button dropdown 2022-10-16 21:44:52 +02:00
Robin Gareus 8d879616a6
Improve connection button label for I/O plugins 2022-10-16 21:06:27 +02:00
Robin Gareus 27b457add1
Fix German translation (invalid escape sequence) 2022-10-16 20:22:36 +02:00
Robin Gareus 8240875379
Prevent overflow for huge time values (fix 99h clock limit @96kHz)
The default clock-limit is 99:59:59:00, just under 360000 seconds
(see ARDOUR_UI::parameter_changed, clock-display-limit).

AudioClock calculates this limit pos as
`timepos_t (limit_sec * _session->sample_rate())`

This caused an overflow leading to a negative value:
```
   timepos_t (359999 * 96000)
   samples_to_superclock (359999 * 96000, 96000)
   int_div_round (359999 * 96000 * 282240000, 96000)
```

Ideally this will be optimized, here the sample-rate cancels out,
so we could use a c'tor usin seconds.
In other cases we could cache the pre-calculated sc_per_sample:
`superclock_ticks_per_second() / superclock_t (sr)` which is an
integer for all commonly used sample-rates.
2022-10-16 18:46:36 +02:00
Robin Gareus dd680926fe
Update preference to limit clock to 99h
This limit is actually enforced in ARDOUR_UI::parameter_changed,
so this is really a no-op.
2022-10-16 18:46:31 +02:00
Robin Gareus 57af42ef84
Do not show I/O plugin port in the matrix that cannot be connected 2022-10-16 04:27:26 +02:00
Robin Gareus 2a2e5a49e7
List I/O Plugins separately in connection matrix 2022-10-16 04:03:55 +02:00
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