Giter VIP home page Giter VIP logo

macshairport's Introduction

MacShairport

Shairport is this great thing that lets a computer pretend to be an Airport Express speaker. That means one computer can send audio from its iTunes to be played on another computer. Awesome, right? Except the Shairport server itself is written in Perl and has dependencies that make it hard for normal people to use and install.

So what?

MacShairport is a native re-implementation of Shairport for Mac. That means any Mac user could download a build and run it on their computer without having to worry about Perl modules and dependencies. Win.

Does it work?

Yes! Mostly. It seems to be pretty temperamental (underruns) depending on your network configuration but it does work. I'm hoping to improve that soon.

How can I help?

The biggest problem right now is that hairtunes underruns a lot depending on your network configuration. It'd be awesome if we could improve that.

License

New BSD License. See LICENSE.txt. Basically, do whatever you want with it but don't blame me for anything that goes wrong and don't remove my license.

macshairport's People

Contributors

joshaber avatar rcarlsen avatar sergioharo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

macshairport's Issues

MacShairport not supported on my old mac?

Hi,

I just downloaded MacShairport in my old mac and I get the following message:

"You can't open the application MacShairport because it is not supported on this type of Mac."

The specs of the old machine are below:

Let me know if you need any more info.

Thanks!

OSX:
System Software Overview:

System Version: Mac OS X 10.6.7 (10J869)
Kernel Version: Darwin 10.7.0
Boot Volume: HD
Boot Mode: Normal
Computer Name: ------------
User Name: ********** (----------)
Secure Virtual Memory: Enabled
64-bit Kernel and Extensions: No
Time since boot: 49 minutes

Hardware Overview:

Model Name: MacBook Pro
Model Identifier: MacBookPro1,1
Processor Name: Intel Core Duo
Processor Speed: 1.83 GHz
Number Of Processors: 1
Total Number Of Cores: 2
L2 Cache: 2 MB
Memory: 2 GB
Bus Speed: 667 MHz
Boot ROM Version: MBP11.0055.B08
SMC Version (system): 1.2f10
Serial Number (system): W------------
Hardware UUID: 00000000-0000-1000-8000-0016CBXXCXXX
Sudden Motion Sensor:
State: Disabled

Developer Information:

Version: 3.2 (10M2518)
Location: /Developer
Applications:
Xcode: 3.2.6 (1761)
Interface Builder: 3.2.6 (851)
Instruments: 2.7 (3017)
Dashcode: 3.0.2 (333)
SDKs:
Mac OS X:
10.4: (8S2167)
10.5: (9L31a)
10.6: (10M2518)

IPv4

When trying out with and ios device that only has ipv4, the initial connection responds to the OPTIONS but then the connection don't close and the ANNOUNCE is never received.

As i understand it the ip of the server is included in the encoded apple-response, and there is formatting going on for ipv6 there

PPC Support?

I have an iBook G4 1.33Ghz laptop, I was wondering if this project would run or if I would have to compile it from source myself. I have no idea how to do this so if that is the solution could someone be totally awesome and compile a working PPC version for me and others with outdated tech?

Binary

Hello, can you make universal binary (including G4 systems)?
Thank you.

Volume unresponsive

The volume of the host doesn't seem to respond to adjustments when the slider is moved on the playing device. Tail of the console output during a volume change attempt pasted below. In this case, the server and host are the same machine.

2011-05-11 00:18:14.477 ShairPort[56583:903] -[MSShairportServer connection:didReceiveData:] [Line 75] Raw request: SET_PARAMETER rtsp://fe80::e2f8:47ff:fe08:f2aa/3387917879 RTSP/1.0
CSeq: 136
Session: DEADBEEF
Content-Type: text/parameters
Content-Length: 20
User-Agent: iTunes/10.2.2 (Macintosh; Intel Mac OS X 10.6.7) AppleWebKit/533.21.1
Client-Instance: A65BEE5E642352EE
DACP-ID: A65BEE5E642352EE
Active-Remote: 1878106279

volume: -15.515970
2011-05-11 00:18:14.477 ShairPort[56583:903] -[MSShairportServer connection:didReceiveData:] [Line 79] Parsed request: {
    "Active-Remote" = 1878106279;
    Body = "volume: -15.515970
\n";
    CSeq = 136;
    "Client-Instance" = A65BEE5E642352EE;
    "Content-Length" = 20;
    "Content-Type" = "text/parameters";
    "DACP-ID" = A65BEE5E642352EE;
    Method = "SET_PARAMETER rtsp://fe80::e2f8:47ff:fe08:f2aa/3387917879 RTSP/1.0";
    Session = DEADBEEF;
    "User-Agent" = "iTunes/10.2.2 (Macintosh; Intel Mac OS X 10.6.7) AppleWebKit/533.21.1";
}
2011-05-11 00:18:14.478 ShairPort[56583:903] -[MSShairportServer respondToRequest:connection:] [Line 264] Response: RTSP/1.0 200 OK
Audio-Jack-Status: connected; type=analog
CSeq: 136

Remote speaker not compatible with this version of iTunes

Hi,

I haven't been able to get MacShairport working yet. I describe the issues below; problem might be in underlying shairport code, and/or already known (I couldn't find it, though I'm not an expert in these matters at all). So yeah, use the data below if useful, otherwise feel free to close/merge/move issue.

Running latest (18 May) MacShairport on Macbook Pro with latest Snow Leopard; attempting to connect from latest iTunes on a MacMini. I have DISABLED IPv6 on both machines, as this helped a little. MacShairport shows up in iTunes, but clicking gives error 'The remote speaker "xxx" is not compatible with this version of iTunes.'

/var/log output is:

May 18 11:49:58 PaulMac MacShairport[16162]: -[MSShairportServer netServiceDidPublish:] [Line 90] Published: _raop._tcp.: 5000
May 18 11:50:03 PaulMac MacShairport[16162]: -[MSShairportServer connection:didReceiveData:] [Line 71] Raw request: OPTIONS * RTSP/1.0^M\nCSeq: 1^M\nUser-Agent: iTunes/10.2.2 (Macintosh; Intel Mac OS X 10.6.7) AppleWebKit/533.21.1^M\nClient-Instance: B43BEC2ACA9ECB67^M\nDACP-ID: B43BEC2ACA9ECB67^M\nActive-Remote: 1837138036^M\nApple-Challenge: DJLF8BDoN6FAzf3Udu7org^M\n^M
May 18 11:50:03 PaulMac MacShairport[16162]: -[MSShairportServer connection:didReceiveData:] [Line 75] Parsed request: {\n    "Active-Remote" = 1837138036;\n    "Apple-Challenge" = DJLF8BDoN6FAzf3Udu7org;\n    Body = "";\n    CSeq = 1;\n    "Client-Instance" = B43BEC2ACA9ECB67;\n    "DACP-ID" = B43BEC2ACA9ECB67;\n    Method = "OPTIONS * RTSP/1.0";\n    "User-Agent" = "iTunes/10.2.2 (Macintosh; Intel Mac OS X 10.6.7) AppleWebKit/533.21.1";\n}
May 18 11:50:03 PaulMac MacShairport[16162]: -[MSShairportServer respondToRequest:connection:] [Line 260] Response: RTSP/1.0 200 OK^M\nCSeq: 1^M\nAudio-Jack-Status: connected; type=analog^M\nPublic: ANNOUNCE, SETUP, RECORD, PAUSE, FLUSH, TEARDOWN, OPTIONS, GET_PARAMETER, SET_PARAMETER^M\nApple-Response: 26CEGA/MndwySaRTjUqKauVUcxM7SbT7fWThhodLT8YgMUJvRtBB8JGbhg81R1XKmcUzxi+0mfHEjpANOAZxSlRrOq9Iz68VzLGHOnMXiX0O+x3Ys5FjPhGB+brhFn7ixA1hG6Gaa5C18OwQ/hRJjdO9j2fbpgrg/bmdZR9igssqUjPUAAz6zHQNbwWhMkiiTH4VETZYUk8Onkb3GomcWZOIiUOVvGJTnAGMozK0RQBb+ezhOxBPGnCHTGJ9DVUD7AhkafxQC2Q0dgn0bISgi90HfsnkTmRdL+xfgeJ6CpMo0EaY9b18/MG+HvLGSN+AC5I4PM9V2CBFUs8a+Y0Wog^M\n^M
May 18 11:50:03 PaulMac MacShairport[16162]: -[MSShairportServer connectionDidClose:] [Line 81] Connection closed: <MSShairportConnection: 0x2000534e0> remoteIP: ::ffff:192.168.1.104

No Sound on Mac

It somehow seems to be running, I can select my iMac's name on the iOS device and I see quite some debug log output in XCode's console (including the mentioned underruns) but the speakers of my iMac remain silent. Are there any prerequisites to be fulfilled on the Mac to be able to hear anything?

Error on MSShairportServer - Format string is not a string literal

for(NSString *piece in allPieces) {
unsigned short value = (unsigned short) [piece decimalValueFromHex];
value = (unsigned short) CFSwapInt16HostToBig(value);
[challengeString appendFormat:[[NSString alloc] initWithData:[NSData dataWithBytes:&value length:sizeof(value)] encoding:NSISOLatin1StringEncoding]];
}

/Users/loreto/Projects/SDK/MacShairport/Classes/MSShairportServer.m:469:43: Format string is not a string literal (potentially insecure)

MacOS X 10.8/64bit

How do you run it?

I dont see any instructions in the Readme nor did I see Installation instructions.

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.