Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.
first of all thanks for this great application.
I use a mediacenter software on my HTPC called "MediaPortal" that is written in c# and offers a flexible plugin API. I would like to program a plugin for this software that acts like shairport4w but uses the MediaPortal player to play the audio (and hopefully later videos and display photos ;)).
I am afraid that the hardcore low level C is a little too much for me, so my question is do you have any hints, where to start or if there is a DLL for .net available somewhere providing this functionality?
Thanks a lot,
Mark, I am sorry there's no DLL for reuse in an another project. But the code is pretty straight forward … not too much hardcore. Switch the project settings to DLL output and search for "PutValueToRegistry" to see what is to be made configurable from a different GUI.
I'm a c# guy with small C++ background.
Before creating a DLL I want to compile your standard code. I installed VS2010, downloaded ATL and openssl includes, so the "missing file" compile errors are gone.
Now I have the following error:
1>---- Build started: Project: Shairport4w, Configuration: Debug Win32 ----
1>Build started 19/07/2011 23:20:02.
1> Touching "Debug\Shairport4w.unsuccessfulbuild".
1>LINK : fatal error LNK1104: cannot open file 'libeay32MTd.lib'
1>Time Elapsed 00:00:04.91
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Do you have any advice on this?
I compiled shairport4w for the first time tonight too. By googling libeay32MTd.lib I found out it was one of the libraries for openssl. What you need to do is include the location of your openssl library files in your vcproj.
Project >> Properties >> Configuration Properties >> Linker >> General >> Additional Library Directories
And add the location, for me it was "E:\OpenSSL-Win32\lib\VC" You might need to download the win32 binary build if you only downloaded the source for openssl.
Shairport4w project settings expects OpenSSL to be here: ../OpenSSL-Win32/lib/VC/static
Downloaded from the net complete libraries -> OK. After learning VC++ start understanding your great program, and tried to stream the data through BASS. And it works, woehoe.
Next step, learning further VC++ and try to create a DLL so I can import it in my C# proggy.
Frank, do you think it is finally possible to define on one PC multiple speakers or run you app multiple times? What do you think? If not, why?
Final objective = Each instance/speaker streams data to a different sound card or sound card channel.
You can start multiple instances. Check out the "/Config:" command line option. E.g.
But Shairport4w can't handle multiple soundcards, because it relies on libao. You will have to use the sound redirection feature and manage the streams yourself.