Hi Tim, i saw that MusE passes a bool doSeek with the fetchData function, and to WaveEvent::getAudio.
however, this doSeek bool is not used currently. Only the deactivated,
not finished, code you wrote for sampling rate conversion would use this
doSeek.
However, I think I have found a flaw there: doSeek is set if and only if
the song is seeked. However, if you move a wave event or the wave part
containing it, the Converters/Audio sources/Whatever do need to seek as
well!
Is that handled and I just didn't see it? Or would this go wrong here?
I think we have a large problem with random-access in MusE: whole MusE
tries to randomly-access all kinds of audio- or MIDI streams, while this
actually is not correct. Streams shall be seek()ed seldomly, and usually
only advanced, like advanceStreamAndGetSamplesFromIt(int nsamp);
Do you agree here?
I don't immediately see how one could *easily* (as in "easy and
understandable code", MusE is far too complex anyway; not as in "quick
hack") solve this problem:
i) all over MusE, add some bool partWasMoved; property which triggers a
doSeek in the end. But thats ugly,because it's not easy to understand
ii) just ignore doSeek completely, and let some logic decide whether we
want to seek or not. I.e., all streams offer functions for random
access, and keep around the current playing position. Whenever a
sample far away from the current playing position is requested, do
a seek, and when the requested sample is "near", just advance the
stream.
while i'd prefer fixing stuff instead of working around, I think that
unfortunately ii) will be the only way to go, if we want to get ready
this decade :/
What do you think?
Greetings,
flo
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with <2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________ Lmuse-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lmuse-developer
