abudaan / MIDIBridge

An implementation in Java and Javascript of the W3C proposal for MIDI support in browsers by Jussi Kalliokoski
69 stars 14 forks source link

I can't get any of the examples to run in my browser #3

Open michaelforrest opened 12 years ago

michaelforrest commented 12 years ago

e.g. http://abumarkub.net/midibridge/example/computer-keyboard.html

No errors are shown, just a blank drop-down.

I'm generally running Chrome but I tried in Safari and Firefox (Firefox just froze up and I had to force-quit).

I'm on OS X Lion - 10.7.4 and Chrome is running Apple Java 1.6.0_31

abudaan commented 12 years ago

That is weird, I have tested it with exactly the same specs, and I get a dropdown box that lists the Java Sound Synthesizer.

Is your dropdown box completely empty, or does it list 'choose a MIDI output'?

Btw: I do encourage to use the Jazz plugin for MIDI support in your browser, see:

http://jazz-soft.net/doc/Jazz-Plugin/

michaelforrest commented 12 years ago

It's just empty - it doesn't ever get the callback from the applet as far as I can tell. Thought it might be chrome security but seems not. I will check for java errors if I can.

Jazz plugin sounds like a good tip, will use that if it makes everything better :)

On 3 Jun 2012, at 14:36, abudaanreply@reply.github.com wrote:

That is weird, I have tested it with exactly the same specs, and I get a dropdown box that lists the Java Sound Synthesizer.

Is your dropdown box completely empty, or does it list 'choose a MIDI output'?

Btw: I do encourage to use the Jazz plugin for MIDI support in your browser, see:

http://jazz-soft.net/doc/Jazz-Plugin/


Reply to this email directly or view it on GitHub: https://github.com/abudaan/MIDIBridge/issues/3#issuecomment-6085553

cwilso commented 12 years ago

For some reason, the Java callbacks take a while to fire on my machines - I need to wait for a five seconds or so for the MIDI initialization to happen.

And, of course, I presume you have an actual MIDI output port installed? (I only have an input keyboard I've been testing with.)

abudaan commented 12 years ago

What OS are you on? The Java Sound Synthesizer comes with the Java plugin by default.

Sometimes Java initialization takes a while, that is normal.

I strongly recommend not to use my midi bridge anymore and switch to the Jazz plugin, it loads instantly, see:

http://jazz-soft.net/doc/Jazz-Plugin/

I will rewrite my Javascript wrapper around this plugin soon.

cwilso commented 12 years ago

I'm on MacOSX. I think it's just the Java plugin initializing, as you said.

If I get some time after Google I/O, I'll take a look at Jazz (I'd looked briefly before) and see if I can write a wrapper around it to replicate the Web MIDI API as we edit it.

On Thu, Jun 7, 2012 at 4:51 AM, abudaan < reply@reply.github.com

wrote:

What OS are you on? The Java Sound Synthesizer comes with the Java plugin by default.

Sometimes Java initialization takes a while, that is normal.

I strongly recommend not to use my midi bridge anymore and switch to the Jazz plugin, it loads instantly, see:

http://jazz-soft.net/doc/Jazz-Plugin/

I will rewrite my Javascript wrapper around this plugin soon.


Reply to this email directly or view it on GitHub: https://github.com/abudaan/MIDIBridge/issues/3#issuecomment-6174055

abudaan commented 12 years ago

Yes, that was my plan too ;)

Keep me posted about your progress to avoid doing the same thing twice.

I was planning to start with it end of June / beginning of July.

cwilso commented 12 years ago

:) Realistically, I'm not likely to get to it until nearly August; I'm slammed until I/O, and then on vacation for more than half of July.

Thanks, by the way, for the initial MIDIBridge implementation; it helps show people the need for MIDI. I presume you saw that I added MIDIBridge to a fork of a web audio synth? (https://github.com/cwilso/webaudiosynth)

On Thu, Jun 7, 2012 at 10:58 AM, abudaan < reply@reply.github.com

wrote:

Yes, that was my plan too ;)

Keep me posted about your progress to avoid doing the same thing twice.

I was planning to start with it end of June / beginning of July.


Reply to this email directly or view it on GitHub: https://github.com/abudaan/MIDIBridge/issues/3#issuecomment-6182975

abudaan commented 12 years ago

No, I had not seen it, great work!

May be you should add a dropdown menu to allow the user to select a MIDI input herself, or automatically connect to all MIDI inputs, because the first input is not always a real input. My setup has for instance 5 virtual MIDI inputs and the last one is my real keyboard.

Here is another great example of the Jazz plugin and parts of my MIDIBridge:

http://www.pianocrumbs.com/piano/tutorials/4/The-Thief-by-Howard-Shore#

cwilso commented 12 years ago

It was quite easy, really. If it looked like it was going to take more than an hour, I wouldn't have done it. :)

Hmm, yeah - that should be easy. Will do tomorrow.

On Thu, Jun 7, 2012 at 11:42 AM, abudaan < reply@reply.github.com

wrote:

No, I had not seen it, great work!

May be you should add a dropdown menu to allow the user to select a MIDI input herself, or automatically connect to all MIDI inputs, because the first input is not always a real input. My setup has for instance 5 virtual MIDI inputs and the last one is my real keyboard.

Here is another great example of the Jazz plugin and parts of my MIDIBridge:

http://www.pianocrumbs.com/piano/tutorials/4/The-Thief-by-Howard-Shore#


Reply to this email directly or view it on GitHub: https://github.com/abudaan/MIDIBridge/issues/3#issuecomment-6184127

cwilso commented 12 years ago

I converted my webaudiosynth repo to use Jazz instead of MIDIBridge, and added a dropdown for MIDI interface. I deployed this version to http://midiwasynth.appspot.com/.

I don't think Jazz as-is is going to work to build the Web MIDI API on top of; it doesn't handle messages flexibly enough - or more to the point, it only supports short messages (note-on, note-off, CC, etc) - it's not designed to handle system-exclusive messages. For that matter, I think it would have problems with single-byte System Realtime messages (like Clock or start/stop). The plugin is going to have to be updated to make it work, I suspect.