Commit graph

33270 commits

Author SHA1 Message Date
Paul Davis
7e858b9bda portaudio: add standardized DSP statistics to portaudio backend (uncompiled) 2021-06-26 12:32:23 -06:00
Paul Davis
74c93f3ff3 coreaudio: fix dsp stats collection 2021-06-26 11:42:18 -06:00
Paul Davis
a05bf30ccb CoreAudioSource: fix formatting error 2021-06-26 11:28:15 -06:00
Paul Davis
c7bed1320e adding DSP stats to coreaudio backend (uncompiled) 2021-06-26 11:25:07 -06:00
Paul Davis
995137aeb3 add PBD::WaitTimerRAII with reverse semantics from PBD::TimerRAII 2021-06-26 11:24:59 -06:00
Robin Gareus
83b9ab1bee
Temporarily revert ongoing varispeed development
This reverts bf88f3fe64
until 35813db0f4

in order to move development into a branch, until after the
upcoming 6.8 release
2021-06-26 18:58:24 +02:00
Ben Loftis
35813db0f4 Default_Play_Speed: add color for blinking varispeed label to themes 2021-06-25 11:51:35 -05:00
Ben Loftis
6ab5c2cd55 Default_Play_Speed: honor preference setting to reset the default_speed on Stop 2021-06-25 11:51:35 -05:00
Ben Loftis
3454a34ba4 Default_Play_Speed: change some speeds from assuming "1.0" to "default_speed" (gtk part) 2021-06-25 11:51:35 -05:00
Ben Loftis
ea3abe9f24 Default_Play_Speed: change some speeds from assuming "1.0" to "default_speed" (lib part) 2021-06-25 11:51:34 -05:00
Ben Loftis
e5d7fb441b Default_Play_Speed: changing default_play_speed should also immediately change the engine speed 2021-06-25 11:51:34 -05:00
Ben Loftis
9217b25fe3 Default_Play_Speed: when transport is stopped, we want to run the engine at the varispeed setting.
* PRO: you can audition synths at the varispeed tuning; you can use x42 guitar tuner when stopped
* CON: this is NOT like a tape machine ... a tape machine has no 'speed' when stopped

ToDo:  if we find that this is contentious, we could make a config var for it
2021-06-25 11:51:34 -05:00
Ben Loftis
5b8835483e Default_Play_Speed: simple varispeed GUI 2021-06-25 11:51:34 -05:00
Ben Loftis
af19e1e7e7 Default_Play_Speed: nuke shuttle Wheel mode (gtk part) 2021-06-25 11:51:34 -05:00
Ben Loftis
d31a7c292f Default_Play_Speed: nuke shuttle Wheel mode (libardour part) 2021-06-25 11:51:34 -05:00
Ben Loftis
b4eba1a30b Default_Play_Speed: prep work (gtk2)
* request_transport_speed should -never- set default_play_speed
2021-06-25 11:51:34 -05:00
Ben Loftis
006055a2ff Default_Play_Speed: prep work (libardour)
* remove unused variables in session.h
* move default play speed (varispeed(sic)) into fsm
* request_transport_speed should -never- set the default_play_speed
2021-06-25 11:51:34 -05:00
Ben Loftis
bf88f3fe64 Auto-return: cancel auto-return on fast-wind (>2x), but ignore small varispeed changes
*ToDo:  we need an actual FFWD/REW state that is set when we are fast-winding as a locate mechanism
2021-06-25 11:51:18 -05:00
Robin Gareus
838279c5e8
Fix C++11ism, enums are not classes in C++98 2021-06-24 18:14:06 +02:00
Robin Gareus
68e3d3d672
Fix endless loop if port-handle is n/a #8760 2021-06-24 17:20:44 +02:00
Todd Naugle
944eae53e6 Add a Midi port per Midi Tracer window that can be connected to for debugging. 2021-06-23 17:54:58 -05:00
Todd Naugle
6f251f8b2f Fix Midi Tracer handling of different port types
Transport Masters and Async MIDI port already have a parser available, so
just connect to it.

Normal Midi ports are the only one that need to use the Midi Tracers parser.
2021-06-23 17:54:58 -05:00
Todd Naugle
89eab2714f Fix double call error in midi tracer handling
Only basic midi ports use the _trace_parser and they enter
here via cycle_start which will pass the _trace_parser to
this function. No need to double up calls.
2021-06-23 17:54:58 -05:00
Todd Naugle
5adbcd0673 Add function to find transport master by port and expose midi parser 2021-06-23 17:54:58 -05:00
Robin Gareus
8237add6d2
Keep track of splash visibility behind dialogs
This fixes various issues, esp on macOS and Windows where
the window is only hidden, not re-stacked:

* plugin scan dialog hides the splash, but
  the plugin-manager emits BootMessage
  (this worked mostly because gtk event loop didn't
  have time to catch up)

* More than one dialog can pop back/front the splash,
  e.g. scripted session-setup or error messages when
  loading recent sessions.
2021-06-23 17:55:01 +02:00
Robin Gareus
8ad1405cf5
Fix crash when deleting Plugin after MIDI binding #8756
BindingProxy owns a PopUp prompter with 30 sec self-destruct
timeout. However ~BindingProxy explicitly destroys the PopUp.
Later the timeout can lead to a double-free.

This fixes a crash when deleting a plugin within 30 sec
after using MIDI learn.
2021-06-23 04:02:38 +02:00
Robin Gareus
da8e4da34f
Never say never 2021-06-23 01:02:23 +02:00
Paul Davis
336319a1df SMF meta-events do not set running status while parsing the file 2021-06-22 14:18:03 -06:00
Robin Gareus
96febb8f26
Properly solve d'tor order (controllable first) #8756 2021-06-21 20:07:11 +02:00
John Emmas
43da7c6e6f Add/remove source(s) in our MSVC project (libardour) 2021-06-21 11:26:55 +01:00
Robin Gareus
db1821a363
Fix crash when removing plugin with mapped controllable #8756
MidiControlUI drops the reference to a given controllable in
its own thread. This can happen after the plugin is already
destroyed (even though the PBD::Controllable still exists).
2021-06-21 05:27:11 +02:00
Robin Gareus
3b1c52dbd0
Override Ubuntu global menu
This causes a crash in libappmenu-gtk-module.so
-> gtk_widget_get_toplevel() and apart from that breaks
ardour's layout with status-bar at the top.
2021-06-21 05:23:01 +02:00
Robin Gareus
1e5ccd4acc
Use poll timeout workaround on macOS only
Other systems implement proper poll according
to POSIX and return when the pipe is closed.
2021-06-21 03:48:04 +02:00
Robin Gareus
cc69274234
NO-OP: clang-format 2021-06-21 02:51:23 +02:00
Robin Gareus
0f7229fb02
Fix some C++11isms 2021-06-21 02:46:39 +02:00
Marijn Kruisselbrink
0a54f96a44
Add M4A support to the audio import dialog using FFMPEG.
This uses the existing optional runtime ffmpeg dependency to add support
for m4a files (and in theory whatever other file formats ffmpeg
supports) to the import audio dialog.

The same functionality is mostly already available via Session -> Open
Video, with the "import audio only" selection (even though m4a isn't
currently included as one of the video formats, it still works). Having
this in the import audio dialog however seems much more user friendly.
2021-06-21 02:30:36 +02:00
Robin Gareus
f4166fb61d Fix endless poll on macOS #8753
Harvid daemonizes and does not write anything
to stdout/err. as opposed to select(), poll() on
macOS does not return when the child process
terminates or is killed.

However poll() on an invalid FD does throw an
error and POLLNVAL is set.
2021-06-21 01:58:40 +02:00
David Robillard
e7466bddbc Push2: Clean up forward declarations 2021-06-18 13:53:53 -04:00
David Robillard
57a3db06f8 OSC: Fix potential crash on select-prev-route (#8670)
If the selection here is empty for whatever reason, it crashed with a null
pointer dereference.
2021-06-18 12:55:45 -04:00
Ben Loftis
45bd2c47d8 Brush Drag: refactor Brush-drag into its own Drag class (operation is still weird though) 2021-06-17 10:56:30 -05:00
Ben Loftis
69af0e6964 Abort a copy-drag in the case where it would result in a copy at the same location
also code cleanup: clear_draggingview_list() avoids duplicated code
2021-06-17 10:56:30 -05:00
Ben Loftis
87ecc9b4ca Slip Contents Drag: fix undo 2021-06-17 10:56:30 -05:00
Ben Loftis
295d9100ec Slip Contents Drag: slip_contents should obey edit_mode:Locked, and locked regions 2021-06-17 10:56:30 -05:00
Ben Loftis
f281e7e3c3 Slip Contents Drag: disambiguate Slip Contents from prior Contents Trim 2021-06-17 10:56:30 -05:00
Ben Loftis
3d8bccb508 Slip Contents Drag: remove ContentsTrim modifier from the region boundaries
*now that you can grab "anywhere" in the region, trim edges are inferior because they are hard to hit
*modifier had to change anyway (since CTRL is used as a copy-drag on both mac and win), so that invalidates prior muscle memory
*potentially frees up modifier on the trim edge for some other purpose (anchored_trim)
2021-06-17 10:56:27 -05:00
Ben Loftis
fea3fb9e71 Slip Contents Drag: add ContentsDrag 2021-06-17 10:56:22 -05:00
Robin Gareus
cc6b58ef00
Fix Windows builds (pthread handle abstraction) 2021-06-17 13:32:10 +02:00
Paul Davis
5e1e55c982 use UTF8 lower-left corner chars in performance meter to indicate nesting of values 2021-06-16 19:29:03 -06:00
Robin Gareus
0b1d5e4a45
Remove dead assignment 2021-06-16 22:30:09 +02:00
Robin Gareus
f85bbaa97d
Fix C++11ism 2021-06-16 03:03:26 +02:00