Skip to content

neutmute/swimbait

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Swimbait#

Definition:

A class of fishing lures that imitate fish

An ASP.NET Core application that emulates the Yamaha MusicCast protocol.

swimbait MyGet Build Status

Projects

Swimbait.Server

Emulates a Yamaha MusicCast speaker by serving and responding REST HTTP on multiple ports and UDP.

Current status is

  • [almost there] ios MusicCast app can discover the fake Swimbait server
  • [todo] swimbait server can respond to and receive requests to stream audio

Swimbait.Console

See its readme file

MusicCast.Console

Client for controlling a MusicCast speaker

Setup

Swimbait requires some environment variables:

Windows Powershell

Restart Visual Studio after setting these in a powershell prompt

 # IP Address of real MusicCast speaker. Used for man in the middle replays. 
 [Environment]::SetEnvironmentVariable("Swimbait:RelayHost", "192.168.1.213", "User") 

 # Folder for activity log 
 [Environment]::SetEnvironmentVariable("Swimbait:ReplayLogFolder", "D:\Downloads\Swimbait", "User")

Swimbait.Server Execution

  1. Run the Swimbait.Server project
  2. Test the HTTP server by browsing to http://<your-machines-IP>/MediaRenderer/desc.xml
  3. Open the MusicCast app on your phone
  4. Connect to a new device
  5. Press C a few times into the server console while the app is waiting for a connection
  6. The MusicCast app should think it has found a MusicCast speaker
  7. The app will respond with an error. (More work required)

Documentation

The doc folder contains various captures and collected information, including the Yamaha authored Yamaha Extended Control API Specification (Basic) and (Advanced) and which describes much of the MusicCast REST API.

Blog

There is some more reading at this blog entry

About

ASP.NET Core app to emulate a Yamaha MusicCast Speaker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published