NO-OP; Backport changes from Mixbus branch

This commit is contained in:
Robin Gareus 2016-11-27 22:54:05 +01:00
parent 5ec21347a9
commit 1de584961a
6 changed files with 42 additions and 2 deletions

View File

@ -2174,6 +2174,22 @@ AudioDiskstream::set_align_style_from_io ()
}
}
#ifdef MIXBUS
// compensate for latency when bouncing from master or mixbus.
// we need to use "ExistingMaterial" to pick up the master bus' latency
// see also Route::direct_feeds_according_to_reality
IOVector ios;
ios.push_back (_io);
if (_session.master_out() && ios.fed_by (_session.master_out()->output())) {
have_physical = true;
}
for (uint32_t n = 0; n < NUM_MIXBUSES && !have_physical; ++n) {
if (_session.get_mixbus (n) && ios.fed_by (_session.get_mixbus(n)->output())) {
have_physical = true;
}
}
#endif
if (have_physical) {
set_align_style (ExistingMaterial);
} else {

View File

@ -260,6 +260,16 @@ Diskstream::set_capture_offset ()
_capture_offset = 0;
break;
}
#ifdef MIXBUS
framecnt_t port_offset;
if (_track->mixbus_internal_bounce (port_offset)) {
/* _capture_offset may become negative, but the sum
* _capture_offset + existing_material_offset
* will be postive.
*/
_capture_offset -= port_offset;
}
#endif
DEBUG_TRACE (DEBUG::CaptureAlignment, string_compose ("%1: using IO latency, capture offset set to %2 with style = %3\n", name(), _capture_offset, enum_2_string (_alignment_style)));
}

View File

@ -27,6 +27,7 @@
#include "ardour/playlist.h"
#include "ardour/port.h"
#include "ardour/processor.h"
#include "ardour/profile.h"
#include "ardour/record_enable_control.h"
#include "ardour/record_safe_control.h"
#include "ardour/route_group_specialized.h"
@ -365,7 +366,8 @@ Track::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame,
/* no outputs? nothing to do ... what happens if we have sends etc. ? */
if (n_outputs().n_total() == 0) {
if (n_outputs().n_total() == 0 && !ARDOUR::Profile->get_mixbus()) {
//Note: Mixbus has its own output mechanism, so we should operate even if no explicit outputs are assigned
return 0;
}

View File

@ -320,7 +320,7 @@ MackieControlProtocol::get_sorted_stripables()
break;
case Auxes: // in ardour, for now aux and buss are same. for mixbus, "Busses" are mixbuses, "Auxes" are ardour buses
#ifdef MIXBUS
if (!s->mixbus() && !is_track() && !s->presentation_info().hidden())
if (!s->mixbus() && !is_track(s) && !s->presentation_info().hidden())
#else
if (!is_track(s) && !s->presentation_info().hidden())
#endif

View File

@ -934,6 +934,9 @@ MackieControlProtocol::miditracks_release (Mackie::Button&)
Mackie::LedState
MackieControlProtocol::inputs_press (Mackie::Button&)
{
#ifdef MIXBUS
set_view_mode (Mixer); //in Mixbus, this is the same as Global View (avoid dead buttons)
#endif
return none;
}
Mackie::LedState
@ -955,6 +958,9 @@ MackieControlProtocol::audiotracks_release (Mackie::Button&)
Mackie::LedState
MackieControlProtocol::audioinstruments_press (Mackie::Button& b)
{
#ifdef MIXBUS
set_view_mode (MidiTracks); //in Mixbus, we do the same thing as MIDI Tracks ( aviod dead buttons )
#endif
return none;
}

View File

@ -1341,6 +1341,12 @@ Strip::vpot_mode_string ()
default:
break;
}
#ifdef MIXBUS
//"None" mode, by definition (currently) shows the pan control above the fader.
//Mixbus controllers are created from a LADSPA so they don't have ac->desc().type
//For the forseeable future, we will just return "Pan" here.
return "Pan";
#endif
return "???";
}