13
0
Commit Graph

17514 Commits

Author SHA1 Message Date
e42f9d649b Refactor parts of PortAudioIO class into new method 2015-09-02 12:07:15 +10:00
c857008b93 Refactor part of PortAudioIO::pcm_setup into 2 new methods 2015-09-02 12:07:14 +10:00
41211c984c Make two private methods in PortAudioIO const 2015-09-02 12:07:14 +10:00
8e0e3fcdee Refactor part of PortAudioIO::pcm_setup into new method 2015-09-02 12:07:14 +10:00
58cfd00e5a Add utility method to PortAudioIO class to remove goto from pcm_setup 2015-09-02 12:07:14 +10:00
d6f7066e80 Remove apple specific fixes from PortaudioBackend now that it is windows only 2015-09-02 12:07:14 +10:00
dd93aec029 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)
2015-09-02 12:07:14 +10:00
519f97b91d Use two private utility functions in PortaudioIO class for default SR's and buffer sizes 2015-09-02 12:07:14 +10:00
cc7e97f296 Reindent and reformat switch statements in PortaudioBackend
This is more readable and consistent with the rest of the source files
2015-09-02 12:07:14 +10:00
71a1e9e90d 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)
2015-09-02 12:07:14 +10:00
ba4f685d2d Use a translated error message in PortaudioBackend when unable to open audio device 2015-09-02 12:07:14 +10:00
432e0073f6 Convert some error output to debug output in PortaudioBackend 2015-09-02 12:07:14 +10:00
9185978d2f Use translated error message in PortaudioBackend with failing to aquire RT perms 2015-09-02 12:07:14 +10:00
9d67d22e70 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
2015-09-02 12:07:14 +10:00
764df82e85 Add debug bit for AudioBackends for port related debug output 2015-09-02 12:07:14 +10:00
a272c50597 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.
2015-09-02 12:07:14 +10:00
201d91aedd Use PortaudioIO::get_current_host_api_type utility function in PortaudioIO class 2015-09-02 12:07:14 +10:00
c6c0654b5a Add Utility function to get host API type in PortaudioIO class 2015-09-02 12:07:14 +10:00
08d6dd153e Add "None" devices to PortaudioBackend
This allows for disabling either input or output, but not both
2015-09-02 12:07:14 +10:00
440e6cd591 Use AudioBackend standard device names for "Default" in PortaudioBackend 2015-09-02 12:07:14 +10:00
3a3d811e82 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.
2015-09-02 12:07:14 +10:00
5a5226dded Add StandardDevice enum to portaudio_io.h header 2015-09-02 12:07:14 +10:00
7537a992b3 Use translated error message in PortaudioBackend for audio device I/O error 2015-09-02 12:07:14 +10:00
07f3dae936 Use translated error message for failing to set thread priorities in PortaudioBackend 2015-09-02 12:07:14 +10:00
ee77a7a883 Use AudioBackend::get_standard_device_name for "None" midi device in PortaudioBackend 2015-09-02 12:07:14 +10:00
94f3e3029a 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.
2015-09-02 12:07:14 +10:00
451e35002c Use pretty name infrastructure to display MIDI device name 2015-09-02 12:07:14 +10:00
c6d6f038b4 handle waveform drawing thread shutdown 2015-09-02 01:46:31 +02:00
dc831e4d8b refine "recent" column headers 2015-09-01 23:17:38 +02:00
d467165927 Display column headers for "recent session"
Avoid confusion regarding "32bit"
2015-09-01 21:05:00 +02:00
e10e9ca77f handle GUIs of missing or disabled plugins 2015-09-01 13:28:33 +02:00
0370b1988d add option to disable or bypass plugins 2015-09-01 13:27:48 +02:00
531e71b485 Prepare option to disable Plugins completely
old behavior to only bypassed plugins is being renamed.
2015-09-01 13:26:31 +02:00
a1b387ad9a fix AU port count - NI Reaktor5 2015-09-01 12:45:59 +02:00
dca0e6fbe2 fix crash with missing .mid
assert in ARDOUR::MidiRegion::control() boost::shared_ptr<ARDOUR::MidiModel>::operator-> invalid ptr.
see http://pastebin.com/dTV10Zu6
2015-08-28 18:48:40 +02:00
b0147a7767 fix possible deadlock on session-close 2015-08-28 15:45:52 +02:00
b6f51b2497 coreaudio: re-classify port-errors as warnings 2015-08-28 15:41:33 +02:00
3a3d5c41be synchronous shutdown of process graph. 2015-08-28 15:39:06 +02:00
9458fce148 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.
2015-08-28 14:08:32 +02:00
20fb2bec75 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
2015-08-28 10:43:17 +10:00
f1fab06862 fix midi note de-select #6534 2015-08-28 02:25:48 +02:00
Mathias Buhr
83c5750f0b Fixes a double mutex unlock for Linux VSTs 2015-08-27 23:53:45 +02:00
43f3c0e0f2 clean-up previous commit 2015-08-27 10:13:35 -05:00
c734f82ff2 use program-name for internal ports 2015-08-27 16:50:09 +02:00
e2902a0b76 clarify midi-iterator comment 2015-08-27 14:43:28 +02:00
b3e9231a4e fix initial transform dialog display (override show_all) 2015-08-27 14:28:01 +02:00
ada32733c5 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.
2015-08-27 12:28:45 +01:00
nick_m
1963c3ff10 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).
2015-08-27 02:20:43 +10:00
1387e756de 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.
2015-08-25 03:48:54 +02:00
53d51ac406 fix processor paste location - fixes #6536 2015-08-25 01:09:41 +02:00