Hi

SndFile has a function to retrieve SampleV* data, which holds audio peak
and rms information.
This data is cached at SndFile::readCache and returned by a version of
SndFile::read. (which should be IMHO, and will be, renamed to
::readPeakRms or similar.).

this ::read function, however, may bypass the cache, namely when the
requested accuracy is finer than cacheMag. In this case, MusE will read
from the file directly and calculate the information to return on-the-fly.

This creates a problem for me: I rely on the fact that SndFile is only
seek()ed by me, not by anything outside my scope. (AudioStreams have a
*private* SndFile, nobody has access to this file).
However, the AudioStreams shall be able to provide for such a peak-map, too.

My plan is to just use and "stretch" the peak map of the SndFiles
accordingly. This, however, might result in "overstretching" so that the
requested accuracy is finer than cacheMag. How should i handle this?


For the arranger, this won't be much of a problem, we can easily
interpolate there.

For the wave editor, i'm not so confident because it allows extreme zoom.

Should I display the output of the AudioStream (that would involve
creating a copy of the stretcher/sampling rate converter used, creating
a copy of the SndFile (so i can seek independently))? Problem is, at
extreme zoom settings this will not resemble the actual file any more,
but the output of the stretcher. Advantage is, that the user can see
what will be played. Until he changes the tempo...

Or rather display the output of the SndFile, just stretched accordingly?
That would only involve a (pretty cheap) copy of the SndFile (so i can
seek independently). However, this will not resemble what is actually
played, but rather the SndFile itself. Advantage is that the user gets a
tempo-independent view on the SndFile.


I've a slight tendency towards displaying the SndFile's output, because
it's cheaper, and *if* i needed this accurate display, then only for
doing sample-exact cutting. And i would want this to be tempo-independent.

What's your opinion?

Greetings
flo



Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer

Reply via email to