Commit Graph

36751 Commits

Author SHA1 Message Date
Robin Gareus
36d640c8bc Yet another attempt to fix Windows/LADSPA presets 2022-12-29 19:02:15 +01:00
Robin Gareus
55ac803701 Fix Windows builds (user_cache_directory) 2022-12-29 18:29:51 +01:00
Robin Gareus
4bb7e43008 x-platform LADSPA user preset files
This fixes saving/loading custom user presests on Windows
2022-12-29 18:22:48 +01:00
Robin Gareus
3ba999b9d7 Also use LDRF (and aubio4) on Windows 2022-12-29 01:58:11 +01:00
Robin Gareus
58ade46de3 Fix loading LADSPA RDF files x-platform
Searchpath on Windows uses backslash as folder separator,
however file URLs use forward-slash file://C:/foo/bar/
2022-12-28 20:06:00 +01:00
Robin Gareus
42abd51e40 Ardour on Linux requires libX11 regardless of lxVST
The requirement is due to XResetScreenSaver
2022-12-28 20:04:17 +01:00
Robin Gareus
a4d9fb4935 Fix saving favorite plugin order
This broke in 7942897d93. Clearing the list triggered
favorite_plugins_deleted() for each plugin. This resulted
in an empty list being saved to disk.
2022-12-27 16:53:01 +01:00
Robin Gareus
b0b20ed1ed There are only 6 user visible columns 2022-12-27 16:35:20 +01:00
Robin Gareus
b458eee160 Plugin Selector: allow to sort by Name
Previously the first 2 columns were Fav/Hide radio options.
Now there is only a boolean Favorite checkbox.
2022-12-27 16:32:47 +01:00
Robin Gareus
478338854d Improve peak-file debug output, print affected source-name 2022-12-27 13:35:53 +01:00
Robin Gareus
475063c24d ALSA: update endianess conversion functions
This follows upstream zita-alsa-pcmi-0.6.1
2022-12-27 13:32:31 +01:00
Ben Loftis
ac30964d67 remove debug output 2022-12-26 14:03:32 -06:00
Ben Loftis
a5378e559a dsp_stats: aesthetic tweaks to text and padding 2022-12-26 07:53:34 -06:00
Ben Loftis
d5160b6e8c export_dialog: use more sensible padding around the preset widgets 2022-12-26 07:53:34 -06:00
Robin Gareus
140b373cac Clean up ExportAnalysis code
* only zero limiter_pk array on initialization
  (other data is explicitly initialized)
* resize peak-data vector to at least 800 bins
2022-12-26 14:34:25 +01:00
Robin Gareus
7b3cbaf68f Inform User when audio-read failed (debug builds)
Previously AudioPlaylist::read always returned the timecnt that
it was supposed to read into the buffer, regardless if the given
number of samples was read. The check in DiskReader::refill_audio
`if (nread != to_read)` never triggered.

This can happen when changing an audio-region's time-domain to
music-time (glue to bars/beats). Region-length (beats converted
to samples) can exceed the actual audio-source length (in samples).
2022-12-26 13:40:05 +01:00
Robin Gareus
7e9f29e888 FP8: directly cancel solo (do not rely on GUI) 2022-12-26 13:33:19 +01:00
Olivier HUMBERT
9c0fb6e49a Update French translation 2022-12-26 11:51:16 +01:00
Ben Loftis
037de53c3f bbt_marker_dialog: improve layout + spacings 2022-12-21 19:22:29 -06:00
Paul Davis
b2a6fb70b4 remove debug output 2022-12-20 22:01:41 -07:00
Paul Davis
e2d265c018 tempo edit: use ::replace_tempo() instead of ::set_tempo() after dialog 2022-12-20 21:56:37 -07:00
Paul Davis
253419a321 tempo marker drag: update GUI during drag 2022-12-20 21:54:59 -07:00
Paul Davis
ed7e0a4166 snap: add missing break statements. oops! 2022-12-20 21:54:35 -07:00
Paul Davis
818c30a98d temporal: add optional with_reset arg to all map ::remove_*() methods 2022-12-20 21:54:05 -07:00
Paul Davis
0ee0226776 temporal: no stretching a tempo that is the last one or precedes a BBT marker 2022-12-20 21:33:13 -07:00
Paul Davis
d3dd865093 temporal: NOOP - add helpful comment 2022-12-20 21:31:31 -07:00
Paul Davis
ae36f8e445 temporal: provide TempoMap::replace_tempo() 2022-12-20 21:31:02 -07:00
Paul Davis
033b4c5152 temporal: fix implementation of TempoMap::copy_points()
This could re-order the map in the presence of BBT markers
2022-12-20 21:29:44 -07:00
Paul Davis
e32d4f7b71 try to get BBTRulerDrag to work on all platforms 2022-12-19 15:03:57 -07:00
Paul Davis
b48821887d restore primary-drag in BBT ruler function 2022-12-19 13:35:27 -07:00
Paul Davis
90ae38e353 note create drag: tweak to fix dragging when snap is not bars 2022-12-19 12:19:05 -07:00
Paul Davis
615aff92d7 note create drags: work better if snapping to bars 2022-12-19 12:19:05 -07:00
Paul Davis
509d762cdd editor: fix snap_to_bbt() to do something closer to right for bars
At the very least, snapping to bars should be different from snapping to beats.
2022-12-19 12:19:05 -07:00
Ben Loftis
3e19363c4c fix typo in prior 10d125: sort presets 2022-12-19 10:04:29 -06:00
Robin Gareus
f058f910f4 Actually use overloaded get_presets() implementations 2022-12-19 16:43:42 +01:00
Robin Gareus
10d12599dd Sort plugin presets by default 2022-12-19 16:41:41 +01:00
Robin Gareus
6725e8b661 GTK treeview: click to DnD (not edit), specialize per column 2022-12-19 15:21:24 +01:00
Robin Gareus
ae321721cf Also thin automation after touch/latch
AutomationList::start_touch must not start a write-pass.
That function is also called when the transport is no rolling.
A write-pass is started via AutomationWatch::add_automation_watch.
2022-12-18 01:45:04 +01:00
Robin Gareus
028c19cd10 Remove hardcoded thinning factor 2022-12-18 00:55:28 +01:00
Robin Gareus
a5f36bbbbf Fix thinning (normalize parameter value)
This fixes thinning of MIDI data (range 0..127) and
other parameters with range other than 0..1.
2022-12-18 00:55:12 +01:00
Robin Gareus
bd3f713d0e Fix gain menu (polarity, envelope) with multiple selection 2022-12-17 19:13:26 +01:00
Robin Gareus
0f949bc02b Add region polarity invert to Region menu 2022-12-17 13:15:42 +01:00
Robin Gareus
9819cdb117 GUI support for per region polarity invert 2022-12-17 13:15:37 +01:00
Robin Gareus
5b52aa956f Prepare for region polarity inversion (using negative gain) 2022-12-17 13:14:54 +01:00
Robin Gareus
37d6f1026a a-eq: ifdef methods only used for inline display 2022-12-16 23:05:36 +01:00
Ben Loftis
24ed994d02 redirect box: add a Reset action to the Presets submenu 2022-12-16 15:36:27 -06:00
Ben Loftis
483047635c Rec page: implement Undo actions and shortcuts
* undo is not (currently) a Global action, it's an Editor action
* ... but we want the ability to undo a recording

One option would be to chagne Undo to a Global action, which would have a
 sizable impact on code and existing shortcuts.

Instead I'm choosing to implement a Rec-page-specific Undo action & shortcut

It's conceivable that someday we would want the Recorder page to ONLY undo
 record operations, and the Mixer page to ONLY undo mixer operations, or
 something like that.  This lays the foundation for that.
2022-12-16 13:18:37 -06:00
Ben Loftis
10ef8535c7 Import dialog: tweak layout
* labels on the left, following conventions we use in Prefs et-al
* separate colums for Global, MIDI, Audio  settings
2022-12-16 13:18:37 -06:00
Robin Gareus
3b9a253a84 Bind weak pointers to rt_slot events
This fixes a crash when deleting routes, while there are still
automation events queued for the route.

Specifically, SoloControl has a reference Soloable& _soloable; which
points to the parent route. A rt-event can still hold a valid shared
pointer to the SoloControl, even if the route is destroyed.
Calling SoloControl::actually_set_value is fine (the control still
exists due to the shared ptr), but then checking the parent route:
```
if (_soloable.is_safe() || !can_solo())
```
accesses the already deleted route, which causes a crash.

The solution implemented here is to not bind a shared_ptr to the
realtime event. However, since deletion of the route happens in the main
UI thread, there may or may not still be a race.
2022-12-16 00:12:48 +01:00
Robin Gareus
c64869596e Fix auto audio monitoring when using hw monitoring 2022-12-15 17:24:17 +01:00