Before posting, please read: When to use this forum, when to submit a help ticket

Control Sweet Midi Player on a remote device using BandHelper

Started by Kazbah, April 26, 2016, 12:03:34 PM

Previous topic - Next topic

Kazbah

Background : Using the instructions provided in http://forum.arlomedia.com/index.php/topic,933.0.html I was able to have BandHelper communicate with Sweet Midi Player and have it working. Sweet :) 

But i wanted to push things up a notch so I put into my head the idea of communicating with Sweet Midi Player on another iOS device, in my case an old  iPod Touch 4th Gen. The benefits being that I could observe/control Sweet Midi Player without leaving BandHelper and it also frees up the audio channels on my iPad. I have a iPod docking station with Line Out so I can keep it powered and Line Out is better suited for amplification than headphone level output.

The iPod 4th Gen does not support Bluetooth LE but does have the ability to connect thru WiFi. Now you can find tons of articles on how to create a MIDI network over WiFi using an iDevice and your Mac with Audio Midi Setup... None of them (to my knowledge)  do tell you that you can create a MIDI network with iOS Devices only... all you need is an application that exposes the CoreMIDI API for you to use (and be connected to the same network). I used MIDI Designer Lite you make the connection (Go to Config then Connections .. all available devices will be listed, tap the one you want to connect to and you are done).

Once the connection have been established BandHelper can use that 'Port' to communicate with the remote device. I could not find where in BandHelper I could initiate that connection ... It would be nice if BandHelper could establish that connection (unless Linking Device actually creates a MIDI network but I don't think so). +1 for my wishlist.

Anyway, hopefully other people will find that 'trick' useful





arlo

Are you saying you figured out how to send MIDI between two iOS devices via wi-fi, or are you asking how to set it up? I didn't think this was possible, so posting more details would be nice if you got it working.

Kazbah

Quote from: arlo on April 26, 2016, 11:00:23 PM
Are you saying you figured out how to send MIDI between two iOS devices via wi-fi
This  ;D

In MIDI Designer, http://mididesigner.com/help/connect/  forget that they are showing the example to connect to a Mac ... it will list your iPod or iPhone if it has a running MIDI application. In Sweet Midi Player select 'Network Session 1' has MIDI input

Last night I found a very nice little app (and it is free) called MIDI Network that enables you to join and manage MIDI network.
If you ever used Audio Midi Setup it will be self-explanatory...


I think it could be possible to define the NetworkSession as a MIDI devices from BandHelper's point of view.
QuoteThe singleton MIDI network session represents one Core MIDI source-destination pair, known as a MIDI entity. The session can have any number of MIDI network connections. MIDI output is broadcast to all the session's connections. MIDI input from all connections is merged.

https://developer.apple.com/library/ios/documentation/CoreMidi/Reference/MIDINetworkSession_ClassReference/#//apple_ref/doc/uid/TP40010387-CH1-SW3

arlo

All right, it sounds like the MIDI Network app (https://itunes.apple.com/us/app/midi-network/id1102428729?mt=8) takes the place of a computer in a wi-fi MIDI setup. That was just released a week ago, so what was previously impossible is now possible. :-)

I'm not sure what else you're asking BandHelper to do. If you can do wireless MIDI networking directly between iOS devices with Bluetooth on BTLE devices or with wi-fi on older devices with this free app, what else is needed?

Kazbah

The required API have been there since iOS 4.2 they just haven not been exploited much... (except by apps like MIDIBridge, MIDI Designer)

I found the MIDI Network App after making it work .. it is more convenient than buying an app for the sole purpose of using an API that is already there. The app does not take the place of the computer it just uses the API.. it basically does what Audio Midi Setup does on the Mac but does it on iOS.
I can confirm that BandHelper sees the 'Port' so all is good (you can define MIDI Devices that uses the Network Session 1 Port )

So what i'd like BandHelper to do is more of a " nice to have to not rely on someone else's app"
Just like the way you can connect to Bluetooth from BandHelper (but you can make the connection from outside Bandhelper too) , you could connect to the Network Session from BandHelper

Convenience and Consistency

arlo

The Network Session 1 port is created by default and BandHelper can connect to it with no extra apps or no special setup.

Kazbah

That is alright, I won't lose sleep over the fact that I cannot add other devices to the Session from inside BandHelper. Just tought it would be a nice feature to add and wanted to make people aware of the fact that you do not need to have a computer in-between. I also wrote to MIDI Network app's author to ask him to make his app available on older version of iOS to broaden its usage and usefulness.