On 04/19/2013 11:28 AM, Holger Marzen wrote:
> So I'd say that getPluginLatency() and the data structures are ok, but
> we have an error in connections.begin(). Of course it should be fixed
> there instead subtracting 1 after its invocation.
>
> Unfortunately due to my lack of C++ know how I can't find the place
> where it's defined.

   In this case, begin() is from std::vector, so there probably isn't a 
bug in it.  (Note that this code only ever uses the first entry in the 
connections container (begin()).)

   I actually looked at the code for once!  Here's the path to follow to 
find out where begin() is coming from:

connections is defined on line 2026 of JackDriver.cpp as a 
MappedObjectValueList.

MappedObjectValueList is defined on line 39 of MappedCommon.h as:
typedef std::vector<MappedObjectValue> MappedObjectValueList;

   Your "minus one" might be acting as a conversion from one kind of ID 
to another that is indeed fixing the problem.  It appears that there 
might be a disagreement between the numbers returned by 
MappedAudioFader::getConnections() and the numbers expected by 
AudioInstrumentMixer::getPluginLatency().  Close examination of those 
two functions should reveal the problem.

Ted.

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to