Robin Gareus [Wed, 9 Aug 2017 14:22:23 +0000 (16:22 +0200)]
Fix windows builds (amend
0c4e0503)
Robin Gareus [Wed, 9 Aug 2017 13:52:11 +0000 (15:52 +0200)]
really fix linux packaging jack check (amend
79dc3882ea)
Robin Gareus [Tue, 8 Aug 2017 21:27:47 +0000 (23:27 +0200)]
SystemExec Lua bindings (vfork, fire+forget)
Robin Gareus [Mon, 7 Aug 2017 23:49:05 +0000 (01:49 +0200)]
Hide TrackList "Active" toggle for VCAs
Robin Gareus [Mon, 7 Aug 2017 21:23:39 +0000 (23:23 +0200)]
Fix non-buffered PA backend. Wait for backend to become active
This hopefully fixes an issue with port-registration (new session)
being skipped because PortAudioBackend::available() still false
until the first callback.
Robin Gareus [Mon, 7 Aug 2017 21:03:08 +0000 (23:03 +0200)]
Add debug-msg for port-handle registration
Robin Gareus [Mon, 7 Aug 2017 17:27:37 +0000 (19:27 +0200)]
PortAudio: skip process callbacks until ports are established
Robin Gareus [Mon, 7 Aug 2017 17:26:06 +0000 (19:26 +0200)]
Revert "Work around a Windows crash (for now)"
This reverts commit
4f2dc77f6f6b5b0de07304e8a4981ff1298ef090.
Paul Davis [Mon, 7 Aug 2017 16:14:17 +0000 (12:14 -0400)]
slight tweak for more code consistency between ::toggle_solo() and ::toggle_mute()
Paul Davis [Mon, 7 Aug 2017 15:34:03 +0000 (11:34 -0400)]
some structure/code for managing menu sensitivity now that VCAs are selectable
Robin Gareus [Mon, 7 Aug 2017 15:39:28 +0000 (17:39 +0200)]
Work around a Windows crash (for now)
The root-cause is likely PortAudio backend specific async
port-registration, re-establish ports after session creation and
after the first callback and it's apparently a race-condition:
crash is not 100% reproducible.
#10 0x00007ffb156df18a in msvcrt!abort () from C:\Windows\System32\msvcrt.dll
#11 0x0000000012597832 in _wassert (_Message=_Message@entry=0x2eaf96f0 L"_port_handle",
_File=0x2 <error: Cannot access memory at address 0x2>, _File@entry=0x346a1430 L"../libs/ardour/audio_port.cc",
_Line=80) at ../../mingw-w64-crt/misc/wassert.c:54
#12 0x00000000125978e8 in _assert (_Message=0x1282f7e9 "_port_handle",
_File=0x1282f7a0 "../libs/ardour/audio_port.cc", _Line=80) at ../../mingw-w64-crt/misc/wassert.c:30
#13 0x00000000120d1a51 in ARDOUR::AudioPort::get_audio_buffer (this=0x34a95a70, nframes=256)
at ../libs/ardour/audio_port.cc:80
#14 0x00000000126724f9 in ARDOUR::AudioPort::get_buffer (this=<optimized out>, nframes=<optimized out>)
at ../libs/ardour/ardour/audio_port.h:43
#15 0x0000000012435421 in ARDOUR::Session::ltc_tx_send_time_code_for_cycle (this=this@entry=0x37666310,
start_frame=0, end_frame=end_frame@entry=256, target_speed=0, current_speed=0, nframes=nframes@entry=256)
at ../libs/ardour/session_ltc.cc:180
#16 0x000000001245209f in ARDOUR::Session::no_roll (this=this@entry=0x37666310, nframes=256)
at ../libs/ardour/session_process.cc:145
#17 0x0000000012453051 in ARDOUR::Session::fail_roll (this=this@entry=0x37666310, nframes=<optimized out>)
at ../libs/ardour/session_process.cc:128
#18 0x0000000012459ebd in ARDOUR::Session::process_without_events (this=this@entry=0x37666310,
nframes=nframes@entry=256) at ../libs/ardour/session_process.cc:897
#19 0x000000001245a462 in ARDOUR::Session::process_with_events (this=0x37666310, nframes=256)
at ../libs/ardour/session_process.cc:425
#20 0x0000000012451bc5 in ARDOUR::Session::process (this=0x37666310, nframes=nframes@entry=256)
at ../libs/ardour/session_process.cc:78
#21 0x00000000120e79fd in ARDOUR::AudioEngine::process_callback (this=0x23316e30, nframes=256)
at ../libs/ardour/audioengine.cc:376
#22 0x00000000285390fe in ARDOUR::PortAudioBackend::blocking_process_main (this=this@entry=0x29e67750,
interleaved_input_data=interleaved_input_data@entry=0x115e8790,
interleaved_output_data=interleaved_output_data@entry=0x115e0050)
at ../libs/backends/portaudio/portaudio_backend.cc:1962
#23 0x0000000028539b75 in ARDOUR::PortAudioBackend::process_callback (this=this@entry=0x29e67750, input=0x115e8790,
output=0x115e0050, frame_count=<optimized out>, timeInfo=0x3d17fd70, statusFlags=statusFlags@entry=0)
at ../libs/backends/portaudio/portaudio_backend.cc:775
#24 0x0000000028539c16 in ARDOUR::PortAudioBackend::portaudio_callback (input=<optimized out>,
output=<optimized out>, frame_count=<optimized out>, time_info=<optimized out>, status_flags=0,
user_data=0x29e67750) at ../libs/backends/portaudio/portaudio_backend.cc:721
#25 0x00000000632c528f in NonAdaptingProcess () from C:\Program Files\Mixbus32C-4\bin\libportaudio-2.dll
#26 0x00000000632c73b2 in PaUtil_EndBufferProcessing () from C:\Program Files\Mixbus32C-4\bin\libportaudio-2.dll
#27 0x00000000632d129c in ProcessingThreadProc () from C:\Program Files\Mixbus32C-4\bin\libportaudio-2.dll
Robin Gareus [Mon, 7 Aug 2017 14:46:35 +0000 (16:46 +0200)]
Name New VCAs from Selection
Robin Gareus [Mon, 7 Aug 2017 14:29:08 +0000 (16:29 +0200)]
Improve Track > Toggle Solo/Mute, include VCAs
Robin Gareus [Mon, 7 Aug 2017 11:58:56 +0000 (13:58 +0200)]
Fix Windows builds (amend
7009ff03)
Robin Gareus [Mon, 7 Aug 2017 11:58:05 +0000 (13:58 +0200)]
fix a -Wattributes
Robin Gareus [Mon, 7 Aug 2017 11:57:49 +0000 (13:57 +0200)]
Explicitly initialize parent in the copy constructor
Robin Gareus [Mon, 7 Aug 2017 03:07:06 +0000 (05:07 +0200)]
space matters
Robin Gareus [Mon, 7 Aug 2017 00:52:24 +0000 (02:52 +0200)]
Add Lua Bindings to clone/copy regions
Robin Gareus [Sun, 6 Aug 2017 23:56:36 +0000 (01:56 +0200)]
Add Lua bindings for RegionMap and region list
Robin Gareus [Sun, 6 Aug 2017 21:49:12 +0000 (23:49 +0200)]
More RouteTAV -> StripableTAV updates (Editor List)
Robin Gareus [Sun, 6 Aug 2017 21:22:27 +0000 (23:22 +0200)]
Use StripableTAV to inform Ctrl surfaces about selection.
Robin Gareus [Sun, 6 Aug 2017 20:48:38 +0000 (22:48 +0200)]
VCA TimeAxis Context Menu
NB. This calls for a vca_ui (alike route_ui) to consolidate common
methods like choose_color, assign/drop slaves etc)
Robin Gareus [Sun, 6 Aug 2017 20:14:11 +0000 (22:14 +0200)]
Allow FaderPort to select VCAs
Robin Gareus [Sun, 6 Aug 2017 20:16:36 +0000 (22:16 +0200)]
Update Selection API to include all Stripables
Robin Gareus [Sun, 6 Aug 2017 20:15:15 +0000 (22:15 +0200)]
Update Remove Track(s) dialog to include VCAs
Robin Gareus [Sun, 6 Aug 2017 16:37:15 +0000 (18:37 +0200)]
Allow to select VCAs
Robin Gareus [Sun, 6 Aug 2017 20:12:20 +0000 (22:12 +0200)]
Emit SelectionChange when VCA is removed
chicken/egg:
Stripable d'tor which calls remove_stripable_by_id() will only be called
when the Stripable is destroyed. But as long as the GUI selection holds a
shared-ptr reference to the Stripable, it won't be destroyed.
Robin Gareus [Sun, 6 Aug 2017 16:00:52 +0000 (18:00 +0200)]
Add options to set bit-depth and bwf to session-export util.
Robin Gareus [Sun, 6 Aug 2017 15:55:33 +0000 (17:55 +0200)]
Broadcast info according to EBU tech-specs
Robin Gareus [Sun, 6 Aug 2017 12:50:45 +0000 (14:50 +0200)]
Remove some debug output (gtk2_ardour)
Robin Gareus [Sun, 6 Aug 2017 12:48:18 +0000 (14:48 +0200)]
Remove some debug output
Robin Gareus [Sun, 6 Aug 2017 12:47:50 +0000 (14:47 +0200)]
Improve help text and error-reporting for ardour-export
Robin Gareus [Sun, 6 Aug 2017 12:34:24 +0000 (14:34 +0200)]
Fix session-export --samplerate option
Robin Gareus [Sat, 5 Aug 2017 22:01:23 +0000 (00:01 +0200)]
Yet another blind copy/paste issue fix.
Robin Gareus [Sat, 5 Aug 2017 20:32:13 +0000 (22:32 +0200)]
Fix Clock Font on OSX (fixes Big Clock Window Size)
Meanwhile libpango was fixed and we use
CTFontManagerRegisterFontsForURL() on OSX >=10.6
Robin Gareus [Sat, 5 Aug 2017 19:12:52 +0000 (21:12 +0200)]
"Selected" is a PresentationInfo Property.
This fixes MIDI Input follows MIDI track selection (and maybe other
issues) and hopefully breaks nothing else (most places subscribe to
both Stripable::PropertyChanged and PresentationInfo::PropertyChanged).
Robin Gareus [Sat, 5 Aug 2017 17:11:57 +0000 (19:11 +0200)]
Fix Track/Bus dialog name-entry default
Changing the track-type to add changes the name which marked the
name-entry as "edited by user", even though it was Ardour itself
which changed the name.
Robin Gareus [Sat, 5 Aug 2017 14:17:31 +0000 (16:17 +0200)]
amend
bc46a7e2e9; fix blind coding typos
Robin Gareus [Sat, 5 Aug 2017 14:03:17 +0000 (16:03 +0200)]
amend
f4c76f89d3a; fix blind coding typos
Robin Gareus [Sat, 5 Aug 2017 13:35:31 +0000 (15:35 +0200)]
PortAudio backend RT-safe MIDI buffer allocation
Robin Gareus [Sat, 5 Aug 2017 13:21:51 +0000 (15:21 +0200)]
Coreaudio backend RT-safe MIDI buffer allocation
Robin Gareus [Sat, 5 Aug 2017 13:03:06 +0000 (15:03 +0200)]
ALSA backend RT-safe MIDI buffer allocation
Robin Gareus [Sat, 5 Aug 2017 13:04:05 +0000 (15:04 +0200)]
Update backend API: read-only MIDI input buffers
Paul Davis [Sat, 5 Aug 2017 06:03:43 +0000 (02:03 -0400)]
full integration of beatbox test app into ardour tree+build system
Plus a few attempts at catching note on/off quantization stuff
Robin Gareus [Sat, 5 Aug 2017 00:43:15 +0000 (02:43 +0200)]
Revert
542d021f, fix number of DSP threads
The main process-callback does not participate in DSP computation
Robin Gareus [Fri, 4 Aug 2017 23:27:41 +0000 (01:27 +0200)]
Consolidate ctrl surface code
Robin Gareus [Fri, 4 Aug 2017 22:54:34 +0000 (00:54 +0200)]
Add API to set thread-priority (for ctrl-surfaces)
Robin Gareus [Fri, 4 Aug 2017 22:31:34 +0000 (00:31 +0200)]
Reduce DSP thread priority (main-i/o > midi i/o > computation)
Paul Davis [Fri, 4 Aug 2017 22:09:31 +0000 (18:09 -0400)]
add tempo adjustment
Paul Davis [Fri, 4 Aug 2017 21:40:55 +0000 (17:40 -0400)]
expose more internal state
Paul Davis [Fri, 4 Aug 2017 21:40:35 +0000 (17:40 -0400)]
change superclock ticks per second (no need for 11,13,17)
Paul Davis [Fri, 4 Aug 2017 21:40:13 +0000 (17:40 -0400)]
remove some debug output
Paul Davis [Fri, 4 Aug 2017 21:26:42 +0000 (17:26 -0400)]
fix bbox compilation after integration into tree
Paul Davis [Fri, 4 Aug 2017 21:19:36 +0000 (17:19 -0400)]
new mini, standalone MIDI beatbox/live looper
This is for experiments with loop sequencing, MIDI region generation and superclock stuff
Robin Gareus [Fri, 4 Aug 2017 14:26:37 +0000 (16:26 +0200)]
NO-OP: whitespace
Robin Gareus [Fri, 4 Aug 2017 14:26:26 +0000 (16:26 +0200)]
Graph profiling: allow to override max DSP thread count & calc avg.
Robin Gareus [Fri, 4 Aug 2017 01:12:29 +0000 (03:12 +0200)]
CoreAudio: Set MachThread RT Priority
Robin Gareus [Fri, 4 Aug 2017 01:39:27 +0000 (03:39 +0200)]
DummyBackend: allow changing SPP
Robin Gareus [Fri, 4 Aug 2017 01:36:03 +0000 (03:36 +0200)]
SNAFU. Allow changing engine buffer-size while running
Kristoffer Grundström [Fri, 4 Aug 2017 00:23:35 +0000 (02:23 +0200)]
Update sv.po
Kristoffer Grundström [Sun, 26 Feb 2017 15:42:33 +0000 (16:42 +0100)]
Updated Swedish language
Signed-off-by: Kristoffer Grundström <hamnisdude@gmail.com>
Robin Gareus [Thu, 3 Aug 2017 23:56:50 +0000 (01:56 +0200)]
Rough-in an qm-barbeattracker Lua example
Robin Gareus [Thu, 3 Aug 2017 23:27:46 +0000 (01:27 +0200)]
Fix typo in Lua Vamp API
Robin Gareus [Thu, 3 Aug 2017 21:54:26 +0000 (23:54 +0200)]
Allow calling IO::silence for yet unregistered ports (Click)
Robin Gareus [Thu, 3 Aug 2017 21:37:38 +0000 (23:37 +0200)]
Some more assert() debugging
Robin Gareus [Thu, 3 Aug 2017 17:16:33 +0000 (19:16 +0200)]
Ignore cycle-start/end for unregistered ports
Should fix a race during Session::destroy(), Port::PortDrop
which unregisters ports with the backend, but the actual port instance
will still exist.
The engine does no longer have a session-pointer and only calls
CycleStart(); CycleEnd() to clear port-buffers. Trying to clear
and already unregistered Port will crash.
Robin Gareus [Thu, 3 Aug 2017 16:52:39 +0000 (18:52 +0200)]
improve
1a288ddd, destroy IO after disconnecting from signals.
This does not completely fix the race-condition. The GUI
(e.g. connection-manager) may still hold a shared-ptr reference.
Robin Gareus [Thu, 3 Aug 2017 16:43:41 +0000 (18:43 +0200)]
Fix Session > New (cancel retains the current session if any)
Robin Gareus [Thu, 3 Aug 2017 16:43:12 +0000 (18:43 +0200)]
Fix crash when cleaning up w/o destroying session
- Control-protocols may transmit data during cleanup
(e.g. reset surface), and need the Audio-engine to do so.
- destroying the ControlProtocolManager w/o the Session calling
::drop_protocols(), lead to a double free.
Len Ovens [Thu, 3 Aug 2017 16:07:58 +0000 (09:07 -0700)]
OSC: Fix to make sure buses created with Ardour 4.7 sessions show up
John Emmas [Thu, 3 Aug 2017 06:49:28 +0000 (07:49 +0100)]
Accommodate newly introduced source(s) in our MSVC project (gtk2_ardour)
Robin Gareus [Thu, 3 Aug 2017 00:04:39 +0000 (02:04 +0200)]
prevent duplicate playlist-names when re-naming #7438
cooltehno [Mon, 19 Jun 2017 04:20:33 +0000 (07:20 +0300)]
Update clear_gray-ardour.colors
cooltehno [Mon, 19 Jun 2017 04:12:08 +0000 (07:12 +0300)]
Update caineville-ardour.colors
Len Ovens [Wed, 2 Aug 2017 17:43:13 +0000 (10:43 -0700)]
OSC: Add command to select Master
Robin Gareus [Tue, 1 Aug 2017 21:27:34 +0000 (23:27 +0200)]
Fix some more crashes at session-close
PortDrop unregisters backend ports, the backend will return a NULL
buffer-pointer, but the I/O object still exists (Metronome, LTC)
AudioBuffer::_data == 0
#0 msvcrt!memset () from C:\Windows\System32\msvcrt.dll
#1 ARDOUR::AudioBuffer::silence (this=0x2c410710, len=256, offset=0) at ../libs/ardour/audio_buffer.cc:88
#2 ARDOUR::AudioPort::cycle_end (this=0x34918730, nframes=256) at ../libs/ardour/audio_port.cc:66
#3 ARDOUR::PortManager::cycle_end (this=this@entry=0x23342770, nframes=nframes@entry=256)
[process callback w/o session]
Robin Gareus [Tue, 1 Aug 2017 15:48:42 +0000 (17:48 +0200)]
Fix LTC encoder removal
Fixed a crash if an x-run or graph-reorder happens after the LTC encoder
has been destroyed (possible at session-close or after disabling
the encoder). This also fixes duplicate callbacks in case the
encoder was re-enabled times in an active session.
Robin Gareus [Tue, 1 Aug 2017 14:32:58 +0000 (16:32 +0200)]
Fix Linux packaging to deal with jackd -RC versions
Robin Gareus [Tue, 1 Aug 2017 14:32:31 +0000 (16:32 +0200)]
Fix ATAV GUI property cleanup
AutomationTimeAxisView::state_id() requires a stripable
(stripable == automatable + parameter OR stripable + control)
Len Ovens [Tue, 1 Aug 2017 14:23:27 +0000 (07:23 -0700)]
OSC: expand plugin_descriptor to split into smaller OSC messages (issue #
0007433)
Len Ovens [Tue, 1 Aug 2017 14:04:59 +0000 (07:04 -0700)]
OSC: add param to plugin_list response which indicates plugin enable state (OnkelDead)
Petr Semiletov [Mon, 31 Jul 2017 21:50:27 +0000 (00:50 +0300)]
More Russian translation updates
Alexandre Prokoudine [Mon, 31 Jul 2017 21:18:08 +0000 (00:18 +0300)]
Fix erroneous changes in the previous updates, translate more into Russian
Johannes Mueller [Sun, 23 Jul 2017 19:10:07 +0000 (21:10 +0200)]
Signal wish to show inline display in gui by lv2:optionalFeature
... in .ttl file rather than by extension_data() in code. That's more in the
spirit of LV2.
Johannes Mueller [Sat, 22 Jul 2017 08:17:17 +0000 (10:17 +0200)]
Tweaking the a-comp inline display a bit. Make it more skinny.
Johannes Mueller [Fri, 21 Jul 2017 12:51:57 +0000 (14:51 +0200)]
Indicate whether to show plugin's inline display in GUI
This is currently done by an extension data similarly to
LV2_INLINEDISPLAY__interface.
Johannes Mueller [Thu, 13 Jul 2017 19:28:17 +0000 (21:28 +0200)]
Simplified inline display if the channel strip is not wide enough
If the width of the display area is below 200 px, we switch from the graph
display to displaying only two bars, one for output level and one for gain
reduction. In the bar mode we also visualize threshold and ratio.
Johannes Mueller [Thu, 13 Jul 2017 15:23:16 +0000 (17:23 +0200)]
Honor attack and release parameters in a-comp's inline graph
Johannes Mueller [Thu, 13 Jul 2017 13:35:12 +0000 (15:35 +0200)]
Indicate gain reduction in a-comp
Robin Gareus [Thu, 13 Jul 2017 21:05:49 +0000 (23:05 +0200)]
Show range -60 .. +10 dBFS in acomp's inline display
Johannes Mueller [Sun, 25 Jun 2017 07:54:05 +0000 (09:54 +0200)]
Set makeup to 0.f when bypassed also in stereo version
Johannes Mueller [Sun, 18 Jun 2017 22:06:10 +0000 (00:06 +0200)]
Adjust the indication of the treshold value by the makup gain.
When lifting the compressor curve by the makeup gain value the actual
treshold (the level when the curve kinks in) is also lifted. Therefore we need
to adjust the dashed line indicating the threshold as well as the level when
the color gradient to show compression kicks in.
Johannes Mueller [Sun, 18 Jun 2017 21:56:23 +0000 (23:56 +0200)]
Also the stereo version needs to set need_expose
Johannes Mueller [Sun, 18 Jun 2017 21:41:23 +0000 (23:41 +0200)]
Show a-comp's makeup grain in inline rendering
Johannes Mueller [Thu, 20 Jul 2017 22:37:07 +0000 (00:37 +0200)]
Some abstractions to make the display look good in the plugin gui
Johannes Mueller [Thu, 20 Jul 2017 22:36:40 +0000 (00:36 +0200)]
Display the inline display in the generic plugin gui
Johannes Mueller [Thu, 20 Jul 2017 21:28:52 +0000 (23:28 +0200)]
Put plugin inline display into a freely available class ...
... and let ProcessorBox::PluginInlineDisplay inherit from it.
Robin Gareus [Mon, 31 Jul 2017 12:26:39 +0000 (14:26 +0200)]
Fix typo
Len Ovens [Mon, 31 Jul 2017 14:55:09 +0000 (07:55 -0700)]
OSC: Make stripname refresh in automation play mode as well.
Len Ovens [Mon, 31 Jul 2017 01:34:56 +0000 (18:34 -0700)]
OSC: fix VCAs try to connect to controls it does not have.