13
0
Commit Graph

30877 Commits

Author SHA1 Message Date
04e5ea0f86
Expose PluginInfo index (for VST3 shells) 2020-09-14 23:37:21 +02:00
b8f883e608 prevent Session range markers from being hidden 2020-09-14 15:07:42 -06:00
2ef673b15e
Add convenient Lua binding to query automation 2020-09-13 23:58:23 +02:00
f61ecae4b2
Windows installer, allow to opt-out of Harrison plugins #8390 2020-09-10 01:31:18 +02:00
1f356e2883 CoreAudioSource: print more information in the case of errors 2020-09-09 17:23:02 -06:00
Nikolaus Gullotta
8e22c4811e
Changes to PlaylistSelector
Users should be able to see the playlist they're about to switch to
while the dialog is up. Additionally, if the user cancels, the change
should be nullified and the original playlist used.
2020-09-09 15:08:13 -05:00
bdebac8bec
Do not reload plugin preset on preset-save
After saving a plugin-preset we only have to mark it as
not modified and remember the preset.
2020-09-09 17:21:51 +02:00
Nikolaus Gullotta
2495193c91
Fix demo noise level selection
Fixes issue where the export dmeo noise level was not being applied
correctly because ExportFormatDialog::update_demo_noise_selection was
not being called
2020-09-09 08:50:30 -05:00
878f741477
Remove redundant display-unit
Percent sign is part of the dropdown value
2020-09-07 16:58:01 +02:00
198f97e126
Ask before showing 2k automation lanes 2020-09-07 16:57:55 +02:00
23ffa8b89c
Significantly speed up displaying of all MIDI automation lanes 2020-09-07 16:57:51 +02:00
1b55648131
Do not report timestamps smaller than zero to plugins
This can happen during pre-roll when buffers are filled
to start audible playback at zero.

While the position argument is signed for all plugin-standards,
it seems that some do not support negative timestamps before
00:00:00:00. (e.g. https://github.com/falkTX/Carla/issues/1236)

Furthermore TempoMap::bbt_at_sample() returns 0 for all negative
timestamps, but it was possible tthat tempo-map transmission,
as well as beat-position returned negative values.
2020-09-06 16:00:20 +02:00
Edgar Aichinger
dc05230039
Update German translation
Use English verbs as German nouns for edit modes:
https://discourse.ardour.org/t/export-wishes-and-sticking-tracks-together/104476/22
2020-09-06 14:45:07 +02:00
802ddf344a
Remove unused mutex (amend a80064981e) 2020-09-06 05:43:03 +02:00
b40826792a
Fix port-connection callbacks on engine restart
When the engine is restarted, ports are re-established,
and previously queued port-connections need to be cleared.

This caused a bug:
 * when the engine is stopped all ports are disconnected.
   _port_connection_queue contains all disconnections
 * engine is stopped so _port_connection_queue is not processed
 * engine-restart re-etablishes ports and appends those connections
   to _port_connection_queue
 * process-callback processes the list in **reverse** order
```
   while (!_port_connection_queue.empty ()) {
      _port_connection_queue.pop_back ();
   }
```
 * ARDOUR::PortManager::connect_callback() is first called
   with connected() and the disconnected()
 * All ports are assumed to not be connected
   Port::_externally_connected == 0 for all ports

Result:

 * vari-speed playback resampling does not work (only external
   I/O is reampled), split cycles processing (looping) fails
   since AudioPort::get_audio_buffer() does not apply the
   _global_port_buffer_offset
2020-09-05 23:06:00 +02:00
a80064981e
NO-OP: Consolidate PortConnect code into shared parent class 2020-09-05 23:05:57 +02:00
17ab174277
Slightly increase vari-speed resampler quality
This also increases i/o delay to 16 samples (was 11)
2020-09-05 23:05:53 +02:00
1a3da7e132
Keep processing while locating #8392
Previously when locating process_can_proceed() was set to true,
and routes were not processed while transport states are cleared.
As a result live input was also not processed.

This is no longer needed because the DiskReader handles seeking
directly.
2020-09-05 05:32:22 +02:00
58cd5ca8fe
Show plugin-author in plugin-list script 2020-09-05 00:29:51 +02:00
59d9c940d3
Fix null pointer dereference in bundle-manager #8331 2020-09-04 22:48:11 +02:00
5361a3f5c4
Fix deadlock at session-close, due to shared-ptr in signal connection
https://pastebin.com/08UcTRsP
https://ardour.org/styleguide.html # 10
2020-09-04 22:47:20 +02:00
Peter Kovář
6e67eba5bb
Added DDD and LLDB to the start shell script 2020-09-04 02:38:14 +02:00
Hubert Figuière
b3ff86aa98
Added midimap for Arturia MiniLab mkII
Use the factory settings 1 (Analog Lab)

Allow controlling a bank of 7
2020-09-04 02:21:58 +02:00
Vincenzo Reale
969a5bf2c1
Italian translation update 2020-09-04 02:19:48 +02:00
Justin Hoffman
917923512e
Add MIDI mapping for AKAI_MPK249 2020-09-04 02:04:35 +02:00
Olivier Humbert
537c02b41a
Update French translation
- one new strings translated
- a few improvements
- typo fix
2020-09-04 02:01:23 +02:00
Luciano Iam
9c08c058a3
WS: crash bugfix related to missing strip panner
Surface made Ardour crash when a client connected
and some session track was not a VCA nor had a panner,
like MIDI strips.
2020-09-04 01:59:53 +02:00
7a9d4b1f64
Tweak default declick fade length #8341 2020-09-04 01:50:58 +02:00
1fa8f6bf83
Add mr_glitch's recbox theme
upstream: https://gitlab.com/ProjektRoot/recbox-ardour-theme
2020-09-02 21:11:17 +02:00
Luciano Iam
71714cb8b6 WS: add plugin parameter controls to the web mixer 2020-09-01 09:43:58 +02:00
Luciano Iam
4fc23fe029 WS: Add strip mute buttons to mixer demo 2020-09-01 09:08:55 +02:00
Luciano Iam
ec2972df66 WS: Add a fullscreen toggle to the mixer demo 2020-09-01 09:08:55 +02:00
Luciano Iam
43c1929b7d WS: Add strip labels in the mixer demo
Plus some minor widget code and layout improvements
2020-09-01 09:08:55 +02:00
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