13
0
Commit Graph

36275 Commits

Author SHA1 Message Date
6ba740d37a add freesound dir to prepopulated dirs in clip list 2022-10-20 12:49:19 -06:00
91309619b8
Pingback: remove unused CPU/OS version detection
OS specific versions part of a http query has been Ardour
only. Mixbus never posted any of this information. The section
was #ifdef'ed out. Removing this code for good, simplifies merges.
2022-10-20 19:44:15 +02:00
19e190cc93
Improve connection button labels for internal connections
* Update button when the name of a connected route changes
* Indicate partial internal connections (previously only the
  client name ("ardour") was displayed.
* Escape markup in I/O plugin and client names
* Refactor code, use a common base-class for route and
  route-less I/O Buttons
2022-10-20 18:55:21 +02:00
de84ac2d6f Update Russian translation 2022-10-20 15:29:49 +03:00
73ab0d3472 change pingback URL and no longer send OS release or machine info (GUI edition) 2022-10-19 20:26:39 -06:00
63677347c9 change pingback URL and no longer send OS release or machine info 2022-10-19 20:26:39 -06:00
39c6ea6813 editor region list: allow name column to be resizable 2022-10-19 20:26:39 -06:00
b75be7f975
Another attempt for ssl-cert support on RHEL/Fedora #9005
When /etc/pki/tls/certs/ca-bundle.crt exists, jus use
that file and do not set any PATHs. Disable default
built-in /etc/ssl/certs
2022-10-19 18:23:03 +02:00
9914732004
Potential fix for C++20 std::set::* ambiguity
(until C++20) bool empty() const noexcept;
(since C++20) [[nodiscard]] bool empty() const noexcept;
2022-10-19 16:06:47 +02:00
22829e96b1
Fix MIDI Clock sync
This fixes a deadlock, because tempo-map write copy
was not released. A later call to TempoMap::write_copy
will deadlock and in this case also hold the process lock.

This can happen if there is more than one tempo on the
timeline or if the tempo-difference is too large.
2022-10-18 20:44:16 +02:00
073d6f5e80
Disable cert check if no SSL certs are found (#9005) 2022-10-18 19:37:06 +02:00
54a98cd320
Remove visible spacer right of the mini-timeline
This improves consistency, the center widgets are already
visibly separated by their background.
2022-10-18 02:14:31 +02:00
3a98d6133c
Hide draw-tools spacer when draw-tools are hidden 2022-10-18 02:11:09 +02:00
452eedc994
Pixelpushing: align toolbar buttons
Removing the shadow makes toolbar and editor-tool buttons align
when the editor-mixer is hidden. It also improves consistency
with all other tabs that have no shadow on the left.

Increasing the table border width to 1, makes aligns the
editor-mixer button with the main toolbar.
2022-10-18 01:45:55 +02:00
7c6c6290ee
Fix #8996 (show/hide VCAs from script) 2022-10-18 00:08:36 +02:00
64dc16a460
GUI for partial mixer scene restore 2022-10-18 00:08:36 +02:00
b52ef52ddf
Allow to filter MixerScene restore by AutomationType 2022-10-18 00:08:35 +02:00
5352f5516e
Remove AutomationControlSet 2022-10-18 00:08:35 +02:00
1b23021303
Replace AutomationControlSet with ControllableSet (2/2) 2022-10-18 00:08:35 +02:00
08a10b7e84
Replace AutomationControlSet with ControllableSet (1/2) 2022-10-18 00:08:27 +02:00
5016c950d0
Move ControllableSet up in PBD's namespace
This is in preparation to supersede AutomationControlSet
with a lower level generic std::set usable in any relevant
context.
2022-10-18 00:08:21 +02:00
46b14498f8
Prepare Lua bindings for std::set::insert 2022-10-17 23:09:04 +02:00
f6cc01d4f5
Implement cycle profiling for ppc64
Thanks to Frédéric Bonnard <frediz@debian.org>
2022-10-17 16:02:12 +02:00
a9b785d89c
Fix typos - #9000 2022-10-17 15:57:01 +02:00
aaddf5f385 Add API to restore mixer scenes for given set or Routes only 2022-10-17 06:44:29 +02:00
800d07a633 Add API to query all AutomationControls from an Automtable
This is in preparation for selective MixerScene restore.
2022-10-17 06:42:49 +02:00
d29f7a4e00
Expose PluginGUIBehavior Preference
This also subgroups plugin UI prefs, to save vertical screen space
when showing the preference pane on small screens.
2022-10-17 00:49:46 +02:00
Mads Kiilerich
0b27d6e652
Fix proximity threshold for polyline
I'm not good with a mouse, so I found it hard to edit animation lines.
The mouse position has to be quite precise, with only a small threshold.

Looking at the code, AutomationLine sets the threshold for the PolyLine
to 4.0 . That seems to be a distance, and better for me than what I
experience.

The actual code in PolyLine is however comparing it directly to the
squared distance, making it more sensitive than expected.

Fixed by computing the squared threshold - also including the line
width.
2022-10-17 00:09:25 +02:00
Mads Kiilerich
d1265b5a02
Fix mouse events on clamped automation lines
This fixes the following problem:
When automation lines with significant change are zoomed in time, the
slope gets smaller (towards horizontal) as the control points moves
further away from the visible area. That was rendered correctly, but the
corresponding mouse events happened as if the line had a steeper slope.

The problem was caused by the X value being clamped to the visible area,
without scaling the Y value correspondingly. It has apparently been like
that for a decode, since introduced in c4f0063a68.

The problem is fixed by introducing a clamp2 function that scales the Y
value if clamping the X value.

Note: An old comment says that math goes wrong unless clamping below
COORD_MAX. It is not clear to me what math it refers to, and especially
why we don't need similar clamping on the lower bounds.

And while rarely a real problem, I guess it would be more correct and a
slight optimization to skip all lines where both ends are outside the
same bound. In theory, as it is now, the mouse could catch an invisible
line close to the border.
2022-10-17 00:09:25 +02:00
luz paz
056a79bfb6
Fix typos 2022-10-17 00:06:12 +02:00
e4ae0be4f1
Properly show context menu, interact with button used to open it 2022-10-17 00:02:58 +02:00
54ec5f87d4
Clear trigger on shift+RMB (#8991) 2022-10-17 00:02:58 +02:00
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
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
31cf2dfa1b
Do not constrain bundle names to 32 chars 2022-10-16 21:45:09 +02:00
c8671b5747
List matching I/O Plugin ports in connection button dropdown 2022-10-16 21:44:52 +02:00
8d879616a6
Improve connection button label for I/O plugins 2022-10-16 21:06:27 +02:00
27b457add1
Fix German translation (invalid escape sequence) 2022-10-16 20:22:36 +02:00
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
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
57af42ef84
Do not show I/O plugin port in the matrix that cannot be connected 2022-10-16 04:27:26 +02:00
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
061d44feff
PortInsert: remove old API to query latency 2022-10-14 02:21:50 +02:00
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
40ea071873
PortInsert: emit signal when latency changes, cache I/O latency 2022-10-14 02:21:50 +02:00
0213fa6cc7
Implement PortInsert send/return gain contols 2022-10-14 02:21:50 +02:00
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