[linux-audio-dev] light C++ set for WAV

Paul Coccoli pcoccoli at gmail.com
Wed Jul 26 18:03:40 UTC 2006


On 7/26/06, Erik de Castro Lopo <mle+la at mega-nerd.com> wrote:
> Taybin Rutkin wrote:
>
> > I prefer the unix-y open_read().  I don't think method names should
> > ever start with a capital, unless it's the ctor or dtor.
>
> I'm actually tending towards openRead().
>

I vote for Java (SmallTalk?) style too.

> > I noticed that the constructor SndFile::SndFile (const char *path,
> > int mode, SF_INFO *sfinfo)
> > isn't declared in the class.  Also, since this constructor can fail
> > if sf_open() fails up, it should throw an exception.  Maybe
> > containing the results of sf_strerror().
> >
> > Something like
> >
> > SndFile::SndFile (const char *path, int mode, SF_INFO *sfinfo)
> > {
> >      psf = sf_open (path, mode, sfinfo) ;
> >      if (!psf) {
> >          throw sf_error(psf);
> >      }
> > }
>
> Good tip, thanks.
>
> Erik
> --
> +-----------------------------------------------------------+
>   Erik de Castro Lopo
> +-----------------------------------------------------------+
> "If you think C++ is not overly complicated, just what is a
> protected abstract virtual base pure virtual private destructor
> and when was the last time you needed one?" -- Tom Cargill
>

I wouldn't bother with openRead/Write; just pass the mode in to open
like in the ctor.

I also second keeping the implementation entirely in the header (if it
really is a light wrapper) and put "inline" in front of each method
definition.

SndFile::strerror() should maybe take an int arg (the value returned
by SndFile::error()) and be declared as a static method?



More information about the Linux-audio-dev mailing list