Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Page 2 of 2 < 1 2
Topic Options
#345664 - 11/06/2011 23:07 Re: Squeezeslave running on Empeg [Re: altman]
presslab
journeyman

Registered: 29/07/2008
Posts: 73
Loc: North Bay, CA
Thanks! It's working now. I've only tested with moderate bitrate MP3s but it sounds fine.

Next I need to get the blue wire (amp remote) turned on and use the mixer to set the volume. I assume the blue wire is some GPIO pin but I need to figure out how to get to it from user space. I've seen some code for the volume control; that looks easy enough.

Top
#345665 - 12/06/2011 02:16 Re: Squeezeslave running on Empeg [Re: presslab]
presslab
journeyman

Registered: 29/07/2008
Posts: 73
Loc: North Bay, CA
Is it possible the display on/off also controls the blue wire? I see some stuff in the FAQ that seems to indicate there is some connection there.

For right now I have the display off because I don't yet have the code for it and I don't want it to burn in. Maybe I will try blanking the screen but leaving the display on.

edit: Ah-ha, yes that's it. The display power is 'tied' to the blue wire. Now if I could figure out the volume. It looks like /dev/mixer supports the standard ioctl MIXER_WRITE(SOUND_MIXER_VOLUME) so I'm not sure why it's not working.


Edited by presslab (12/06/2011 03:58)

Top
#345769 - 16/06/2011 14:25 Re: Squeezeslave running on Empeg [Re: presslab]
presslab
journeyman

Registered: 29/07/2008
Posts: 73
Loc: North Bay, CA
I've got the mixer working, Squeezeslave was trying to set the PCM volume instead of the master volume.

Playing a ~192kbit VBR MP3 consumes 20-40% of the CPU. I'm not sure if this is normal or not, but at least it seems like things are not on the verge of disaster. There is a stutter when changing tracks which I can get rid of with a bit of a delay; I'd like to come up with a better solution. I've tested Ogg Vorbis and FLAC and those are working too.

Now I'm working on the button input and I think I've got that figured out using /dev/ir. Also I need to get the player to shut down when the accessory power goes away, and /dev/empeg_power seems to be the trick to that one.

Top
#345852 - 20/06/2011 14:40 Re: Squeezeslave running on Empeg [Re: presslab]
presslab
journeyman

Registered: 29/07/2008
Posts: 73
Loc: North Bay, CA
The front panel buttons/knob are working pretty good now. It seems like the knob has a bit too aggressive debounce on it, as spinning fast seems to drop out. It's understandable though with the mechanical rotary encoder, it's just that the squeezeboxserver has some velocity sensitive stuff that's pretty nice but if I try to get it to kick in the knob is holding me back.

Next up is the DSP equalizer. I've figured out how to read/write it, but I can't find information on how to calculate the constants. I've searched both the 7705 datasheet and user guide but it doesn't seem to have these. I can kind of figure out how to stuff the freq, Q, and gain into word1 and word2 but I don't know how to calculate the actual constants.

Top
#345867 - 20/06/2011 18:47 Re: Squeezeslave running on Empeg [Re: presslab]
Roger
carpal tunnel

Registered: 18/01/2000
Posts: 5683
Loc: London, UK
Originally Posted By: presslab
but I can't find information on how to calculate the constants. I've searched both the 7705 datasheet and user guide but it doesn't seem to have these. I can kind of figure out how to stuff the freq, Q, and gain into word1 and word2 but I don't know how to calculate the actual constants.


Yeah. IIRC, the 7705 came with a piece of software so that you could calculate preset EQs, and then your software would just push the constants into the chip. I think we reverse-engineered the algorithm (or found a private data sheet) so that we could implement the configurable EQ in the empeg.

Top
#345999 - 27/06/2011 03:12 Re: Squeezeslave running on Empeg [Re: Roger]
presslab
journeyman

Registered: 29/07/2008
Posts: 73
Loc: North Bay, CA
For now I'm just saving the EQ data after running 'player' to a file and reloading it on startup. Not exactly user friendly but it works.

It's pretty far along now!


Attachments
2011-06-26 10.48.45.jpg



Top
#346005 - 27/06/2011 08:52 Re: Squeezeslave running on Empeg [Re: presslab]
Cris
pooh-bah

Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
This looks great! Are you thinking of making it available once you've got it fully working ???

Cheers

Cris

Top
#346009 - 27/06/2011 13:17 Re: Squeezeslave running on Empeg [Re: Cris]
presslab
journeyman

Registered: 29/07/2008
Posts: 73
Loc: North Bay, CA
Yes! I'm not sure if it will be part of Squeezeslave or a branch. I hacked apart portaudio pretty good too, I dunno how to make that "production" quality but at the least someone with a toolchain will be able to download the source/patch and make it themselves.

What the heck, in case I die tomorrow I've attached a diff from Squeezeslave r261.


Attachments
062711-empeg-r261-squeezeslave.diff (479 downloads)
Description: Squeezeslave for empeg diff



Top
#346014 - 27/06/2011 14:46 Re: Squeezeslave running on Empeg [Re: presslab]
Cris
pooh-bah

Registered: 06/02/2002
Posts: 1904
Loc: Leeds, UK
Awesome !!!

I'm a total tool at stuff like this, can someone clever explain how I can get this working on my empeg please smile

Cheers

Cris

Top
#346020 - 27/06/2011 16:19 Re: Squeezeslave running on Empeg [Re: Cris]
presslab
journeyman

Registered: 29/07/2008
Posts: 73
Loc: North Bay, CA
You'll need a crosscompiling toolchain and the development version of the os; it's not really trivial. When I get it to a stable place I'll try to make a *.upgrade file, might be a while though.

Top
#346649 - 31/07/2011 22:17 Re: Squeezeslave running on Empeg [Re: presslab]
presslab
journeyman

Registered: 29/07/2008
Posts: 73
Loc: North Bay, CA
I've been running it for a while, it seems to work okay. Here are the files for download, the instructions are contained in the description for each file. Eventually I should do some instructions in the Wiki, but this should be enough to get going.

This only works with the Linux Squeezeboxserver as the Windows one is precompiled so it can't be patched.

http://code.google.com/p/squeezeslave/downloads/detail?name=squeezeslave-mk2-r272.upgrade
http://code.google.com/p/squeezeslave/downloads/detail?name=squeezeslave-mk2-sbs.patch

Let me know how it works for you!

Top
#346655 - 01/08/2011 06:48 Re: Squeezeslave running on Empeg [Re: presslab]
andy
carpal tunnel

Registered: 10/06/1999
Posts: 5916
Loc: Wivenhoe, Essex, UK
The Windows version can be patched, just like the Linux one. The difference is that you need to download the Perl source separately and change the startup options so that it runs from the source rather than from the pre-compiled Perl that it ships with.

Looking at the patch, it should work fine on the Windows version of SBS.


Edited by andy (01/08/2011 06:50)
_________________________
Remind me to change my signature to something more interesting someday

Top
#346663 - 01/08/2011 12:23 Re: Squeezeslave running on Empeg [Re: andy]
presslab
journeyman

Registered: 29/07/2008
Posts: 73
Loc: North Bay, CA
That's good to hear Andy. I've never actually used the Windows version, I just took a quick look to see if the patch would work and I didn't see the source anywhere.

I would guess that after the server loads into RAM the performance should be the same regardless of whether it was precompiled or not.

Top
#360990 - 13/02/2014 21:32 Re: Squeezeslave running on Empeg [Re: presslab]
presslab
journeyman

Registered: 29/07/2008
Posts: 73
Loc: North Bay, CA
I've posted an update to my thread on the squeezebox forum.

http://forums.slimdevices.com/showthread.php?89844-Vanputer&p=771117#post771117

Top
Page 2 of 2 < 1 2