Steve Kennedy wrote:
> I changed the source files above (only adding the int32 stuff)
<snip>
> 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:74:    void PhysicalMediaOutput::GetVolume(int32 &, int32 &)
> io/include/pmo.h:75:    void PhysicalMediaOutput::SetVolume(int, int)
> io/soundcard/unix/solaris/src/soundcardpmo.cpp: At top level:
> io/soundcard/unix/solaris/src/soundcardpmo.cpp:103: prototype for `void SoundCar
> dPMO::SetVolume(int, int)' does not match any in class `SoundCardPMO'
> io/soundcard/unix/solaris/include/soundcardpmo.h:68: candidate is: void SoundCar
> dPMO::SetVolume(int)
> io/soundcard/unix/solaris/src/soundcardpmo.cpp: In method `void SoundCardPMO::Se
> tVolume(int, int)':
> io/soundcard/unix/solaris/src/soundcardpmo.cpp:108: `v' undeclared (first use th
> is function)
> io/soundcard/unix/solaris/src/soundcardpmo.cpp:108: (Each undeclared identifier
> is reported only once
> io/soundcard/unix/solaris/src/soundcardpmo.cpp:108: for each function it appears
>  in.)
> io/soundcard/unix/solaris/src/soundcardpmo.cpp: At top level:
> io/soundcard/unix/solaris/src/soundcardpmo.cpp:115: prototype for `void SoundCar
> dPMO::GetVolume(int32 &, int32 &)' does not match any in class `SoundCardPMO'
> io/soundcard/unix/solaris/include/soundcardpmo.h:67: candidate is: int32 SoundCa
> rdPMO::GetVolume()
> io/soundcard/unix/solaris/src/soundcardpmo.cpp: In method `void SoundCardPMO::Ge
> tVolume(int32 &, int32 &)':
> io/soundcard/unix/solaris/src/soundcardpmo.cpp:125: `return' with a value, in fu
> nction returning void
> gmake[1]: *** [io/soundcard/unix/solaris/src/soundcardpmo.o] Error 1
> gmake[1]: Leaving directory `/home/steve/freeamp'
> gmake: *** [plugins-cc] Error 2

You also need to update the header file
io/soundcard/unix/solaris/include/soundcardpmo.h, too.

I don't know how you control stereo balance on solaris.
Completely untested, but what about:

diff -r1.7 soundcardpmo.h
67,68c67,68
<           int32  GetVolume(void);
<           void   SetVolume(int32);
---
>           void   GetVolume(int32 &left, int32 &right);
>           void   SetVolume(int32 left, int32 right);

diff -r1.18 soundcardpmo.cpp
102c102
< void SoundCardPMO::SetPrefInt32(kVolumePref, int32 v)
---
> void SoundCardPMO::SetVolume(int32 left, int32 right)
108c108
<     ainfo.play.gain = (v*255)/100;
---
>     ainfo.play.gain = ((left + right)/2*255)/100;
114c114
< int32 SoundCardPMO::GetPrefInt32(kVolumePref, )
---
> void SoundCardPMO::GetVolume(int32 &left, int32 &right)
125c125
<   return volume;
---
>   left = right = volume;

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

Reply via email to