[ardour-users] Large File Problem

Jesse Chappell jesse at essej.net
Sun Dec 11 19:04:45 PST 2005


On 12/11/05, Paul Davis <paul at linuxaudiosystems.com> wrote:
> On Sun, 2005-12-11 at 15:47 -0700, Neil Nelson wrote:
> > Paul,
> >
> > That clarifies things quite well.
> >
> > If it is not too difficult to convert to RIFF/WAV64 perhaps I could give
> > it a try. You very likely have an idea of how to go about it.
>
> the actual code is likely going to be trivial. its really just a change
> in the type of one header variable.
>
> but the overall integration into the existing filesource.cc code is
> probably not so straightforward. its not something that i can get my
> head around while working on the gtk2 port, but maybe jesse or somebody
> else might offer some ideas.

I recently added support for RIFX (big endian wavs) so ardour sessions
are interoperable between big and little endian machines.  The changes
to filesource.cc for that were pretty straightforward.

Adding in simultaneous W64 support for our native filesource would be
a little more complex, but doable.  The reason we prefer to use
filesource for our native files (as opposed to sndfilesource which
uses libsndfile) is due to our use of pread() which allows us to read
directly from specific frames in the file simultaneously (this may be
an illegal assumption, we'll see).

I think it it very important that we support > 2GB native audio files.
 However, even with W64 as a native format keep in mind that currently
JACK's transport frames unit is an unsigned 32bit integer, so you'll
hit the end of time in about 24 hours at 48kHz, and with a filesize of
16GB (32 bit float samples).  In JACK v2 we expect to use a 64bit int
for jack's framecount which will lift that restriction.

I can implement the W64 format if you don't have the time or
inclination, but we'd be happy to accept a patch adding support to
filesource.{h,cc} if you do.  For best developer interaction feel free
to join the #ardour IRC channel on irc.freenode.net  and also future
emails should probably be directed to the ardour-dev mailing list.

jlc



More information about the Ardour-Users mailing list