13
0
Commit Graph

35265 Commits

Author SHA1 Message Date
9fe0a4f4dd freesound: update to API v2
Add a new client id & token for Ardour 7, and update to Freesound's API
v2.

Implement OAuth authentication for Freesound downloads, as described at:
https://freesound.org/docs/api/authentication.html#oauth-authentication

Open the Freesound login page in the default browser, so that the user
can log in and get an authorization code, to copy-&-paste from the
browser. Exchange this authorization code for an access token, and use
it in a custom 'Authorization: Bearer $TOKEN' http header.

If logging in to Freesound to download a file fails or is cancelled,
clear the 'downloading' flag for that file in the list so that a
subsequent click on it will try to log in again.

Show login progress in download progress bar, and disable preview if
file hasn't yet been downloaded.

If a download fails for any reason (except the user cancelling it),
report an error in the Log window.

Use curl_free() for pointers returned by curl_easy_escape(), as per the
curl documentation, rather than plain free().

Also, don't use the www. sub-domain of freesound.org: although it
appears to work for most things, it returns an empty document from
https://freesound.org/apiv2/oauth2/access_token/

Remove default empty token value from Mootcher constructor, to make it
explicit when we construct a Mootcher that doesn't require
authorisation, by requiring an empty token parameter in that case.
2022-05-20 14:33:57 +01:00
84267cfa32 freesound: "Samplerate" isn't a real word 2022-05-20 14:33:57 +01:00
ffa36cf6f4 freesound: show correct duration for files exactly 99 hours long 2022-05-20 14:33:57 +01:00
ff14591719 Revert "hide Freesound tab (until it gets fixed)"
This reverts commit f42fc3e45d.
2022-05-20 14:33:57 +01:00
c4307667fb freesound: add a DebugBit
Add a new DebugBit value for Freesound
2022-05-20 14:33:57 +01:00
e1f5fb0206 libpbd: change GlibEventLoopCallback to use C API not C++
We discovered in the past that the C++ API for GSource/Glib::Source has some fatal and unfixable flaws. Copy similar
code and just use the C API for GSource instead
2022-05-19 22:24:43 -06:00
04aaf23851
Add Lua bindings for MixerScene 2022-05-19 23:32:01 +02:00
48fdfbab53
Implement Session support for Mixer Scenes 2022-05-19 23:31:54 +02:00
bdc5711c31
Implement mixer-scene class 2022-05-19 20:08:24 +02:00
a811583380
Add API to query registered controllers 2022-05-19 20:08:08 +02:00
276172b8b1
Fix PhaseControl set_value()
Previously this resulted in excessive "000...000" state string.
2022-05-19 20:08:00 +02:00
c7150e81b0
Fix waf dist (create stored version file, set global vars) 2022-05-19 02:45:28 +02:00
5c18e64616
Fix I/O Plugin meter without session - amend c10c3ed6
The RecoderUI can show device input meters as long as a backend is
running regardless of a session. I/O Plugins are however
part of a specific session.
2022-05-18 21:07:30 +02:00
6f7adbda59
Do not invoke git when installing a build (amend f935324) 2022-05-17 17:49:03 +02:00
6f973e09d1
Add readme for udev files 2022-05-17 03:52:36 +02:00
c10c3ed64f
Show I/O Plugins on Recorder Page 2022-05-17 02:26:28 +02:00
5c85695362
Add Input Port meters for I/O Pre-Plugin outputs 2022-05-17 02:26:28 +02:00
cdf3b5209e
Generalize input-meters 2022-05-17 02:26:28 +02:00
4c1506e50e add copyright notices 2022-05-16 15:41:56 -06:00
9758e6280f use new event loop callback to ensure that all surface/control protocol threads have tempo map ptr set 2022-05-16 15:24:52 -06:00
968533cc23 (re)add mechanism for a callback in any glib event loop executed before the loop "executes"
This is based on code from earlier commits that were later reversed, but we need some mechanism
to ensure that threads have a thread local tempo map ptr set. The big difference is that this
time we do not implement this for all instances of an AbstractUI - implementation is left to
each thread/event loop
2022-05-16 15:24:52 -06:00
2079a150dd probable fix for Mackie vpot press/release misbehavior in sends (and plugin) subview
The accessed control needs to reflect the current subview banking
2022-05-16 15:24:52 -06:00
e528c4df92
Fix export-processor position, include triggerbox output 2022-05-16 14:32:47 +02:00
cb85a0a521 fix for automation control point drags: prevent overlapping points in time.
* control points that were already closer than one_tick_in_pixels
 were able to move beyond adjacent points, resulting in out-of-order lines

* prior code was using 'one tick' as the smallest spacing between two
 CPs, but that is larger than the default 'guard point' spacing.  this
 resulted in odd behavior because of the dxt calculation when you moved
 a point that was created as a 'guard point'

For now, use the same 64 samples we use for 'guard points'.  And change
 the 'dxt' calculation logic to more aggressively limit the points from
 overlapping.

TODO:  we might decide that 'one tick' should be the minimum automation
 period throughout ardour.  In that case we should change guard-points.
2022-05-16 07:16:25 -05:00
e0f9f11dfc automation-range-drag: if lane is empty, use current value for guard points
* in the case where there are no existing automation points, then
 initiating an automation range drag  (select range, switch to Draw)
 should initialize the line at the current knob position
2022-05-16 07:16:25 -05:00
cd332a2af0 when pasting a Range of automation, first add guard points,
so the automation data before and after this range is retained
2022-05-16 07:16:25 -05:00
3a174ff914 add support for 'positive' guard points in ControlList 2022-05-16 07:16:25 -05:00
c98561e95c when cutting or clearing an automation range, always add boundary points
* these guard points are necessary to retain the automation that existed
 before and after the selected range is removed
2022-05-16 07:16:24 -05:00
e739191ae2
Display last export channel state 2022-05-16 04:54:18 +02:00
5d590a1ca7
List MIDI tracks in the Stem-Export Channel Selector 2022-05-16 04:54:18 +02:00
44e273d713
Overhaul export channel state save/load
This allows to properly save/restore Route and Port
channel config states.
2022-05-16 04:54:17 +02:00
f6e67875f4
Implement MIDI ExportGraph processing 2022-05-16 04:54:17 +02:00
aa09a445e3
Bootstrap MIDI export writer
This leans on the AudioGrapher API for IdentityVertex.
2022-05-16 04:54:17 +02:00
719dda7701
Implement MIDI ExportChannel
Since MIDI Export is limited to Stem-Export, only a port-reader
and ExportProcessor have to be implemented.
2022-05-16 04:54:17 +02:00
4c4ab9cf51
Prepare PortExportChannel API for MIDI export 2022-05-16 04:54:17 +02:00
b11f76d748
Do not select re-imported tracks
Stem-export defaults to use selected tracks. This retains
the selection, so focus remains. Repeat stem export will use
previously exported tracks if the selection is empty, or the
current selection (again).
2022-05-16 04:54:14 +02:00
7c2cb31b63 temporal: use boost::intrusive ::iterator_to to improve efficiency of ::next/previous_tempo() 2022-05-15 17:49:09 -06:00
a742228463
Use "Wav (tagged)" as default export profile
Otherwise the first, alphabetically sorted, format is used,
which is currently (Amazon Music, normalize loudness).
2022-05-15 21:48:35 +02:00
8a927cc522
Only list tracks with audio-ports when exporting audio files 2022-05-15 21:48:28 +02:00
d513d8b876
Do not allow dir-separators in session-template names
See also: 576f10b6f1
2022-05-15 19:53:12 +02:00
a522a98118
Add API to query fixed delay line's delay time 2022-05-15 19:32:46 +02:00
ae0aa50b6f
Fix MIDI delay-line (amend 25098ed)
Events in the delay-buffer must be shifted back every cycle.
Also in case of fixed-delay-lines events may not be in sequence
since events are only sorted at backend port-level.
2022-05-15 19:20:32 +02:00
576f10b6f1
Template [file]names cannot have dir-separators 2022-05-15 04:37:22 +02:00
d55d3a7360
Save/load export timespan realtime setting 2022-05-15 02:20:19 +02:00
4577f86aa0
NO-OP: clang-format 2022-05-15 02:19:46 +02:00
itmuckel
498a3d90c5
Modernize region_view 2022-05-14 23:33:21 +02:00
itmuckel
13836bde44
Give muted regions cancelled speaker instead of '!' 2022-05-14 23:33:21 +02:00
86597d7e1c
NO-OP: re-indent, and cleanup 2022-05-14 23:32:26 +02:00
4339e3c729 temporarily remove effective_ripple_mark_start behavior
citations are needed to explain when&how this is useful

the definition of Ripple is "accommodate cut/insert/moves by moving all
 regions to the 'right' (later) of the operation by the same amount".

moving markers to the 'left' of the grabbed_region explicitly breaks the
 definition of ripple. it makes documentation hard.

furthermore, in a more complicated session with multiple tracks, this behavior
 ignores the regions on other tracks and the markers that still might be
 associated with them  (consider the case where you move the first region
 on track A but there are many prior regions on track B with markers over
 them)
2022-05-14 14:47:54 -05:00
f7abe8dacd fix: RegionMotionDrag actions are always rippling to other tracks
* if we aren't in RippleAll, you should only ripple the regions
 on the same track as the grabbed region
2022-05-14 14:16:21 -05:00