Hi all,

I reported bug 1358 some time ago.

I browsed sound/JackDriver.cpp and found in line 2087 and 88:

  pluginLatency +=
    m_instrumentMixer->getPluginLatency((unsigned int) * connections.begin());

I guessed this could be the latency in subgroups. So I browsed around
trying to understand the data structures, failing. But I noticed an
excessive use of ++j in for-loops instead the C-style j++. So loops
don't start with a zero offset. Bug 1358 is an off-by-one bug, so I
tried

  pluginLatency +=
    m_instrumentMixer->getPluginLatency((unsigned int) * connections.begin() - 
1);

and it looks like the bug has been gone.

Is there anyone with some knowledge of the data structures and
connections.begin() to comment?

Best regards
Holger (who knows some C but no C++)

P.S.
  I found another WTF in JackDriver.cpp:

  2102     m_maxInstrumentLatency = maxLatency;
  2103     m_directMasterAudioInstruments = directMasterAudioInstruments;
  2104     m_directMasterSynthInstruments = directMasterSynthInstruments;
  2105     m_maxInstrumentLatency = maxLatency;

  Maybe relics of a slight patch-accident ages ago.

------------------------------------------------------------------------------
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