Tim Mayberry [Mon, 24 Aug 2015 08:35:43 +0000 (18:35 +1000)]
Refactor part of PortAudioIO::pcm_setup into new method
Tim Mayberry [Mon, 24 Aug 2015 02:57:34 +0000 (12:57 +1000)]
Change the functions related to initializing the Portaudio library
Tim Mayberry [Mon, 24 Aug 2015 02:15:06 +0000 (12:15 +1000)]
Remove unused and cryptic _state member from PortAudioIO
Tim Mayberry [Mon, 24 Aug 2015 00:50:00 +0000 (10:50 +1000)]
Use PortAudioIO::ErrorCode as return value from PortAudioIO::pcm_setup
Tim Mayberry [Sun, 23 Aug 2015 23:06:26 +0000 (09:06 +1000)]
Define some error codes in PortAudioIO class
Tim Mayberry [Sun, 23 Aug 2015 10:36:23 +0000 (20:36 +1000)]
Refactor parts of PortAudioIO class into new method
Tim Mayberry [Sun, 23 Aug 2015 08:38:01 +0000 (18:38 +1000)]
Refactor part of PortAudioIO::pcm_setup into 2 new methods
Tim Mayberry [Sun, 23 Aug 2015 22:59:58 +0000 (08:59 +1000)]
Make two private methods in PortAudioIO const
Tim Mayberry [Sun, 23 Aug 2015 07:37:14 +0000 (17:37 +1000)]
Refactor part of PortAudioIO::pcm_setup into new method
Tim Mayberry [Sun, 23 Aug 2015 07:08:50 +0000 (17:08 +1000)]
Add utility method to PortAudioIO class to remove goto from pcm_setup
Tim Mayberry [Sun, 23 Aug 2015 04:40:35 +0000 (14:40 +1000)]
Remove apple specific fixes from PortaudioBackend now that it is windows only
Tim Mayberry [Sun, 23 Aug 2015 03:53:07 +0000 (13:53 +1000)]
Don't query supported sample rates for ASIO devices in PortaudioBackend
There has been reports this can take several minutes on some devices so just
return the default rates(and fail to open the device when a SR is specified
that isn't supported)
Tim Mayberry [Sun, 23 Aug 2015 03:12:26 +0000 (13:12 +1000)]
Use two private utility functions in PortaudioIO class for default SR's and buffer sizes
Tim Mayberry [Sun, 23 Aug 2015 02:46:16 +0000 (12:46 +1000)]
Reindent and reformat switch statements in PortaudioBackend
This is more readable and consistent with the rest of the source files
Tim Mayberry [Sun, 23 Aug 2015 02:36:34 +0000 (12:36 +1000)]
Use translated error messages in PortaudioBackend when SR or i/o channel counts don't match requested
These errors are probably preventable but currently they do occur so at least
tell the user about them(and hope they check the error log window)
Tim Mayberry [Sun, 23 Aug 2015 02:35:11 +0000 (12:35 +1000)]
Use a translated error message in PortaudioBackend when unable to open audio device
Tim Mayberry [Sun, 23 Aug 2015 01:29:00 +0000 (11:29 +1000)]
Convert some error output to debug output in PortaudioBackend
Tim Mayberry [Sun, 23 Aug 2015 00:49:19 +0000 (10:49 +1000)]
Use translated error message in PortaudioBackend with failing to aquire RT perms
Tim Mayberry [Sat, 22 Aug 2015 22:16:05 +0000 (08:16 +1000)]
Use debug output rather than sending errors for developer relevant port errors
Most of these are not errors that are intended for the user, they are only
intended for developers so don't send them to PBD::error. The errors that may
be relevant to users should be handled in libardour or the GUI in response to
return values
Tim Mayberry [Sat, 22 Aug 2015 11:56:37 +0000 (21:56 +1000)]
Add debug bit for AudioBackends for port related debug output
Tim Mayberry [Sat, 22 Aug 2015 11:43:12 +0000 (21:43 +1000)]
Move AudioBackend related debug bits into libardour
I put these in libpbd as that is where the debug bits are for the Waves backend
but I think it makes more sense for them to be in libardour as that is where
the AudioBackend class is defined
I left the Waves debug bits in libpbd for now.
Tim Mayberry [Sat, 22 Aug 2015 11:21:41 +0000 (21:21 +1000)]
Use PortaudioIO::get_current_host_api_type utility function in PortaudioIO class
Tim Mayberry [Sat, 22 Aug 2015 11:16:17 +0000 (21:16 +1000)]
Add Utility function to get host API type in PortaudioIO class
Tim Mayberry [Sat, 22 Aug 2015 11:04:53 +0000 (21:04 +1000)]
Add "None" devices to PortaudioBackend
This allows for disabling either input or output, but not both
Tim Mayberry [Sat, 22 Aug 2015 10:22:01 +0000 (20:22 +1000)]
Use AudioBackend standard device names for "Default" in PortaudioBackend
Tim Mayberry [Fri, 21 Aug 2015 12:12:07 +0000 (22:12 +1000)]
Use StandardDevices enum in PortaudioIO for default devices
This just makes it a bit easier to read through the code rather than using
magic numbers.
Tim Mayberry [Thu, 20 Aug 2015 12:31:06 +0000 (22:31 +1000)]
Add StandardDevice enum to portaudio_io.h header
Tim Mayberry [Sat, 22 Aug 2015 10:13:35 +0000 (20:13 +1000)]
Use translated error message in PortaudioBackend for audio device I/O error
Tim Mayberry [Sat, 22 Aug 2015 10:11:55 +0000 (20:11 +1000)]
Use translated error message for failing to set thread priorities in PortaudioBackend
Tim Mayberry [Sat, 22 Aug 2015 10:04:29 +0000 (20:04 +1000)]
Use AudioBackend::get_standard_device_name for "None" midi device in PortaudioBackend
Tim Mayberry [Thu, 20 Aug 2015 12:37:50 +0000 (22:37 +1000)]
Add enums to AudioBackend class for getting standard error and device name strings
These could also be used for return values but are initially intended for
shared translations of error messages between backends. Ideally IMO translation
should occur in the GUI(as there may be more than one) in response to these(or
similar) error codes but that would take agreement and a fair bit of
refactoring. As it is there are errors that occur in the backends that users
will want to know about this at least allows consistent translations to be
shared between backends.
Tim Mayberry [Fri, 21 Aug 2015 12:03:43 +0000 (22:03 +1000)]
Use pretty name infrastructure to display MIDI device name
Robin Gareus [Tue, 1 Sep 2015 23:46:31 +0000 (01:46 +0200)]
handle waveform drawing thread shutdown
Robin Gareus [Tue, 1 Sep 2015 21:17:38 +0000 (23:17 +0200)]
refine "recent" column headers
Robin Gareus [Tue, 1 Sep 2015 19:05:00 +0000 (21:05 +0200)]
Display column headers for "recent session"
Avoid confusion regarding "32bit"
Robin Gareus [Tue, 1 Sep 2015 11:28:33 +0000 (13:28 +0200)]
handle GUIs of missing or disabled plugins
Robin Gareus [Tue, 1 Sep 2015 11:27:48 +0000 (13:27 +0200)]
add option to disable or bypass plugins
Robin Gareus [Tue, 1 Sep 2015 11:26:31 +0000 (13:26 +0200)]
Prepare option to disable Plugins completely
old behavior to only bypassed plugins is being renamed.
Robin Gareus [Tue, 1 Sep 2015 10:45:59 +0000 (12:45 +0200)]
fix AU port count - NI Reaktor5
Robin Gareus [Fri, 28 Aug 2015 16:48:40 +0000 (18:48 +0200)]
fix crash with missing .mid
assert in ARDOUR::MidiRegion::control() boost::shared_ptr<ARDOUR::MidiModel>::operator-> invalid ptr.
see http://pastebin.com/dTV10Zu6
Robin Gareus [Fri, 28 Aug 2015 13:45:52 +0000 (15:45 +0200)]
fix possible deadlock on session-close
Robin Gareus [Fri, 28 Aug 2015 13:41:33 +0000 (15:41 +0200)]
coreaudio: re-classify port-errors as warnings
Robin Gareus [Fri, 28 Aug 2015 13:39:06 +0000 (15:39 +0200)]
synchronous shutdown of process graph.
Robin Gareus [Fri, 28 Aug 2015 12:07:48 +0000 (14:07 +0200)]
pre-seed session-state-version.
copying/paste of many objects use ::set_state(, version) to set the
the state of the copy. Stateful::loading_state_version is used for
state-version in those cases.
This fails for a New Session (version==0) or when creating a New Session
after loading an Ardour2 session.
Tim Mayberry [Fri, 28 Aug 2015 00:33:01 +0000 (10:33 +1000)]
Don't truncate pretty port names when setting up port bundles
This was causing truncation in the mixer strip input/output popup menus and the
channel number identifier was truncated
Robin Gareus [Fri, 28 Aug 2015 00:25:48 +0000 (02:25 +0200)]
fix midi note de-select #6534
Mathias Buhr [Thu, 27 Aug 2015 21:53:45 +0000 (23:53 +0200)]
Fixes a double mutex unlock for Linux VSTs
Ben Loftis [Thu, 20 Aug 2015 21:00:34 +0000 (16:00 -0500)]
clean-up previous commit
Robin Gareus [Thu, 27 Aug 2015 14:50:09 +0000 (16:50 +0200)]
use program-name for internal ports
Robin Gareus [Thu, 27 Aug 2015 12:43:28 +0000 (14:43 +0200)]
clarify midi-iterator comment
Robin Gareus [Thu, 27 Aug 2015 12:24:42 +0000 (14:24 +0200)]
fix initial transform dialog display (override show_all)
John Emmas [Thu, 27 Aug 2015 11:24:21 +0000 (12:24 +0100)]
Modify some functions to alleviate overflow / precision errors
'session_frame_to_track_frame()' and its complement, 'track_frame_to_session_frame()' both accept a double and an ARDOUR::framepost_t (int64_t). For convenience these both get converted to long double. However, the functions are often called with very large values (ARDOUR::max_framepos). When this happens, rounding and precision errors can cause overflow issues. This is an attempt to alleviate that problem. Not sure if it's strictly necessary to accommodate negative values - but I'm assuming these could happen if 'speed' was negative (reverse play?)
This is the reason why 'Select All Objects' (and similar functionality) don't work for some users.
nick_m [Wed, 26 Aug 2015 16:20:43 +0000 (02:20 +1000)]
Allow creation of region gain points by clicking on a line.
- Also fixes new AutomationLine points having huge offsets
on creation via line click (window vs canvas event sample).
Robin Gareus [Tue, 25 Aug 2015 01:48:54 +0000 (03:48 +0200)]
fix linked midi-regions on different tracks #6541
A somewhat hacky solution to address missing note-off events when a
linked midi-region is used on separate tracks at the same time.
see the source-code comment for further info.
Robin Gareus [Mon, 24 Aug 2015 23:09:41 +0000 (01:09 +0200)]
fix processor paste location - fixes #6536
Robin Gareus [Mon, 24 Aug 2015 01:35:41 +0000 (03:35 +0200)]
Exclude empty CC-params from "Show Existing Automation"
Robin Gareus [Mon, 24 Aug 2015 00:42:31 +0000 (02:42 +0200)]
Do not send non-automated MIDI-CCs on locate.
If a "CC" automation lane was visible at least once, a Control Object
is created and henceforth saved with the session:
<Object id="automation TrackID TYPE" ../>
It is currently not possible to remove this object. (Automation > clear
will only zero all events, but not remove the Control itself.
The bug:
After showing a MIDI-CC lane at least once Events are sent for this CC.
If there is no corresponding value in the .mid, it will be zero after
session reload.
see also
7e2c8ac
Still ToDo: "Show existing automation" shows the lane even if there
are no values nor any automation at all for the given CC.
Robin Gareus [Sun, 23 Aug 2015 22:29:54 +0000 (00:29 +0200)]
allow file-browser in generic-plugin-GUI to expand.
Robin Gareus [Sun, 23 Aug 2015 17:50:04 +0000 (19:50 +0200)]
fix mixer-strip input button update
Robin Gareus [Sat, 22 Aug 2015 22:00:19 +0000 (00:00 +0200)]
more python2/3 compat
Len Ovens [Sat, 22 Aug 2015 15:19:51 +0000 (08:19 -0700)]
Add MCP device files for extender use.
Robin Gareus [Sat, 22 Aug 2015 14:37:08 +0000 (16:37 +0200)]
Fix auditioner underrun when seeking.
prevents "disk too slow" message when seeking in the auditioner.
Robin Gareus [Sat, 22 Aug 2015 02:33:51 +0000 (04:33 +0200)]
fix some compiler warnings (float/double)
Robin Gareus [Sat, 22 Aug 2015 02:32:14 +0000 (04:32 +0200)]
Add 100% shuttle controls option - closes #6537
Robin Gareus [Fri, 21 Aug 2015 14:34:50 +0000 (16:34 +0200)]
support the young serpents
Robin Gareus [Thu, 20 Aug 2015 20:27:35 +0000 (22:27 +0200)]
clear out some SessionHandleRef's on close.
Robin Gareus [Thu, 20 Aug 2015 01:38:22 +0000 (03:38 +0200)]
potential fix for #6515 - stall/crash during route deletion
introduced in
4.1-78-g11e371c
Robin Gareus [Thu, 20 Aug 2015 01:01:51 +0000 (03:01 +0200)]
clear waveform cache when shape changes - fixes #6525
Robin Gareus [Thu, 20 Aug 2015 00:27:24 +0000 (02:27 +0200)]
fix typo in prev commit
Robin Gareus [Thu, 20 Aug 2015 00:24:27 +0000 (02:24 +0200)]
fix "locked" + "locked to video" bug.
previously if some audio region was locked and locked to video,
the audio-region always stayed put and the video could only be
moved forward.
TODO: add an "unlock all" option.
Robin Gareus [Wed, 19 Aug 2015 22:19:06 +0000 (00:19 +0200)]
save/load generic-midi motorized setting - fixes #5296
Ben Loftis [Wed, 19 Aug 2015 19:53:35 +0000 (14:53 -0500)]
Add missing actions from MB2 for Mike:
Set-Loop-Start/End-From-Edit-Point
Set-Punch-Start/End-From-Edit-Point
Robin Gareus [Wed, 19 Aug 2015 11:49:30 +0000 (13:49 +0200)]
provisional processor control-box tweaks - possible fix for #6519
ControlBoxes are created/destroyed regularly (plugin re-order,
track selection -> Editor Mixer,...).
Properly disconnect the timer signal in the dtor and skip updateing the
tooltip unnecessarily (duplicate calls, Changed & Timer).
This should really be undone, the timer needs to be removed and Changed() used throughout.
Tim Mayberry [Wed, 19 Aug 2015 03:52:23 +0000 (13:52 +1000)]
Fix undo/redo when changing fade out length
This may fix bug #6518 or there may be more issues to be found
Tim Mayberry [Wed, 19 Aug 2015 03:45:01 +0000 (13:45 +1000)]
Add undo history related debug output for debugging Undo/Redo issues
Tim Mayberry [Wed, 19 Aug 2015 03:41:19 +0000 (13:41 +1000)]
Add PBD::DebugBit for debugging issues with undo history
Robin Gareus [Wed, 19 Aug 2015 02:09:22 +0000 (04:09 +0200)]
fix error-level
Robin Gareus [Wed, 19 Aug 2015 02:07:39 +0000 (04:07 +0200)]
code consistency and hints for static analysis
Tim Mayberry [Tue, 18 Aug 2015 04:44:53 +0000 (14:44 +1000)]
Change return type and name of get_win_special_folder
Rename it get_win_special_folder_path to indicate what it is returning
Move documentation for the function into the header and use doxygen style
comments.
Fixes a couple of memory leaks in ArdourVideoToolPaths class although it looks
as if there are more.
Tim Mayberry [Tue, 18 Aug 2015 04:04:21 +0000 (14:04 +1000)]
Add utility function to get windows packaging directory to avoid memory leaks
There were a few other small leaks in pbd and evoral test code but I didn't
bother changing them. Perhaps this function would be better off in PBD:: so it
can be used everywhere.
Tim Mayberry [Tue, 18 Aug 2015 03:37:25 +0000 (13:37 +1000)]
Remove unused function in bundle_env_mingw.cc
ARDOUR::ardour_dll_directory() has been used instead for some time
Tim Mayberry [Wed, 9 Jul 2014 01:03:21 +0000 (11:03 +1000)]
Fix Searchpath::operator+ to return by value rather than reference and not modify *this
ladspa_search_path was the only function using this API and it is unaffected by
the change
Tim Mayberry [Tue, 18 Aug 2015 01:02:34 +0000 (11:02 +1000)]
Fix crash when clicking on tempo or meter in main clock to edit with no Session
Tim Mayberry [Mon, 17 Aug 2015 14:04:35 +0000 (00:04 +1000)]
Change interface to reset click sounds to default in Preferences
It is not perfect but it should fix bug #6160
Tim Mayberry [Mon, 17 Aug 2015 11:37:06 +0000 (21:37 +1000)]
Install cursor hotspot file with --dist-target=mingw
The extra cursor files must be copied in an external packaging script for now
until an easy way to get waf to overwrite the files is found
Tim Mayberry [Mon, 17 Aug 2015 12:01:20 +0000 (22:01 +1000)]
Remove duplicate code in wscript after merge
Robin Gareus [Sun, 16 Aug 2015 22:10:36 +0000 (00:10 +0200)]
NOOP, remove trailing whitespace
Robin Gareus [Sun, 16 Aug 2015 22:09:33 +0000 (00:09 +0200)]
don't create unneeded dirs in linux bundle
Robin Gareus [Sun, 16 Aug 2015 22:07:32 +0000 (00:07 +0200)]
update comment regarding lv2 buffersizes
Robin Gareus [Sun, 16 Aug 2015 22:06:34 +0000 (00:06 +0200)]
only copy lv2core .ttl (exclude headers) to bundle
Guy Sherman [Sun, 16 Aug 2015 16:01:28 +0000 (18:01 +0200)]
Tweaked build and run for windows
Quotes were appearing around the version number. Modified wscript to
remove quotes from VERSION and PROGRAM_VERSION.
One of the places windows looks for DLLs is in directories
listed in PATH. A new file called ardev-win which sets up the
contents of PATH and LD_LIBRARY_PATH as required.
John Emmas [Sun, 16 Aug 2015 12:14:54 +0000 (13:14 +0100)]
Add '_xgetbv()' for MSVC-9 and earlier
Robin Gareus [Sun, 16 Aug 2015 01:45:45 +0000 (03:45 +0200)]
compat for old sessions with missing plugins (+doc)
Robin Gareus [Sat, 15 Aug 2015 19:29:19 +0000 (21:29 +0200)]
rework processor box: handle n/a plugins
Robin Gareus [Sat, 15 Aug 2015 18:49:52 +0000 (20:49 +0200)]
prepare UI for missing plugins
Robin Gareus [Sat, 15 Aug 2015 18:20:45 +0000 (20:20 +0200)]
Update Route to handle UnknownProcessors as Stubs.
Robin Gareus [Sat, 15 Aug 2015 18:19:30 +0000 (20:19 +0200)]
implement stub UnknownProcessor
Robin Gareus [Sat, 15 Aug 2015 17:58:37 +0000 (19:58 +0200)]
fix a typo
Robin Gareus [Sat, 15 Aug 2015 17:58:04 +0000 (19:58 +0200)]
save [actual] plugin i/o-configuration
for use with placeholder stub in case the plugin becomes n/a.
Robin Gareus [Sat, 15 Aug 2015 03:13:14 +0000 (05:13 +0200)]
cont'd work on piano roll highlighting.