Steve Kennedy wrote:
> Unrelated, but any ideas on: -
> 
> gmake -f Makefile-plugins - plugins-cc
> gmake[1]: Entering directory `/home/steve/freeamp'
> c++ -I. -I. -I./config -DUNIX_LIBDIR=\"/usr/local/lib\" -Dsolaris -I./lib/gdbm -
> I./base/include -Iconfig -I./io/include -I./ui/include -I./lmc/include -I./base/
> unix/include -I./base/unix/solaris/include -I./io/soundcard/unix/solaris/include
>  -I./ui/lcd/include -I./ui/irman/include -I./lmc/xingmp3/include -I./lmc/cd/incl
> ude -I./plm/portable/pmp300/sba -I./lib/xml/include -I./lib/zlib/include -I./lib
> /unzip/include -I./io/cd/include -I./io/cd/unix/include -I./io/wavout/include -I
> ./lib/http/include -Wall -g -O2  -D_REENTRANT   -fPIC -c io/soundcard/unix/solar
> is/src/soundcardpmo.cpp -o io/soundcard/unix/solaris/src/soundcardpmo.o
> io/soundcard/unix/solaris/src/soundcardpmo.cpp: In function `class PhysicalMedia
> Output * Initialize(FAContext *)':
> io/soundcard/unix/solaris/src/soundcardpmo.cpp:50: cannot allocate an object of
> type `SoundCardPMO'
> io/soundcard/unix/solaris/src/soundcardpmo.cpp:50:   since the following virtual
>  functions are abstract:
> io/include/pmo.h:75:    void PhysicalMediaOutput::GetVolume(int32 &, int32 &)
> io/include/pmo.h:76:    void PhysicalMediaOutput::SetVolume(int, int)
> gmake[1]: *** [io/soundcard/unix/solaris/src/soundcardpmo.o] Error 1
> gmake[1]: Leaving directory `/home/steve/freeamp

I don't have a solaris machine with me, but a quick look at
io/soundcard/unix/solaris/soundcardpmo.cpp suggests that

  1)PMO::GetVolume and PMO::SetVolume changed the interface recently,
    so the old GetVolume/SetVolume implementations are not recognized as
    inherited virtual methods. They are abstract methods in PMO.
  2)The file got somehow polluted, it says "PMO::GetPrefInt32(kVolumePref,
    and such.

I had the same problem with the beos soundcardpmo.cpp. The solution is
to implement the methods with the correct interface. They should look like,

void
SoundcardPMO::GetVolume(int32 &left, int32 &right)
{
        // fill the volume levels in left and right.
}

void
SoundcardPMO::SetVolume(int32 left, int32 right)
{
}

--
Hiromasa Kato
[EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev

Reply via email to