nick_m
9511c9c86f
Add tooltips to user config preferences. clean up combo ordering.
2015-10-20 00:53:30 +11:00
nick_m
4dcd22fadf
Update ContrilList debug output.
2015-10-20 00:53:29 +11:00
nick_m
cc7de475f2
Amend last connit - don't use a bool to represent a double.
2015-10-20 00:53:28 +11:00
nick_m
ff2f934977
Fix incorrect initial point when recording toggled automation.
2015-10-20 00:53:28 +11:00
nick_m
ffed94d89b
Automation - more toggled controller twiddling.
2015-10-20 00:53:28 +11:00
nick_m
1648000108
Automation - fix occasional inverted bool state after write.
2015-10-20 00:53:28 +11:00
nick_m
9c102fa8d2
Make automation record undo per pass rather than per touch.
2015-10-20 00:53:28 +11:00
nick_m
877b258c74
Toggled automation fixes.
...
- don't attempt to insert two points on toggle.
- remove forced touch->write mode change on toggle
- initial state still wrong, but works much better overall.
2015-10-20 00:53:27 +11:00
nick_m
17294ab9ec
Make control point selection more consistent.
...
- disallow simultaneous events via ControlList::editor_add ()
- clicking on an automation line selects the points that define it.
- don't 'flash' a region selection when using mousedraw mode.
- cp click selection resembles region selection.
- region gain points respect snap modifier (a la automation points).
2015-10-20 00:53:27 +11:00
03df442d0e
remove cruft
2015-10-19 15:44:46 +02:00
48f91c6ef4
Add Audio Tracks and Busses too.
2015-10-18 19:55:56 -07:00
0185c9f25a
Added Midi Tracks View mode.
2015-10-18 18:13:16 -07:00
6ff50d2140
fix OS X system detection (amend 66704ee
)
2015-10-18 23:19:52 +02:00
38efd580b2
libs/* changes use new AppleUtility Library
2015-10-18 23:03:13 +02:00
66704eefcb
alternative new version of the AppleUtility library
2015-10-18 23:03:13 +02:00
f7e3117c3b
Only display Trim for tracks that have Trim. On the way:
...
-fixed flip mode.
-fixed no controlable for vpot or fader
2015-10-18 07:38:40 -07:00
André Nusser
a958770abd
Remove all the now unused functions in the MidiModel class.
2015-10-17 22:12:55 -04:00
André Nusser
bd02a7f817
Add Transpose class that can be used by apply_midi_note_edit_op.
2015-10-17 22:12:55 -04:00
André Nusser
66f18914b2
Split transpose in MidiModel into two functions.
2015-10-17 22:12:54 -04:00
a5dcccae60
disable auto-return with external sync #6577
2015-10-18 02:03:40 +02:00
5461b50cdb
Assign Global view to get back to Mixer.
2015-10-17 16:23:46 -07:00
f53dc5945e
extend session-save dirty-flag logic
...
Snapshot and continue working on current session incorrectly marks
the session as clean.
2015-10-16 20:54:15 +02:00
2c9666e0ee
API to add system-specific file chooser shortcuts
2015-10-16 19:06:21 +02:00
a51ea6cf2e
fix crash when creating subgroup-bus - fixes #6642
...
the actual issues is in the connection management:
bundle.cc:323: void ARDOUR::Bundle::connect(): Assertion `N == other->nchannels().n_total()' failed.
That could be resolved. However, combining tracks without panners will
almost never do what the user really wants, so this case has been
disabled for now.
2015-10-15 17:47:02 +02:00
b00d75adf6
add safety checking when setting up DEBUG bits
2015-10-15 08:59:11 -04:00
159d23be9f
fix deadlock when removing subgroup bus w/sends.
...
...and potentially other route removals that involve
processor changes.
2015-10-15 13:50:19 +02:00
79142a262e
prepare better solution of Glib's << operator
2015-10-15 11:22:35 +02:00
8d46cc99fe
Fix a problem where VST automation data wasn't getting written (if the adjustments were made from the plugin's own controls)
2015-10-14 14:54:27 +01:00
334cc37e1b
Reduced delay in last commit/10
2015-10-14 05:55:10 -07:00
1f85691870
fix MCP ports hang on device change and multi-surface device reconnect.
2015-10-13 22:19:36 -07:00
53a28c230a
mackie support omnibus patch
...
Fixes all kinds of miscellaneous issues with MCP. Also removes several theoretical pan modes, replace "Tracks"
pan mode with "Trim", and takes a tiny step towards view modes
2015-10-13 15:34:53 -04:00
2d27009410
fix registration of automation type enums
2015-10-13 15:33:39 -04:00
0043dc38a3
introduce separate-meters concept for Mackie.
...
Devices like the SSL Nucleus have meters displayed separately from their 55x2 display
2015-10-13 10:04:58 -04:00
3169ac0444
fix the design of Mackie XML state management
2015-10-13 07:33:27 -04:00
fbdb4c602e
more corrections for mackie GUI layout
2015-10-13 07:33:27 -04:00
ef08cd6e4a
move incorrectly packed touch sensitivity slider for Mackie GUI
2015-10-13 07:33:27 -04:00
6ec38e9193
remove last ofstream
2015-10-13 09:55:53 +02:00
8e83ca5753
Only flip if not already in desired state. Fixes fader jerk on banking.
2015-10-12 13:52:10 -07:00
1eb1391cfd
expose terminal, rather than just physical, MIDI ports in Mackie GUI
2015-10-12 14:42:49 -04:00
d4e0e8e963
make MCP port buttons work
2015-10-12 13:36:22 -04:00
79113144ef
Correct wrong value on LCD strip when fader is touched (fixs #6619 from Petr Vejsada)
2015-10-11 23:24:14 -07:00
796e404819
Don't use old session connections on MCP device change, Solves crash on device change.
2015-10-11 22:27:13 -07:00
104f43ad37
Fix MCP extension number and get master on right surface.
2015-10-11 21:37:04 -07:00
27f57cde9a
fix crashes due to glib ignored EDEADLK.
...
Taking a readlock after a writelock in the same thread should result
in a deadlock, yet pthread on Linux returns EDEADLK and continues.
glib-2.42.0 ignores EDEADLK and assumes the lock was taken. Releasing
the lock later causes issues: "Calling g_rw_lock_writer_unlock() on a
lock that is not held by the current thread leads to undefined behaviour."
The issue at hand:
AudioStreamView::redisplay_track()
-> foreach_region() #<< WriteLock
-> add_region_view()
...
-> AudioRegionView::create_one_wave()
-> RegionView::update_coverage_frames
-> Playlist::top_unmuted_region_at() #<< ReadLock
All current users of Playlist::foreach_region() are in the GUI
and AFAICT read-only (display regions, update visuals)
2015-10-12 02:11:04 +02:00
f8875df18f
Several changes to Mackie support. Breaks existing Mackie state on disk but not
...
in any way that causes problems, just loss of pre-existing connectivity.
1. retain state of current device (and serialize to disk) when switching
devices, and restore that state when switching back to it.
2. fix port and surfacenaming.
3. fix bundle assembly so that all ports (for multi-surface combos) work.
4. rationalize master position numbering
5. add small sleep before starting device handshake after reconnection. This
is ugly but seems to be necessary, unfortunately.
2015-10-11 12:01:27 -04:00
6faec91dd9
Force Flip normal before Bank ( fixes #6630 )
2015-10-10 19:59:29 -07:00
7535947eb1
Display parameter that matches mode.
2015-10-10 19:40:28 -07:00
965b135842
numerous changes to Mackie support, generally offering better robustness
2015-10-10 17:14:30 -04:00
7c58b4de5f
coreaudio: reset freewheeling after export
...
fixes lively with session-fadeout
2015-10-10 02:42:13 +02:00
9b5a071c33
varied and wide changes to get input and output combos closer to working
2015-10-09 14:01:22 -04:00
7e771c9fdc
move location where port handling stops during Mackie::Surface destructor
2015-10-09 11:12:28 -04:00
6acd51d48e
NOOP: whitespace/indent fix
2015-10-09 11:11:36 -04:00
03018aeefb
add TrimAutomation to list of possible pot parameters for routes
2015-10-09 11:11:15 -04:00
d700576171
remove unused and useless stuff relating to bundles inside Mackie::Strip
...
What was someone (Paul? John ?) thinking?
2015-10-09 11:10:44 -04:00
9c7139e505
set up control_by_parameter map in a Mackie::Strip so that subsequent array-syntax lookup does not crash
2015-10-09 11:09:47 -04:00
f74eab854a
fix behaviour of AsyncMIDIPort so that large amounts of data are handled well.
...
Increased the size of the FIFO that acts as the intermediate between writers and the MidiBuffer. Changed
implementation of ::write() to notice if MidiBuffer::push_back() fails, and then just leave data queued
for subsequent calls to ::flush_output_fifo().
Note: the logic here will be broken by invalid events/data, which ALSO cause MidiBuffer::push_back() to
return false. That needs fixing
2015-10-09 11:08:33 -04:00
cdd415cdaf
tweaks to MidiBuffer::push_back() variants
...
1. there's no reason to make the same logic checks in both the Event and 3-arg variants when the Event
version simply calls the 3-arg variant
2. the Event version returned true under all conditions, even if the 3-arg part had failed to push
the Event data into the buffer. It now returns true or false, as intended.
3. remove debug output if a MidiBuffer is full during ::push_back(). The cases where this matters
emit output of their own, or simply remain silent and queue data later
2015-10-09 11:05:55 -04:00
268d53f502
remove unused PortManager::port_name_prefix_is_unique() method
2015-10-09 07:39:08 -04:00
6bcbace73a
add device-info specific component to Mackie GUI to allow direct wiring of MIDI ports (non-functional)
2015-10-08 21:55:38 -04:00
8338fd8ac6
add DeviceChanged signal to MCP and make surface lock mutable for use in const methods.
...
Also add nth_surface() API to MackieControlProtocol
2015-10-08 21:55:38 -04:00
36088b53b1
add new API to access AsyncMIDIPort members of Mackie Surface port
2015-10-08 21:55:38 -04:00
bda0ba173c
for an ipMIDI surface, make the GSource used for input hold the only reference on the GUIChannel.
2015-10-08 21:55:37 -04:00
7e10c21468
make Mackie::Surface keep a reference to the input source+channel and clean up in destructor
2015-10-08 21:55:37 -04:00
ce03b02a79
in a CrossThread object, ensure destruction of the channel and source used on Posix
...
The source holds a reference to the channel; both must be unref'ed/destroyed in order to
fully clean up resources
2015-10-08 21:55:37 -04:00
fcc7595882
remove declaration of undefined (and necessarily unused) method from PortManager
2015-10-08 21:55:37 -04:00
33fe33f268
fix initialization sequence for ipMIDI Mackie surfaces
2015-10-08 15:28:37 -04:00
0c448c387b
fix crash when switching from regular MIDI to ipMIDI Mackie surface
2015-10-08 15:28:21 -04:00
d3efef7f5c
fix logic to reshow strip "name" after a message display
2015-10-08 14:58:28 -04:00
02181174c3
remove debugging display of message on MCP device
2015-10-08 14:51:27 -04:00
49be513bfa
fix rebase conflicts left over after pull
2015-10-08 13:40:00 -04:00
0cb1c7b58c
lots of changes to try to get the Mackie Control display be more useful and usable
2015-10-08 12:51:44 -04:00
4677d047a5
more mackie strip redisplay renames, and add a global block to redisplays\n
2015-10-08 12:51:18 -04:00
0f978a90f4
subtle rework/rename of per-strip revert-to-vpot-display code
2015-10-08 12:50:05 -04:00
4a1790b75e
remove unused per-surface button timer
2015-10-08 12:50:05 -04:00
ffe06f7d3e
fix region "valid-transient" property
2015-10-08 18:24:45 +02:00
014f8a582f
windows compatible paths for analysis
2015-10-08 18:21:07 +02:00
ef169ce2ff
fix Vamp Onset Detector.
2015-10-08 16:18:39 +02:00
4e39f13991
fix return value for transient load
2015-10-08 15:26:38 +02:00
fc6b965ad0
renice DLL info messages
2015-10-08 13:43:32 +02:00
d1d5f7f311
use g_open for DLL arch test
2015-10-08 13:43:32 +02:00
b5ea1b23b4
detect VST arch only during discovery (not scan)
2015-10-08 13:43:31 +02:00
6899bd7c15
Add Trim to Mackie controls.
2015-10-07 21:36:16 -07:00
c9658134ce
add button time and explicit bank switching to MCP support
2015-10-07 15:13:03 -04:00
bcbb14f581
Added use click emphasis toggle (libs/ardour)
2015-10-07 19:34:39 +02:00
ce9b271a92
track Mackie MIDI port connection status as primary trigger for handshake with device
2015-10-07 13:17:49 -04:00
7675739f45
use C++ for PortManager::make_port_name_relative()
2015-10-07 13:17:49 -04:00
14932d1b86
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
2015-10-07 14:36:32 +02:00
44f1f0caf4
fix exclusive solo group-override
2015-10-07 14:21:30 +02:00
96b45d4909
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.
2015-10-07 14:21:29 +02:00
5fd4ee3ef1
Fix handling of Sysex messages with WinMME midi driver
2015-10-07 21:48:56 +10:00
2e8fb9207e
print VST blacklist filename (for good measure)
2015-10-07 03:28:02 +02:00
477d1f3f42
implement solo group override
2015-10-07 01:44:02 +02:00
87026c871a
add missing include
2015-10-06 21:32:55 +02:00
2237389112
renice code. RAII rocks.
2015-10-06 20:18:02 +02:00
e78f0fe526
CPPUNIT workaround for mingw/wine/windows
2015-10-06 20:10:42 +02:00
e73fa8413e
add a "reset all solo state" safeguard
2015-10-06 20:05:38 +02:00
ce30132a89
fix initial AFL/PFL state after session-load
2015-10-06 19:10:25 +02:00
83d8db3925
add missing semicolon
2015-10-06 18:55:49 +02:00
2af78143c1
more debugging for MIDI input via WinMME
2015-10-06 12:42:01 -04:00
ef35ee5d43
detect windows DLL architecture
2015-10-06 18:16:12 +02:00
96720089cf
remove newly unused code
2015-10-06 18:16:12 +02:00
0cfb898802
propagate solo/iso when disconnecting ports.
2015-10-06 18:16:12 +02:00
89156be67a
add more debugging to portaudio/MME MIDI backend
2015-10-06 11:01:58 -04:00
b1609b53bd
more solo propagation fixes.
...
handle cases Track(s) -> Bus1 -> Bus2
2015-10-06 14:14:44 +02:00
139cb23ab9
fix implicit mute display
2015-10-06 12:21:40 +02:00
fb2e8387dd
"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
2015-10-06 12:21:40 +02:00
f04b95c42e
Solo-Isolate has no effect on solo propagation.
...
'Isolate' means that when another track is solo'd the isolated
track won't mute.
2015-10-06 12:21:40 +02:00
4ebc6ef0b4
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.
2015-10-06 13:29:57 +10:00
1c0265e27c
Include button number in canvas button press/release debug info
2015-10-06 13:29:57 +10:00
34d9b2148e
Remove an unnecessary boolean argument in jack utils
...
Specify latency in JackCommandLineOptions instead
2015-10-06 13:29:57 +10:00
3eb4b43fa6
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.
2015-10-06 13:29:57 +10:00
da46df6225
Show DSP/CPU load of 0.0% when AudioEngine isn't running
2015-10-06 13:29:57 +10:00
b99d833028
fix implicit solo on disconnect - fixes #6308
2015-10-06 02:53:06 +02:00
09bad018f4
forward "disconnect all", partial fix for #6308
2015-10-06 01:28:33 +02:00
53c14f86c9
fix typo in prev. commit
2015-10-05 22:42:01 +02:00
168212b864
fix typo
2015-10-05 22:37:41 +02:00
2397429e99
use quotes for in-tree pbd/glib wrapper include
2015-10-05 22:15:18 +02:00
dc36b063bf
remove unused fstream includes
2015-10-05 22:15:18 +02:00
97bd6db2b7
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
2015-10-05 22:15:17 +02:00
b9c8814959
replace i/ofstream for plugin statues
2015-10-05 22:15:17 +02:00
c3b2cc46c5
remove unused API (and ifstream)
2015-10-05 22:15:17 +02:00
eb4c9b022a
try enabling windows MME MIDI sysex support
2015-10-05 12:24:15 -04:00
33d614359a
only use HUI heartbeat with HUI devices
2015-10-05 12:24:15 -04:00
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
e11ba7b79d
SiP and "solo overrides mutes" tweak:
...
Only Explicit solos should override mutes.
2015-10-05 14:19:32 +02:00
c4a3291b80
allow grouped AFL/PFL with excl. solo
2015-10-05 00:27:48 +02:00
58d59177bb
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.
2015-10-05 00:08:55 +02:00
e21e7f7040
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.
2015-10-04 23:28:08 +02:00
4178db5f63
globally remove all trailing whitespace from .cpp and .hpp files missed by previous commit
2015-10-04 15:11:15 -04:00
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
297e80e020
attempt to stop transport, finish butler work, and close all files as part of Session > Cleanup
2015-10-04 14:18:04 -04:00
e63de172d5
NOOP: delete trailing whitespace
2015-10-04 14:18:04 -04:00
b3ace2e4c8
namespace fix.
2015-10-04 18:43:44 +02:00
2fbed9e41f
replace std::ifstream with g_fopen for portability
2015-10-04 18:23:21 +02:00
ac814da4be
correct error message
2015-10-04 17:53:02 +02:00
c68736bc02
Change a few instances of 'stat()' to use 'g_stat()' (for UTF8 compatibility on Windows)
2015-10-04 14:18:54 +01:00
cf33204e35
always use session rt-event to un/set solo
2015-10-04 02:04:59 +02:00
a333edcb28
Initialize variable every loop so MCP devices don't accumulate too.
2015-10-03 13:15:18 -07:00
4b69495f82
Initialize variable every loop so MCP profiles don't accumulate.
2015-10-03 13:06:34 -07:00
2dddf6504b
NOOP: delete trailing whitespace
2015-10-03 14:03:29 -04:00
1e5672de98
reset IP MIDI port when deleting a mackie surface port
2015-10-03 13:51:17 -04:00
9d7b5f6df9
reset shared_ptr to master surface when clearing surfaces, to ensure Surface destructor is called
2015-10-03 13:50:59 -04:00
7d2dd9db0c
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>
2015-10-03 13:14:25 -04:00
4403ce4bd4
make a start on providing direct choice of MIDI ports where an MCP device can be reached
2015-10-03 13:13:58 -04:00
29c484cd95
NOOP: reformat indentation
2015-10-03 13:13:58 -04:00
91d3aabf53
NOOP: reformat indentation
2015-10-03 13:13:58 -04:00
76398911d4
more code-control when laying out Mackie Control GUI panel
2015-10-03 13:13:58 -04:00
6bf0d4f627
add basic support for HUI heartbeat, only used for HUI devices
2015-10-03 13:13:58 -04:00
4ef45aacc1
add DeviceType specifier for mackie devices.
...
Incomplete, because we need a way to handle multiple devices of different types
2015-10-03 13:13:58 -04:00
13765d41e3
NOOP: reformat indentation
2015-10-03 13:13:58 -04:00
c8448cb0dd
add device type to Mackie device info
2015-10-03 13:13:57 -04:00
53c47e0ccd
add support to display and set key aliases in mackie GUI
2015-10-03 13:13:57 -04:00
6357770588
additional check for DSP falloff.
2015-10-03 17:46:55 +02:00
20038fedf4
less verbose unit-tests
2015-10-03 17:46:39 +02:00
01105dc971
DSP load fall-off from 100%.
...
get_dsp_load_unbound() will return large values >100% for testing,
but actual fall-off is from 100%.
2015-10-03 17:46:19 +02:00
9fc3883cbb
fix float calc:
...
divide large number. not multiply a small.
2015-10-03 17:44:56 +02:00
f0c1d58f59
fix windows compilation
2015-10-03 11:20:15 +02:00
3733fd7f31
remove undefined and unused method declaration
2015-10-02 22:08:15 -04:00
0ee737f129
another change from modifier_state() to main_modifier_state()
2015-10-02 22:08:15 -04:00
c78426968f
avoid handling pitchbend (fader) messages while SHIFT modifier is active.
...
See comment in code for more detail
2015-10-02 22:08:15 -04:00
40a4e2e6af
no longer call ::zero_all() when deleting an MCP surface object.
...
The ports required may no longer exist, and it requires a lot of messages. A reset is sent instead
2015-10-02 22:08:14 -04:00
9476657cd1
use ::main_modifier_state() in some more places
2015-10-02 22:08:14 -04:00
ef6b0bdb07
necessary header changes for new redisplay code in MCP
2015-10-02 22:08:14 -04:00
4d47760d61
add new (fast) redisplay timer that pushes parameter display text to MCP device.
...
Changes are queued in a FIFO, and pulled when a timeout in the MCP event loop fires.
2015-10-02 22:08:14 -04:00
05a8107ff6
fix comment spelling
2015-10-02 22:08:14 -04:00
2cdfeda884
use Surface::reset() when deleting MackieControlProtocol, rather than sending lots of messages.
...
This may be a bit "strong" because on the MCU Pro (at least) it causes a fader recalibration.
2015-10-02 22:08:14 -04:00
ccf505c3a2
implement backlight, fader touch sensitivity and recalibrate fader functions for MCP GUI
2015-10-02 22:08:14 -04:00
04b9df1fd9
avoid sending replicated fader set position messages
2015-10-02 22:08:14 -04:00
3bc7f863ca
explicitly drop control surface protocols before disconnecting from engine.
...
This is not bomb/thread proof yet, because it still requires at least one process callback to function
2015-10-02 22:08:14 -04:00
136b659f1c
remove debug output
2015-10-02 22:08:14 -04:00
64b4877ef6
the return of the 1 second fade out at session close
2015-10-02 22:08:14 -04:00
a05e48dab0
fix unbound DSP calc.
2015-10-02 22:28:03 +02:00
87c36aba60
use new error-messages
2015-10-02 17:51:17 +02:00
798c235d4d
define more backend error-messages.
2015-10-02 17:49:31 +02:00
3f99c44ff6
improve CoreAudio error reporting
2015-10-02 17:28:28 +02:00
918133a342
fix handler of fader (pitchbend) messages in Mackie Control so that the outbound messages match the inbound ones
...
Pitch bend values really can span 0 to 16384, not 16383
2015-10-02 10:22:00 -04:00
71bf231199
allow aliasing Mackie Control buttons to other buttons
2015-10-02 10:21:20 -04:00
5c63ed589c
catch changes in click status and alter LED appropriately
2015-10-02 07:32:56 -04:00
a4fced6d63
change zoom and scrub handling to use modifier bits
2015-10-02 07:32:56 -04:00
d28c8c9bb4
spelling correction in error message
2015-10-02 07:32:56 -04:00
4a31b03761
re-apply roll-delay after seek - fixes #5781
2015-10-01 23:17:01 +02:00
8384d98c92
there's no class called "The" :)
2015-10-01 21:39:15 +02:00
6b4e5f1d47
ALSA: update error-codes for HW initialization.
2015-10-01 12:42:05 +02:00
dcf327f86a
Return meaningful error codes when ALSA backend fails to start
...
Unfortunately it seems that in zita-alsa-pcmi doesn't set state() correctly in
some cases. Setting an invalid SR doesn't display the correct error message,
first guess would be that set_hwpar is failing and state() is not
representative of the actual error.
2015-10-01 09:10:19 +10:00
aa713fcd83
Return meaningful error codes when PortaudioBackend fails to start
...
So they can be used to give a contextual error message in the GUI
2015-10-01 09:10:19 +10:00
f178152114
Use portaudio error codes in the PortaudioIO class.
...
Having error codes defined in PortaudioIO means it is not dependent on the
ErrorCodes in AudioBackend but it doesn't really make sense to have another
set, so just use the PA ones until they become insufficient.
2015-10-01 09:10:19 +10:00
d85ab8af89
Reinterpret the return value of AudioBackend::start as AudioBackend::ErrorCode
...
This will allow backends to return a more meaningful error message. Eventually
an error code could be returned by AudioEngine::start and the GUI can then use
AudioBackend::get_error_string to convert the error into a translated error
message directly, or it may be desirable to define its own error messages.
The reasons for not doing that right now is that this is a workable solution
with the least change required.
2015-10-01 09:10:19 +10:00
9a7f96f15a
Add a couple of error codes to AudioBackend::ErrorCode
...
Also use the error message from ARDOUR_UI::reconnect_to_engine as the default
error string
2015-10-01 09:10:19 +10:00
71343e835a
change the logic for a capture buffer flush to disk when a locate is occuring
...
We can't check for Session::actively_recording() because punch out may have disabled that. Rather
than add logic to check if a flush is needed (which is not much different than the code that runs
as part of the flush to disk), just do a flush anyway.
2015-09-30 13:02:58 -04:00
7ff47ab80e
tweak some debug output
2015-09-30 13:02:58 -04:00
343bc5160b
remove apparently bogus adjustment to capture_captured in AudioDiskstream::transport_looped
2015-09-30 13:02:58 -04:00
2cf779fd0c
split Butler::flush_tracks_to_disk() into two distinct versions with clear names and make one of them private
2015-09-30 13:02:58 -04:00
239da0efb5
Fix Mackie control metering ( fixes #6608 ).
2015-09-28 20:13:15 -07:00
b8ccf8accc
BWF USID according to EBU-R99
2015-09-29 01:20:30 +02:00
1536228d00
fix initialization of reserved I/O names vector
2015-09-28 17:52:27 -04:00
34f088576c
get loop recording working when using seam-ed looping
2015-09-28 17:42:11 -04:00
0613ddd1f9
better more reliable checks on renamed, newly created and imported track/bus names
2015-09-28 17:42:11 -04:00
9f8fe4b0bc
change semantics of 4th argument to Session::locate to mean "this locate is connected with play-loop just being enabled"
2015-09-28 17:42:11 -04:00
b9611a3168
a few new DEBUG_TRACE calls related to session transport state
2015-09-28 17:42:11 -04:00
9202bc162a
minor fix for possible off-by-one logic when at/near the end of the loop range
2015-09-28 17:42:11 -04:00
f24fef669a
fix a long-standing bug arising from a change to some logic which reversed an "is-rolling" test
2015-09-28 17:42:11 -04:00
c9b991ba50
move code location where loop playback is cancelled when stopping
2015-09-28 17:42:11 -04:00
f2aa681974
loop record is a feature whether or not loop-is-mode is true or not
2015-09-28 17:42:11 -04:00
3e23b5903e
Session::disable_record() should work whether we are in loop mode or not
2015-09-28 17:42:11 -04:00
dd89363292
remove cruft.
2015-09-28 00:36:44 +02:00
e65903a49a
Sort ports in state-save.
...
This results in identical XML if the session did not change, allowing
to keep track of state-changes easily (e.g. session file in git).
Thanks to deva (again).
2015-09-27 16:10:10 +02:00
ed2ce36735
LV2 state cleanup, patch from deva. closes #6607
...
set _impl->state on session load in order to detect state changes
properly (no not save duplicate states).
+ some small mem-leaks (free state)
2015-09-27 14:07:57 +02:00
e344d379d2
update semantics of PBD::remove_directory()
...
Remove the directory recursively including itself. The function
is used in two places only:
* LV2Plugin::add_state() -- no change, remove tmp. state
* Session::save_as() -- on error, remove target
In both cases removing the folder itself is correct.
2015-09-27 12:44:54 +02:00
26fdf99a92
copy LV2 options to heap.
...
Stack pointer becomes invalid when the array goes out of scope.
Fixes rare crash in suil_wrapper_new() or GUIs iterating over options.
2015-09-25 19:44:30 +02:00
e4adb99e06
Add some casting to keep MSVC happy
2015-09-24 09:06:19 +01:00
402c69c0fd
Add some newly introduced sources to our MSVC project (libardour)
2015-09-24 09:05:38 +01:00
fedec84d3b
fix iterator after map::erase().
...
The iterator referring to the removed element is invalidated.
Other iterators remain valid.
2015-09-23 22:26:44 +02:00
ccf558f482
standardize VST Callback debug message print
2015-09-22 21:02:27 +02:00
30713adb16
add debug flags for VST Callbacks
2015-09-22 20:37:35 +02:00
f5b3ad18cf
PBD::Debug to stdout
...
fixes debug output on windows. std::cerr is lost,
only std::cout, printf() and fprintf(stderr, ..) work.
2015-09-21 23:08:45 +02:00
621e9992a7
amend 01403dc
(VST Pin connected)
2015-09-21 23:01:59 +02:00
Todd Naugle
233c144c2c
Update RouteGroup property defaults.
...
This is part of a larger fix for #6450 . Previously new route groups were
created with different default properties depending on which code created
the new group. The group tab method had all properties set and that is now
going to be the default.
2015-09-21 14:49:31 -05:00
cba31db6fe
processor-box: explicitly check for "Amp" (Fader)
2015-09-21 13:14:29 +02:00
77ee3d18a6
add includes for g_open()
2015-09-21 11:06:34 +02:00
df0544c4e6
fix vst plugin; not sure if this was the intention, but it builds now.
2015-09-21 10:10:07 +02:00
b1424dab79
Vpot assign buttons don't do anything, don't light LEDs either.
2015-09-21 10:04:06 +02:00
47976ed4fa
Make Mackie control surface LEDs for modifier keys only light while pressed. ( fixes #6601 )
2015-09-21 10:03:56 +02:00
01403dc1dd
fix VST audioMasterPinConnected callback
2015-09-21 02:20:22 +02:00
André Nusser
6a248b61f0
fix duplicating multiple selected regions - fixes #6202
2015-09-20 22:22:39 +02:00
7b4aa97145
explicit string.h include for memset()
2015-09-20 20:24:49 +02:00
70bed9d6a0
silence detection: include fades.
...
Fades must be outside of regions above threshold in order
to properly split drum-hits or fast transients in general.
2015-09-20 19:40:32 +02:00
ac078fd93f
fix sndfilesource::open return value typo.
2015-09-20 18:38:52 +02:00
8bee256e4f
prepare LTC File Reader
2015-09-20 18:35:29 +02:00
861d6f81a3
add silence-stripping fade constraints
...
Ensure that non-silent regions are at least
as long as the selected fade-duration.
2015-09-20 01:28:15 +02:00
bd5b97e964
Dummy: add a CC only test-sequence
2015-09-19 19:00:43 +02:00
91d786a078
fix silence-strip process report
2015-09-19 19:00:42 +02:00
2e9e8d3b33
Fix windows test to also pass under wine
...
It looks as if the default timer resolution for applications running under wine
is different than Windows so just test that the minimum timer resolution is
below a certain amount rather than checking before and after calling
timeBeginPeriod
2015-09-19 10:59:39 +10:00
555ef50521
no c99
2015-09-19 01:22:14 +02:00
7648824773
speed-up smf_track_delete() from O(N^2) to O(n)
2015-09-19 00:38:32 +02:00
a5141fdaf3
NOOP - SMF debugging.
2015-09-18 17:37:36 +02:00
21b720fddc
Midi CC events have no event-ID
...
Prior to this change the last iterator's ID was used. (event's ID was
not updated for CCs)
2015-09-18 17:37:03 +02:00
8b2fb88f15
fix ever increasing MIDI event IDs
...
Iterating over a const Midi-Sequence calls Evoral::Sequence::set_event(),
which in turn used Evoral::Event::operator=() which always created
a new event-ID (create copy of the event).
Issues fixed:
- Saving *unmodified* MIDI produced new event-IDs on every save;
files changed with every save. - greetings to Deva.
- all [GUI] operations that use IDs to refer to notes e.g. undo.
invalid undo-history.
Also clarify assignment operator name. Prefer explicit assign() over =.
2015-09-18 17:36:15 +02:00
c12e8cc47c
Modify Strip Silence so that it can't create regions with -ve lengths
...
AFAICT this could happen if a region's end time (on the timeline) was earlier than the end time in the actual recording. This could cause a situation where the last block of detected silence would have an end time greater than the end tome for the region being processed. Strip Silence would create its new regions - but the last one it created would usually come out with a negative duration.
2015-09-18 10:44:07 +01:00
d609217c55
Make sure that those recently moved functions will be visible if they're needed outside of libpbd
2015-09-18 10:27:27 +01:00
44ea59495c
MSVC projects - accommodate some modules that recently got moved or removed
...
(mostly these got moved out of the PortAudio backend and into libpbd)
2015-09-18 10:25:11 +01:00
c1d6a2fd92
add string_compose argument specializations so that empty std::string and empty C strings are handled as intended
2015-09-17 17:16:23 -04:00
f3a1ac21cb
associate label more closely with VST path button. the plugin tab needs a complete layout rethink, someday
2015-09-17 16:07:40 -05:00
e44212321e
Add test to libpbd to check PBD::touch_file and pbd/gstdio_compat.h
...
GStatBuf is not usable on 32 bit Windows without the redefinition in
pbd/gstdio_compat.h so add a test to check for the correct behavior of
g_stat and g_utime on all platforms now that the issue is fixed.
2015-09-17 23:26:38 +10:00
95b55c7346
fix g_lstat()
2015-09-17 15:01:26 +02:00
7ac691ec82
use pbd's gstdio compatibility wrapper
2015-09-17 14:37:57 +02:00
c90bab4d4e
add glib/stdio compat wrapper for mingw64-w32
2015-09-17 14:36:47 +02:00
96cc1dbe80
Revert "add an Amp to Delivery, remove it from Send, make use of this in various ::run() methods"
...
This reverts commit 601a34521c
.
2015-09-16 18:38:44 -04:00
74db5abc7e
Add ardour/types.h to ardour/parameter_descriptor.h for AutomationType
2015-09-16 16:55:17 -04:00
1691e965a5
update reported DSP load for ALSA & Dummy
2015-09-16 18:24:57 +02:00
1c43383e92
CoreAudio: use libardour provided DSP load calc.
2015-09-16 18:24:57 +02:00