Commit Graph

251 Commits

Author SHA1 Message Date
0eb8b6aa85 freesound: cosmetic tweaks
Disable the "More" button when search parameters change.  The button is
supposed to continue the current search, but if any of the search
parameters (tags, sort, or licence) have changed, that doesn't really
make sense. Just disable it if the user changes any of them.

Make sure that filenames in the freesound results list are escaped
properly for the tooltip, and append the full licence URL returned to the
tooltip too.

Make the filename column Gtk::TREE_VIEW_COLUMN_FIXED, so that it doesn't
expand to the width of the longest filename in the results and push the
columns to the right out of view. Resizing the import dialogue larger
still allows longer file names to be seen, and it's still possible to
manually resize the filename column as well.

Only show the hours & minutes in the duration column if they're non-zero,
and justify them right.
2022-05-27 16:17:55 +01:00
eae1673ff1 freesound: filter results by licence
Add a drop-down list to the freesound import tab, to optionally restrict
search results to "CC-BY", "CC-BY-NC", or "PD" only licensed sound
files. Defaults to "Any", which will return sounds with any licence.
2022-05-26 17:38:10 +01:00
1e0d14f429 freesound: don't exclude mp3s
Ardour can import MP3s nowadays: no need to exclude them from Freesound
search results any more.
2022-05-23 18:15:43 +01:00
1516dcc529 freesound: handle https:// licence URLs
Relax the check for matching licence URLs so that https:// as well as
http:// (and indeed any protocol at all) URLs match.
2022-05-23 18:15:02 +01:00
40f8dc69dd freesound: handle sounds with '/' & \' in their names better
Should fix #5943
2022-05-20 14:33:57 +01:00
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
Mads Kiilerich
09c6e68ae8
gtkmm: use append() instead of deprecated Gtk::ComboBoxText::append_text() 2022-04-08 21:10:56 +02:00
Mads Kiilerich
a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
Mads Kiilerich
d52c727ec5
gtkmm: use get_mapped instead of deprecated Gtk::Widget::is_mapped() 2022-04-08 20:20:10 +02:00
9ad82787a1 Instrument Selector: use a 3-way Disposition to disambiguate the uses of this widget 2022-02-04 21:33:12 -06:00
91609791b4
Format used MIDI channels in Import Dialog Info Box 2022-02-05 00:13:28 +01:00
e0c07e2306
Add ImportAsTrigger mode
This is like ImportAsTrack, except the imported region is not
added to the timeline, but the first trigger slot.
2022-01-03 23:51:33 +01:00
e3be6836ca
Trigger-clip-picker audition 2021-12-17 00:42:06 +01:00
f6adf9c897 MIDI Import: gtk part 2021-11-14 08:21:00 -06:00
b451a50b95 use explicit timepos_t() for region start property in property lists (gui edition) 2021-08-13 12:51:31 -06:00
9d69fa3820 another day or two's work on timeline type conversion 2021-08-13 12:51:29 -06:00
2b066293fb
Set playlist ID when importing to new tracks
This amends 730a0954 and b27bb586.
This also restores the original API for do_import()
and do_embed() as used by Lua scripts.

Note that this uses distinct IDs when importing both audio
and MIDI in the same DnD request.
2021-07-08 05:28:10 +02:00
730a0954d7
Playlist UI Tweaks: assign a pgroup_id on Import (gtk part) 2021-07-03 19:06:04 +02:00
3e47057609 import process now allows optional import of MIDI markers/cues 2021-05-07 14:58:16 -06:00
209536a967
Option to hide "-none-" from instrument dropdown
This is useful for the audition instrument selector.
2021-04-16 22:25:41 +02:00
353e9b6843
Remove hardcoded file info box width
This addresses an issue with translations, where some labels
result the box to need a width > 300px.
This also scales the box with the rest of the UI.
2021-02-25 04:11:06 +01:00
1e380b1e2e
GUI use updated XML::read_buffer API 2020-04-23 02:26:27 +02:00
ab1bc6b7d7
Make import-dialog independent of only-copy preference
This also fixes a logic error when "get_only_copy_imported_files"
was unset.

The condition under which "copy" was mandatory was rather convoluted,
so this also provides a more consistent user-experience.
2020-04-14 17:37:06 +02:00
53e743f4ae remove reference to ImportAsTapeTracks 2020-03-17 16:31:49 -06:00
a4d7b45fe0 remove destructive/tape mode tracks 2020-03-17 16:31:49 -06:00
efb9f3c54e
NO-OP: cleanup includes 2020-03-15 20:19:13 +01:00
50d118f8b1 Source List nomenclature: Whole files get imported to the SOURCE list. 2019-12-10 14:10:32 -06:00
c5e46ffd30
UI limitations for mp3 import 2019-12-06 18:19:01 +01:00
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
745d138b64 remove unused label and simplify return value/return path 2019-10-10 16:52:00 -06:00
76048c050d
Prefer "one track per file" as default 2019-08-15 01:30:17 +02:00
f7a6661969
Consolidate: use PBD method to try hard-linking 2019-08-12 16:42:07 +02:00
4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
e0bdcd7137 (Source List) Clean up the natural_position implementation (gtk2 part). 2019-08-01 12:11:31 -05:00
b37f30897d
Windows does in theory support hard-links
NB. this is just as unused as the POSIX link() test. Aardour
doesn't create hardlinks since version 3.0. At least it's now
consistently wrong on all platforms :)
2019-06-12 21:35:07 +02:00
5eca084d00 Allow the selected Instrument to be used as the auditioner synth. 2019-02-12 13:04:59 -06:00
245d48dbd0
NO-OP: Clarify function name 2018-11-28 15:16:25 +01:00
f150f6c074
Use central method to check for engine where required
These are generally places where tracks/busses are created or port
connections change.
2018-11-28 00:01:50 +01:00
a58f7caca1 Skip updating options for hidden file-dialog
This may also fix an edge-case issue where changing track selection
combined with invalid file selection may trigger a bad_file_message.
2018-11-06 23:00:26 +01:00
0542a30901 use primary, not secondary, clock mode to drive other clock modes, and dynamically update region editors, location UI and editor regions when it changes 2018-10-10 11:47:29 -04:00
1f0889a97a Fix --no-nls (5/5), i18n.h include order in gtk2_ardour 2018-09-21 19:05:57 +02:00
ea5fa64c0b manually fix up various cases where Gtk:Frame foo_frame had been changed to foo_sample 2017-09-18 14:59:11 -04:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
eb1e423b75 Remove <gtkmm.h> include from header files. 2017-07-17 21:06:04 +02:00
140ce4daec Restore the state of the autoplay button in the import dialog 2017-06-13 00:08:26 +10:00
19384be74b Make Import the default action in the Import Dialog
Double clicking on a file or pressing the Return key will now import it.

This means with autoplay enabled you can navigate a directory of audio files
using the up and down arrow keys and import the wanted files (with Return)
without having to touch the mouse.

Being able to use double click to import a file means you don't have to move
the mouse back and forth between the file browser and the import button.

You can still manually audition the file with space as before.
2017-06-13 00:07:47 +10:00