Age | Commit message (Collapse) | Author |
|
fixes loading a session with tracks that have more input-ports
than output-ports.
the problem:
input -ports are added first, when added, IO::ensure_port() emits
IOChange::ConfigurationChanged which in turn triggers the route to
allocate corresponding output ports.
Due to this callback the output-ports were created before the actual
output-port-configuration and plugin-configuration from the
session-state was parsed and set.
|
|
do not allow port-removal if the port would be re-added immediately
after that again because the main-delivery actually needs it.
As a side effect this prevents this crash:
* create a stereo-track, then remove one output
-> unhandled exception "AudioEngine::PortRegistrationFailure&"
The problem:
- the port is removed from the RCU ports list,
but Port::drop() (which calls jack_port_unregister) is only called
from the Port's destructor at some later time.
(because a reference to the port still exists elsewhere)
- the jack-port is not yet removed.
- meanwhile Delivery::configure_io comes along and notices that
there are more audio-buffers than ports and tries to re-register the port.
- but the port still exists in jack, so it fails and throws an exception
...which is not handled.
|
|
This reverts commits:
ca54ea2b462869bfd9254a493d073ca1e9ad4b8e.
9e87e058e26b87013e89ddf5d3b7358d50024d60.
|
|
|
|
|
|
|
|
|
|
Route::Auditioner. this has been the meaning of these terms for years now and it would be better to make it explicit
|
|
commit fdbae82077db53add90df7448a06869dac89acc6
Author: Paul Davis <paul@linuxaudiosystems.com>
Date: Wed Mar 27 21:45:28 2013 -0400
mammoth changes in basic signal flow, total redesign of MIDI channel filtering and more.
commit 59343a8283698e02bc0f622313b29e98f449e4c8
Author: Paul Davis <paul@linuxaudiosystems.com>
Date: Wed Mar 27 01:58:53 2013 -0400
initial working version after changes to MIDI channel filtering. may affect metering input too. testing not yet finished
this commit merges many deep changes in ardour's internal architecture,
combined with a total redesign of how MIDI channel filtering works.
data in a track used to flow from JACK port buffers to diskstream's ringbuffers
and was then copied from the ringbuffers into a BufferSet for use during
Route::process_output_buffers(). The butler thread would handle the movement of
data between the ringbuffers and disk.
with this commit, data now flows from JACK port buffers into the BufferSet used
for Route processing, and is copied from the BufferSet into the diskstream's
ringbuffers (the butler thread continues to handle interactions with disk as
usual).
this change allowed a dramatic consolidation of code and simplification of most
aspects of Track/Route::roll() and Track/Route::no_roll(). in particular, see
Route::fill_buffers_with_input() which now concisely describes how we move data
from JACK port buffers into the BufferSet for all Route types (including Tracks).
this work was initially motivated by changing MIDI channel filtering so that we
can process capture and playback independently. there is now a very clean
pathway for this - see MidiTrack::roll() (NOTE: This needs implementing in the
no-roll case too - a TODO item).
the channel selector for MIDI tracks has been moved out of the track header and
is now accessible via the context menu. more work is likely here, to make it
(more) obvious to the user when filtering is going on.
|
|
of piano roll whether rolling or not
git-svn-id: svn://localhost/ardour2/branches/3.0@13679 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
(#5079)
git-svn-id: svn://localhost/ardour2/branches/3.0@13542 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
in the GUI controlling RID, it gets a extremely large RID to prevent it showing up on a control surface (but ... for now ... is still visible in the other GUI, even if "sync order between mixer + editor" is enabled); change font in editor route list
git-svn-id: svn://localhost/ardour2/branches/3.0@13054 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
finished - write/touch passes do not correctly overwrite existing data because the semantics of ControlList::insert_iterator need clarification. more to follow
git-svn-id: svn://localhost/ardour2/branches/3.0@13038 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
between route sort order keys and remote control IDs
git-svn-id: svn://localhost/ardour2/branches/3.0@12962 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
mixer. this appears to work, but remote control IDs are not yet correct (frequently off by one because of the presence of the master bus in the editor)
git-svn-id: svn://localhost/ardour2/branches/3.0@12953 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
order keys. unless the user explicitly switches to UserOrdered, Route::_remote_control_id is an unallocated pointer, and Route::remote_control_id() simply returns a value based on the relevant order_key() value. Also, change the key used in the Route::order_keys std::map<> from a string to an enum, since there is no evidence that we are benefitting from the theoretical benefit of using a string. Generally tidy up allocation of order keys so that the master and monitor busses always get a "special" MixerSort key value, based on the MMC ID for master (already defined within Ardour), and all other tracks/busses start at zero. Syncing keys between editor and mixer will leave the MixerSort key for the master and monitor bus alone, reflecting the fact that we display these in their own distinct parts of the GUI and they are not orderable like other tracks or busses within the mixer window
git-svn-id: svn://localhost/ardour2/branches/3.0@12923 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
MIDNAME patch/preset/program names. still not done
git-svn-id: svn://localhost/ardour2/branches/3.0@12665 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
backend object
git-svn-id: svn://localhost/ardour2/branches/3.0@12652 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
the comments about the semantics of this, which do not preclude 0..N "instruments" in a single route
git-svn-id: svn://localhost/ardour2/branches/3.0@12027 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@11975 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
give a warning when attempting to freeze a track with sends/inserts/returns
git-svn-id: svn://localhost/ardour2/branches/3.0@11707 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@11704 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
pre-fader (#4660).
git-svn-id: svn://localhost/ardour2/branches/3.0@11387 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
disconnect, but still not really done because it doesn't get triggered for both ends of a disconnect
git-svn-id: svn://localhost/ardour2/branches/3.0@11353 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@11346 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
commit; separate numbering of aux sends, sends and listens to fix #3671 (still testing, but the assert failures are critical)
git-svn-id: svn://localhost/ardour2/branches/3.0@11263 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
needed. this is a big commit, and breakage is possible. it has been moderately tested. this commit also locks the remote control ID of the master bus to 318 and the monitor section (if any) to 319. the numbers are based on MIDI Machine Control limits
git-svn-id: svn://localhost/ardour2/branches/3.0@11256 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
table for the various different states. Should fix #4533.
git-svn-id: svn://localhost/ardour2/branches/3.0@11073 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@11066 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@11062 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@11005 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@10731 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
process_output_buffers; functionality to return
elsewhere.
git-svn-id: svn://localhost/ardour2/branches/3.0@10722 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
templates; it would be nice if we could set things up using
the Route's logic for setting names of its children, rather
than repeating the same logic in XML-land (#4303).
git-svn-id: svn://localhost/ardour2/branches/3.0@10655 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
that seems to have been a hangover from when _set_state
was called in constructors.
git-svn-id: svn://localhost/ardour2/branches/3.0@10654 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
processors (and also exclude the fader) (#4475).
git-svn-id: svn://localhost/ardour2/branches/3.0@10649 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
the metering point is set to something else and then
back to custom again (#4401).
git-svn-id: svn://localhost/ardour2/branches/3.0@10641 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
feedback, and preserve the route graph in the state
that it was in before the feedback was introduced. The
intent being to simplify the code, reduce the number of
areas of code which must consider feedback, and fix a
few bugs.
git-svn-id: svn://localhost/ardour2/branches/3.0@10510 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@10331 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@10323 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@10322 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@10302 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
removing propagation of session rec-enabled status through process chain and replacing it with call to Session::actively_recording() where necessary (may require a new RT event)
git-svn-id: svn://localhost/ardour2/branches/3.0@10265 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
opened; give a visual cue to indicate where a processor will be inserted. Kind of experimental.
git-svn-id: svn://localhost/ardour2/branches/3.0@10236 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
be virtual and do nothing for busses
git-svn-id: svn://localhost/ardour2/branches/3.0@10123 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@10091 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
git-svn-id: svn://localhost/ardour2/branches/3.0@10090 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
ensuring that the monitor feed is panned. required a few fixes along the way
git-svn-id: svn://localhost/ardour2/branches/3.0@9731 d708f5d6-7413-0410-9779-e7cbd77b26cf
|
|
remove pannable object from monitor bus after (re)creation from XML
git-svn-id: svn://localhost/ardour2/branches/3.0@9730 d708f5d6-7413-0410-9779-e7cbd77b26cf
|