ardour.git
8 years agoFix "Select All * Edit Point" when used as shortcut. -fixes #6626
André Nusser [Wed, 7 Oct 2015 21:56:14 +0000 (23:56 +0200)]
Fix "Select All * Edit Point" when used as shortcut. -fixes #6626

8 years agorenice DLL info messages
Robin Gareus [Thu, 8 Oct 2015 11:42:31 +0000 (13:42 +0200)]
renice DLL info messages

8 years agouse g_open for DLL arch test
Robin Gareus [Thu, 8 Oct 2015 11:40:37 +0000 (13:40 +0200)]
use g_open for DLL arch test

8 years agodetect VST arch only during discovery (not scan)
Robin Gareus [Thu, 8 Oct 2015 11:40:23 +0000 (13:40 +0200)]
detect VST arch only during discovery (not scan)

8 years agoAdd Trim to Mackie controls.
Len Ovens [Thu, 8 Oct 2015 04:36:16 +0000 (21:36 -0700)]
Add Trim to Mackie controls.

8 years agoadd button time and explicit bank switching to MCP support
Paul Davis [Wed, 7 Oct 2015 19:12:09 +0000 (15:12 -0400)]
add button time and explicit bank switching to MCP support

8 years agoallow to use non-emphasis regardless of custom samples
Robin Gareus [Wed, 7 Oct 2015 17:37:56 +0000 (19:37 +0200)]
allow to use non-emphasis regardless of custom samples

8 years agoAdded use click emphasis toggle (gtk2_ardour)
Damien Zammit [Wed, 7 Oct 2015 16:25:29 +0000 (03:25 +1100)]
Added use click emphasis toggle (gtk2_ardour)

8 years agoAdded use click emphasis toggle (libs/ardour)
Damien Zammit [Wed, 7 Oct 2015 16:24:21 +0000 (03:24 +1100)]
Added use click emphasis toggle (libs/ardour)

8 years agotrack Mackie MIDI port connection status as primary trigger for handshake with device
Paul Davis [Wed, 7 Oct 2015 17:17:42 +0000 (13:17 -0400)]
track Mackie MIDI port connection status as primary trigger for handshake with device

8 years agouse C++ for PortManager::make_port_name_relative()
Paul Davis [Wed, 7 Oct 2015 17:16:22 +0000 (13:16 -0400)]
use C++ for PortManager::make_port_name_relative()

8 years agofix crash on 2nd Lock
Robin Gareus [Wed, 7 Oct 2015 13:50:55 +0000 (15:50 +0200)]
fix crash on 2nd Lock

8 years agoadd missing include
Robin Gareus [Wed, 7 Oct 2015 13:39:32 +0000 (15:39 +0200)]
add missing include

8 years agofix solo-group override
Robin Gareus [Wed, 7 Oct 2015 13:29:00 +0000 (15:29 +0200)]
fix solo-group override

8 years agoallow to load huge VST plugin states -fixes #6623
Robin Gareus [Wed, 7 Oct 2015 12:36:32 +0000 (14:36 +0200)]
allow to load huge VST plugin states -fixes #6623

by default libxml has a XML_MAX_TEXT_LENGTH of 10M
with base64 encoding that allows at most 2.5MB state.

set XML_PARSE_HUGE to read large sessions

8 years agoamend prev commit.
Robin Gareus [Wed, 7 Oct 2015 12:25:33 +0000 (14:25 +0200)]
amend prev commit.

8 years agoupdate solo button callback semantics
Robin Gareus [Wed, 7 Oct 2015 12:19:59 +0000 (14:19 +0200)]
update solo button callback semantics

override-group toggles current group state (not disables groups)

8 years agofix crash for solo btn2 + primary-mod
Robin Gareus [Wed, 7 Oct 2015 12:19:23 +0000 (14:19 +0200)]
fix crash for solo btn2 + primary-mod

8 years agofix exclusive solo group-override
Robin Gareus [Wed, 7 Oct 2015 11:08:53 +0000 (13:08 +0200)]
fix exclusive solo group-override

8 years agoonly subdivide plugin-cycle when automation is playing
Robin Gareus [Wed, 7 Oct 2015 08:42:28 +0000 (10:42 +0200)]
only subdivide plugin-cycle when automation is playing

PluginInsert::automation_run() subdivides plugin-run on every
control-port automation event (without splitting the process cycle).

libevoral has no automation-control context, hence this function
must be implemented by Automatable.

8 years agoFix handling of Sysex messages with WinMME midi driver
Tim Mayberry [Wed, 7 Oct 2015 11:44:25 +0000 (21:44 +1000)]
Fix handling of Sysex messages with WinMME midi driver

8 years agoprint VST blacklist filename (for good measure)
Robin Gareus [Wed, 7 Oct 2015 01:28:02 +0000 (03:28 +0200)]
print VST blacklist filename (for good measure)

8 years agoimplement solo group override
Robin Gareus [Tue, 6 Oct 2015 23:44:02 +0000 (01:44 +0200)]
implement solo group override

8 years agoadd missing include
Robin Gareus [Tue, 6 Oct 2015 19:32:55 +0000 (21:32 +0200)]
add missing include

8 years agorenice code. RAII rocks.
Robin Gareus [Tue, 6 Oct 2015 18:18:02 +0000 (20:18 +0200)]
renice code. RAII rocks.

8 years agoCPPUNIT workaround for mingw/wine/windows
Robin Gareus [Tue, 6 Oct 2015 18:10:42 +0000 (20:10 +0200)]
CPPUNIT workaround for mingw/wine/windows

8 years agocancel-solo always clears all solo-state, just in case.
Robin Gareus [Tue, 6 Oct 2015 18:06:25 +0000 (20:06 +0200)]
cancel-solo always clears all solo-state, just in case.

8 years agoadd a "reset all solo state" safeguard
Robin Gareus [Tue, 6 Oct 2015 18:05:38 +0000 (20:05 +0200)]
add a "reset all solo state" safeguard

8 years agofix initial AFL/PFL state after session-load
Robin Gareus [Tue, 6 Oct 2015 17:10:25 +0000 (19:10 +0200)]
fix initial AFL/PFL state after session-load

8 years agoadd missing semicolon
Robin Gareus [Tue, 6 Oct 2015 16:53:30 +0000 (18:53 +0200)]
add missing semicolon

8 years agomore debugging for MIDI input via WinMME
Paul Davis [Tue, 6 Oct 2015 16:41:49 +0000 (12:41 -0400)]
more debugging for MIDI input via WinMME

8 years agodetect windows DLL architecture
Robin Gareus [Tue, 6 Oct 2015 16:15:57 +0000 (18:15 +0200)]
detect windows DLL architecture

8 years agoremove newly unused code
Robin Gareus [Tue, 6 Oct 2015 15:33:33 +0000 (17:33 +0200)]
remove newly unused code

8 years agopropagate solo/iso when disconnecting ports.
Robin Gareus [Tue, 6 Oct 2015 15:30:32 +0000 (17:30 +0200)]
propagate solo/iso when disconnecting ports.

8 years agoadd more debugging to portaudio/MME MIDI backend
Paul Davis [Tue, 6 Oct 2015 15:01:58 +0000 (11:01 -0400)]
add more debugging to portaudio/MME MIDI backend

8 years agoDo not restore engine state if we don't have control
Robin Gareus [Tue, 6 Oct 2015 12:40:51 +0000 (14:40 +0200)]
Do not restore engine state if we don't have control

When connecting to already running jack, display jack's buffersize
correctly.

8 years agomore solo propagation fixes.
Robin Gareus [Tue, 6 Oct 2015 12:14:44 +0000 (14:14 +0200)]
more solo propagation fixes.

handle cases  Track(s) -> Bus1 -> Bus2

8 years agofix implicit mute display
Robin Gareus [Tue, 6 Oct 2015 10:19:58 +0000 (12:19 +0200)]
fix implicit mute display

8 years ago"Solo Lock" only locks explicit solo (not implicit).
Robin Gareus [Tue, 6 Oct 2015 10:03:20 +0000 (12:03 +0200)]
"Solo Lock" only locks explicit solo (not implicit).

fixes issue:

Track -> Bus
1) solo track -> implicit Bus solo
2) Solo-Lock Bus
3) un-solo track -> Bus is stuck w/implicit solo on

8 years agoSolo-Isolate has no effect on solo propagation.
Robin Gareus [Tue, 6 Oct 2015 09:57:16 +0000 (11:57 +0200)]
Solo-Isolate has no effect on solo propagation.

'Isolate' means that when another track is solo'd the isolated
track won't mute.

8 years agoFix WinMME midi driver shutdown with sysex enabled
Tim Mayberry [Tue, 6 Oct 2015 03:24:53 +0000 (13:24 +1000)]
Fix WinMME midi driver shutdown with sysex enabled

midiInReset triggers the sysex callback to tell the application that it has
finished with the buffer. Calling midiInAddBuffer results in an infinite loop
so just return during shutdown.

8 years agoInclude button number in canvas button press/release debug info
Tim Mayberry [Sat, 3 Oct 2015 11:54:50 +0000 (21:54 +1000)]
Include button number in canvas button press/release debug info

8 years agoRemove an unnecessary boolean argument in jack utils
Tim Mayberry [Sat, 3 Oct 2015 06:22:19 +0000 (16:22 +1000)]
Remove an unnecessary boolean argument in jack utils

Specify latency in JackCommandLineOptions instead

8 years agoStop engine when clicking back button in latency measurement tab of EngineControl...
Tim Mayberry [Sat, 3 Oct 2015 05:49:55 +0000 (15:49 +1000)]
Stop engine when clicking back button in latency measurement tab of EngineControl dialog

The engine is started when you switch to latency measurement tab but it isn't
stopped if you just click the back button without measuring for latency.

8 years agoRemove unused methods in ARDOUR_UI for starting/stopping engine
Tim Mayberry [Sat, 3 Oct 2015 04:38:34 +0000 (14:38 +1000)]
Remove unused methods in ARDOUR_UI for starting/stopping engine

8 years agoAdd EngineControl::stop_engine method to show errors when stopping engine
Tim Mayberry [Sat, 3 Oct 2015 04:09:45 +0000 (14:09 +1000)]
Add EngineControl::stop_engine method to show errors when stopping engine

This replaces using ARDOUR_UI::disconnect_from_session which is only used by the
EngineControl class. ARDOUR_UI::disconnect_from_session also disconnects from
the AudioEngine::Halted signal which seems unnecessary as Halted is not emitted
when stopping the engine and calling update_sample_rate() which is already
handled when the AudioEngine::Stopped signal is emitted.

8 years agoHandle all errors when starting backend in EngineDialog
Tim Mayberry [Sat, 3 Oct 2015 01:40:34 +0000 (11:40 +1000)]
Handle all errors when starting backend in EngineDialog

8 years agoAlign switch statement with case labels to reduce indentation in EngineDialog
Tim Mayberry [Fri, 2 Oct 2015 12:25:04 +0000 (22:25 +1000)]
Align switch statement with case labels to reduce indentation in EngineDialog

8 years agoInitialize AudioEngine::last_backend_error() to the default error string
Tim Mayberry [Sat, 3 Oct 2015 01:22:58 +0000 (11:22 +1000)]
Initialize AudioEngine::last_backend_error() to the default error string

Currently the last backend error string is only set when calling
AudioBackend::start. Errors that occur when calling other AudioBackend methods
like AudioBackend::set_buffer_size do not set the last backend error string.
So until all the required AudioBackend methods return an ErrorCode and
last_backend_error() can be removed just set it to a default string.

Until all errors that occur are correctly indicated by returning an error code
there will still be situations where last_backend_error() is not indicative of
the true error. For instance AudioEngine::start is called and it fails but
returns a valid error code so last_backend_error() is set, then some other
engine/backend method is called that fails and as last_backend_error is not
set the GUI will display the incorrect error message.

8 years agoUpdate sample rate and CPU load in status bar when AudioEngine stopped
Tim Mayberry [Sat, 3 Oct 2015 01:20:37 +0000 (11:20 +1000)]
Update sample rate and CPU load in status bar when AudioEngine stopped

8 years agoShow DSP/CPU load of 0.0% when AudioEngine isn't running
Tim Mayberry [Sat, 3 Oct 2015 01:18:51 +0000 (11:18 +1000)]
Show DSP/CPU load of 0.0% when AudioEngine isn't running

8 years agofix implicit solo on disconnect - fixes #6308
Robin Gareus [Tue, 6 Oct 2015 00:53:06 +0000 (02:53 +0200)]
fix implicit solo on disconnect - fixes #6308

8 years agoforward "disconnect all", partial fix for #6308
Robin Gareus [Mon, 5 Oct 2015 23:28:33 +0000 (01:28 +0200)]
forward "disconnect all", partial fix for #6308

8 years agofix typo in prev. commit
Robin Gareus [Mon, 5 Oct 2015 20:41:37 +0000 (22:41 +0200)]
fix typo in prev. commit

8 years agofix typo
Robin Gareus [Mon, 5 Oct 2015 20:37:41 +0000 (22:37 +0200)]
fix typo

8 years agouse quotes for in-tree pbd/glib wrapper include
Robin Gareus [Mon, 5 Oct 2015 20:10:58 +0000 (22:10 +0200)]
use quotes for in-tree pbd/glib wrapper include

8 years agoremove unused fstream includes
Robin Gareus [Mon, 5 Oct 2015 20:01:30 +0000 (22:01 +0200)]
remove unused fstream includes

8 years agoremove ofstream from gtk2ardour
Robin Gareus [Mon, 5 Oct 2015 19:51:52 +0000 (21:51 +0200)]
remove ofstream from gtk2ardour

8 years agoremove i/ofstream from libardour
Robin Gareus [Mon, 5 Oct 2015 19:43:44 +0000 (21:43 +0200)]
remove i/ofstream from libardour

except:
 * audio-unit (ifstream is known to work on OSX)
 * evoral curve algorithm debugger
 * cycle-timer debug code
 * export_handler's CDMarker  -> TODO

8 years agoreplace i/ofstream for plugin statues
Robin Gareus [Mon, 5 Oct 2015 19:14:54 +0000 (21:14 +0200)]
replace i/ofstream for plugin statues

8 years agoremove unused API (and ifstream)
Robin Gareus [Mon, 5 Oct 2015 19:14:37 +0000 (21:14 +0200)]
remove unused API (and ifstream)

8 years agotry enabling windows MME MIDI sysex support
Paul Davis [Mon, 5 Oct 2015 16:24:08 +0000 (12:24 -0400)]
try enabling windows MME MIDI sysex support

8 years agoonly use HUI heartbeat with HUI devices
Paul Davis [Mon, 5 Oct 2015 16:23:51 +0000 (12:23 -0400)]
only use HUI heartbeat with HUI devices

8 years agofix case where NORM_USER (su) changes dirs.
Robin Gareus [Mon, 5 Oct 2015 15:12:13 +0000 (17:12 +0200)]
fix case where NORM_USER (su) changes dirs.

8 years agoNOOP, remove trailing tabs/whitespace.
Robin Gareus [Mon, 5 Oct 2015 14:17:49 +0000 (16:17 +0200)]
NOOP, remove trailing tabs/whitespace.

8 years agoSiP and "solo overrides mutes" tweak:
Robin Gareus [Mon, 5 Oct 2015 12:19:32 +0000 (14:19 +0200)]
SiP and "solo overrides mutes" tweak:

Only Explicit solos should override mutes.

8 years agotweak linux package debug-symbol stripping
Robin Gareus [Mon, 5 Oct 2015 11:27:22 +0000 (13:27 +0200)]
tweak linux package debug-symbol stripping

8 years agoallow grouped AFL/PFL with excl. solo
Robin Gareus [Sun, 4 Oct 2015 22:27:48 +0000 (00:27 +0200)]
allow grouped AFL/PFL with excl. solo

8 years agofix various stuck-solo cases:
Robin Gareus [Sun, 4 Oct 2015 22:08:55 +0000 (00:08 +0200)]
fix various stuck-solo cases:

* solo groups
* cancel-solo
* SIP <> AFL/PFL changes

The optimized plural-form route_solo_changed() relied on the false
premise that solo-groups and port-connections are disjoint sets.

-=-

e.g. "cancel all solo" calls set_solo(get_routes(), false);
Since All routes are affected, the "non_solo_change" set is empty, and
no changes were propagated up/downstream.

Routes that indirectly change state as group-members, wrongly end up in
the "non_solo_change" list instead of the "solo_change" list.

If a route feeds another in the same group, no changes were propagated.

8 years agofix AFL/PFL/SIP "stuck solo" - fixes #5803
Robin Gareus [Sun, 4 Oct 2015 19:47:35 +0000 (21:47 +0200)]
fix AFL/PFL/SIP "stuck solo" - fixes #5803

monitor_send are only active when listening (AFL, PFL).
don't activate them when re-configuring processors.

8 years agoupdate NSM executable name - fixes #6620
Robin Gareus [Sun, 4 Oct 2015 19:16:32 +0000 (21:16 +0200)]
update NSM executable name - fixes #6620

NSM requires an executable in $PATH, not full path

8 years agoglobally remove all trailing whitespace from .cpp and .hpp files missed by previous...
Paul Davis [Sun, 4 Oct 2015 19:11:15 +0000 (15:11 -0400)]
globally remove all trailing whitespace from .cpp and .hpp files missed by previous commit

8 years agoglobally remove all trailing whitespace from ardour code base.
Paul Davis [Sun, 4 Oct 2015 18:51:05 +0000 (14:51 -0400)]
globally remove all trailing whitespace from ardour code base.

Paul Davis was responsible for introducing almost all of this.

8 years agoattempt to stop transport, finish butler work, and close all files as part of Session...
Paul Davis [Sun, 4 Oct 2015 18:17:52 +0000 (14:17 -0400)]
attempt to stop transport, finish butler work, and close all files as part of Session > Cleanup

8 years agoNOOP: delete trailing whitespace
Paul Davis [Sun, 4 Oct 2015 16:46:27 +0000 (12:46 -0400)]
NOOP: delete trailing whitespace

8 years agoadd a hidden option to show hidden processors
Robin Gareus [Sun, 4 Oct 2015 17:39:53 +0000 (19:39 +0200)]
add a hidden option to show hidden processors

simplify debugging solo, monitor-processors, etc

8 years agonamespace fix.
Robin Gareus [Sun, 4 Oct 2015 16:43:27 +0000 (18:43 +0200)]
namespace fix.

8 years agochange wording of autosave option to be more clear
Paul Davis [Sun, 4 Oct 2015 16:25:33 +0000 (12:25 -0400)]
change wording of autosave option to be more clear

8 years agoreplace std::ifstream with g_fopen for portability
Robin Gareus [Sun, 4 Oct 2015 16:23:21 +0000 (18:23 +0200)]
replace std::ifstream with g_fopen for portability

8 years agogcc ABI check happens before unpacking
Robin Gareus [Sun, 4 Oct 2015 15:52:29 +0000 (17:52 +0200)]
gcc ABI check happens before unpacking

8 years agocorrect error message
Robin Gareus [Sun, 4 Oct 2015 13:35:14 +0000 (15:35 +0200)]
correct error message

8 years agoremove unused function
Robin Gareus [Sun, 4 Oct 2015 13:35:00 +0000 (15:35 +0200)]
remove unused function

8 years agoChange a few instances of 'stat()' to use 'g_stat()' (for UTF8 compatibility on Windows)
John Emmas [Sun, 4 Oct 2015 13:18:54 +0000 (14:18 +0100)]
Change a few instances of 'stat()' to use 'g_stat()' (for UTF8 compatibility on Windows)

8 years agoalways use session rt-event to un/set solo
Robin Gareus [Sun, 4 Oct 2015 00:03:49 +0000 (02:03 +0200)]
always use session rt-event to un/set solo

8 years agodon't export video-frame request function
Robin Gareus [Sun, 4 Oct 2015 00:02:46 +0000 (02:02 +0200)]
don't export video-frame request function

8 years agoInitialize variable every loop so MCP devices don't accumulate too.
Len Ovens [Sat, 3 Oct 2015 20:15:18 +0000 (13:15 -0700)]
Initialize variable every loop so MCP devices don't accumulate too.

8 years agoInitialize variable every loop so MCP profiles don't accumulate.
Len Ovens [Sat, 3 Oct 2015 20:06:34 +0000 (13:06 -0700)]
Initialize variable every loop so MCP profiles don't accumulate.

8 years agoNOOP: delete trailing whitespace
Paul Davis [Sat, 3 Oct 2015 18:03:29 +0000 (14:03 -0400)]
NOOP: delete trailing whitespace

8 years agoreset IP MIDI port when deleting a mackie surface port
Paul Davis [Sat, 3 Oct 2015 17:51:17 +0000 (13:51 -0400)]
reset IP MIDI port when deleting a mackie surface port

8 years agoreset shared_ptr to master surface when clearing surfaces, to ensure Surface destruct...
Paul Davis [Sat, 3 Oct 2015 17:50:59 +0000 (13:50 -0400)]
reset shared_ptr to master surface when clearing surfaces, to ensure Surface destructor is called

8 years agoMerge branch 'zamaudio-click-level'
Paul Davis [Sat, 3 Oct 2015 17:14:37 +0000 (13:14 -0400)]
Merge branch 'zamaudio-click-level'

8 years agoClick: Normalized then dropped by 6dB
Damien Zammit [Sat, 3 Oct 2015 16:02:04 +0000 (03:02 +1100)]
Click: Normalized then dropped by 6dB

Applied gain to both emph click and default click using sox.
This results in louder click sound by default and user is
able to boost click to 0dBFS using the fader on the pref pane.

Signed-off-by: Damien Zammit <damien@zamaudio.com>
8 years agomake a start on providing direct choice of MIDI ports where an MCP device can be...
Paul Davis [Sat, 3 Oct 2015 17:13:52 +0000 (13:13 -0400)]
make a start on providing direct choice of MIDI ports where an MCP device can be reached

8 years agoNOOP: reformat indentation
Paul Davis [Sat, 3 Oct 2015 16:37:13 +0000 (12:37 -0400)]
NOOP: reformat indentation

8 years agoNOOP: reformat indentation
Paul Davis [Sat, 3 Oct 2015 16:11:32 +0000 (12:11 -0400)]
NOOP: reformat indentation

8 years agomore code-control when laying out Mackie Control GUI panel
Paul Davis [Sat, 3 Oct 2015 16:11:04 +0000 (12:11 -0400)]
more code-control when laying out Mackie Control GUI panel

8 years agoadd basic support for HUI heartbeat, only used for HUI devices
Paul Davis [Sat, 3 Oct 2015 16:03:07 +0000 (12:03 -0400)]
add basic support for HUI heartbeat, only used for HUI devices

8 years agoadd DeviceType specifier for mackie devices.
Paul Davis [Sat, 3 Oct 2015 15:39:36 +0000 (11:39 -0400)]
add DeviceType specifier for mackie devices.

Incomplete, because we need a way to handle multiple devices of different types

8 years agoNOOP: reformat indentation
Paul Davis [Sat, 3 Oct 2015 15:31:46 +0000 (11:31 -0400)]
NOOP: reformat indentation

8 years agoadd device type to Mackie device info
Paul Davis [Sat, 3 Oct 2015 15:31:17 +0000 (11:31 -0400)]
add device type to Mackie device info