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.
Log in to post a comment.