13
0
Commit Graph

30644 Commits

Author SHA1 Message Date
63a117bf93
And another boost/C++11 fix
This fixes Undefined symbols:
"ArdourSurface::hash_value(ArdourSurface::NodeState const&)", referenced from:
  boost::hash<ArdourSurface::NodeState>::operator()(ArdourSurface::NodeState const&) constin client.cc.1.o
  boost::hash<ArdourSurface::NodeState>::operator()(ArdourSurface::NodeState const&) constin server.cc.1.o
2020-08-31 08:28:50 +02:00
a9c2350e87
Fix yet another C++11ism 2020-08-31 07:52:48 +02:00
39110463f3
Amend cdd48926d1 use ScopedConnectionList directly 2020-08-31 07:41:11 +02:00
b9cfb31205
Fix control-list editing (#8384)
This fixes segfaults as well as corrupt listes when copy/pasting
due to invalid iterators.

::mark_dirty() must be called with WriterLock, and
::rt_safe_earliest_event_linear_unlocked() must not be called
while _events is being modified. The Sequence iterator
(only user of that function) does not ensure this. Only the
sequence read-lock is taken.
2020-08-31 07:39:45 +02:00
f60e459ba9
Don't auto-save when importing audio from video 2020-08-31 02:35:37 +02:00
883d4ebd31
Fix previous commit (MIDI alignment) 2020-08-31 01:38:04 +02:00
b326b8e462
Fix MIDI Capture alignment
When recording audio, simply not writing to the ringbuffer
offsets the recording accordingly.
When recording MIDI, absolute timestamps are used, so the recording
has to be offset by the accumulated difference.

Previously this went unnoticed because tests using the Dummy
backend the accumulated offset never exceeded 1 cycle.
2020-08-31 01:19:41 +02:00
cdd48926d1
Remove more libwebsocket C++11isms
* amend previous commit, fix runtime_error implementation
* Do not copy-construct classes that have a PBD::scoped connection list.
  Replace std::map::emplace[C+11], an store shared pointers the std::map.
* Update ArdourMixerStrip is-a ScopedConnectionList (not has-a)
2020-08-30 22:57:43 +02:00
8eb4dcb675
Fix websocket C++11ism 2020-08-30 21:15:33 +02:00
af79240c81
Namespace libwebsocket surface classes
Using the global names-pace for classes named "Json", "TypedValue",
"ArdourTransport", "ArdourMixerPlugin" etc is not acceptable.
2020-08-30 21:15:07 +02:00
Luciano Iam
665e0686e5
WS: noop use a namespace for JSON utilities
Instead of a class with static methods

Also correct some whitespace to prevent triggering of OCD cycles
2020-08-30 19:29:28 +02:00
Luciano Iam
aa38491b7d
WS: move VCA detection to mixer strip interface
Expose the wrapped Stripable the least as possible
2020-08-30 19:29:28 +02:00
Luciano Iam
e510c0cb75
WS: consistent naming of strip/plugin/param identifiers
Rename all {object}_n variables and arguments to {object}_id

Parts of code were using the former convention, now use the latter everywhere
Another step towards supporting visual position agnostic identifiers in the future
2020-08-30 19:29:28 +02:00
Luciano Iam
c32a5917f3
WS: handle strips and plugins removal 2020-08-30 19:29:27 +02:00
Luciano Iam
a8f917e7e2
WS: prepare for handling object disconnections
Use maps instead of vectors for holding strips and plugins
This allows to deal with "holes" after objects are removed

Also paves the way for a future improved way of identifying
individual strips and plugins
2020-08-30 19:29:27 +02:00
Luciano Iam
7521d8ab6f
WS: add some meaningful error messages 2020-08-30 19:29:27 +02:00
Luciano Iam
3509fe1589
WS: use an object-oriented internal API for the mixer
- This allows to better handle strips & plugins connection lifecycles
- Coherent with the JS client design
2020-08-30 19:29:27 +02:00
Luciano Iam
4a4734fbb1
WebSockets: properly release strips and plugins when removed
This should fix some crashes reported by the beta testing team
2020-08-30 19:29:27 +02:00
7cdefbe8e7
Amend 0c7895298d, fix parameter order #8388
Plugin parameters may only be added, but no re-ordered since
Ardour uses numeric indices for automation.
2020-08-30 19:15:59 +02:00
dc553c49b4
Revert "Rename a-eq a-comp a-exp a-delay a-reverb to ACE (Ardour Community Effects)"
This reverts commit 0036785d5a.
2020-08-30 19:15:59 +02:00
87f7dcc5f6 OSC Panner feedback crash with no panner
both select and route feedback now test for both
	route and panner (not VCA)
2020-08-29 17:08:56 -07:00
151ca86fd6
NO-OP: whitespace 2020-08-27 02:22:42 +02:00
c0f9710537
Keep auditioning notes when piano roll header has focus #8374 2020-08-27 02:22:36 +02:00
mx
353ac8e106
Use soundtouch for vocal audio time stretching (2/2) 2020-08-26 19:05:51 +02:00
mx
262281bc1f
Use soundtouch for vocal audio time stretching (1/2) 2020-08-26 19:04:58 +02:00
fb2d33c6a3
vkeybd: allow to disable keyboard input #8377 2020-08-26 03:45:15 +02:00
ec6237d703
Allow to select playlists from other MIDI tracks #6692 2020-08-25 23:13:22 +02:00
34159e4594
Fix ARM runtime NEON detection 2020-08-24 22:03:28 +02:00
76f465e127
Improve about-dialog target CPU report 2020-08-24 21:26:41 +02:00
a0a4477c84
Fix aarch64 builds 2020-08-24 21:26:38 +02:00
Ayan Shafqat
1f878636c8
Adding NEON detection during runtime 2020-08-24 02:06:35 +02:00
773a1a0725
Fix optimized armhf builds
Apparently gcc-6.2 with -O3 and -mfpu=neon can use ARM instructions
that requires 64bit alignment (here vst1.64) with data that
is not 64bit aligned (g->strcache) https://i.imgur.com/vYktsUn.png

So we need to be able to build "arm_neon_functions.cc" with
-mfpu=neon, while not automatically using NEON for the rest
of the codebase, unless explicitly asked for.
2020-08-22 02:35:19 +02:00
81fb723561
Only ask about Harrison LV2s when they're present
This fixes an issue with the ARM installer asking about the
plugins which are currently N/A for ARM.
2020-08-21 21:28:56 +02:00
22065b4331
Inform about NEON acceleration 2020-08-21 21:12:32 +02:00
8875e8b1d9
Fix aarch64 builds
the proper check using compiler flags would be
  defined(__ARM_NEON) || defined(__aarch64__)
however explicit wscript defined "ARM_NEON_SUPPORT" is prefereable.
2020-08-21 08:16:11 +02:00
422d65ad17
Override FPU auto-detection for ARM builds 2020-08-21 06:21:09 +02:00
cfae218b8a
Amend prev. commit (ARM FPU optimization configuration) 2020-08-21 03:48:03 +02:00
fb5abde677
Use specific build-target for ARM/NEON routines 2020-08-21 03:39:56 +02:00
Ayan Shafqat
98023fcfe8
NO-OP: whitespace 2020-08-21 03:30:20 +02:00
Ayan Shafqat
c8c57f14bf
Adding ARM NEON optimized routines
This commit adds ARM NEON optimized routines for the following procedures
below:

*_compute_peak
*_find_peaks
*_apply_gain_to_buffer
*_mix_buffers_with_gain
*_mix_buffers_no_gain
*_copy_vector

NEON optimized routines have a prefix of: arm_neon_
2020-08-21 03:29:39 +02:00
1cc9573dba OSC toggle roll make return to zero optional 2020-08-20 16:26:07 -07:00
b8da1d0265 fix toggle_roll will only start but not stop PH 2020-08-20 16:26:07 -07:00
harrison
365cc92cba Check whether a VST param should be automated when building the list of automatables 2020-08-20 12:52:42 -05:00
0036785d5a Rename a-eq a-comp a-exp a-delay a-reverb to ACE (Ardour Community Effects) 2020-08-20 12:52:42 -05:00
e53db181d2 a-comp, a-exp: threshold should be referenced to the input (bottom) axis 2020-08-20 12:52:42 -05:00
b80cb0f382 a-comp, a-exp: the moving dot should represent input-to-output 2020-08-20 12:52:42 -05:00
01ac9d63e8 a-comp, a-exp: Tweak meter bar range for consistency with inline-ui 2020-08-20 12:52:42 -05:00
dfe2270c9f
Revert "WebSockets: properly release strips and plugins when removed"
This reverts commit f007ba6b46.
2020-08-19 23:59:38 +02:00
aa69fe49f5
Fix crash when removing master-bus output channels #8371
Previously when the master-bus had more outputs than inputs,
Ardour crashed when the monitor-section was set up.

Removing a master-bus output port calls
  Route::output_change_handler (master-bus)
 -> Session::reset_monitor_section
which first removes the corresponding monitor-section input,
then output port. The latter triggers
  ARDOUR::Route::output_change_handler (monitor-bus).

All with the process-lock held, so at this point in time Ardour
has removed the port-reference but the port still exists in the
backend.

Now the monitor-bus processors are re-configured and
the channel-count is updated. The port that was just removed
and triggered the ::output_change_handler() callback is
re-created.

unable to create port 'Monitor/audio_out 2': failed constructor

This fix changes the monitor-section to use strict-i/o (for plugins)
and also use master-bus output (not input) when configuring
processors.
2020-08-19 22:26:36 +02:00
481cf37052
RT-safe jack transport time-master
Prefer a try-lock, instead of locking the tempo-map.
2020-08-19 19:07:41 +02:00