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.

Close

.net dll

2011-05-06
2013-02-18
  • Mark Gibson
    Mark Gibson
    2011-05-06

    Hey Frank,

    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.

     
  • Frank Friemel
    Frank Friemel
    2011-05-07

    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.

     
  • Koen
    Koen
    2011-07-19

    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>InitializeBuildStatus:
    1>  Touching "Debug\Shairport4w.unsuccessfulbuild".
    1>ClCompile:
    1>  stdafx.cpp
    1>  AboutDlg.cpp
    1>  alac.cpp
    1>  ao_wmm.cpp
    1>  ExtOptsDlg.cpp
    1>  hairtunes.cpp
    1>  MainDlg.cpp
    1>  Networking.cpp
    1>  Shairport4w.cpp
    1>LINK : fatal error LNK1104: cannot open file 'libeay32MTd.lib'
    1>
    1>Build FAILED.
    1>
    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?

     
  • DanLatimer
    DanLatimer
    2011-07-20

    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.

     
  • Frank Friemel
    Frank Friemel
    2011-07-21

    Shairport4w project settings expects OpenSSL to be here: ../OpenSSL-Win32/lib/VC/static

     
  • Koen
    Koen
    2011-07-22

    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.

    thx

     
  • Frank Friemel
    Frank Friemel
    2011-07-25

    You can start multiple instances. Check out the "/Config:" command line option. E.g.

    Shairport4w.exe /Config:test

    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.