Java: MidiSystem kent gewilde MidiDevice niet

dob

Helemaal in m'n (k)nopjes
Lid sinds
28 mei 2002
Berichten
2.371
Ik zit in Borland JBuilder onder Apple OS-X wat te klooien met Java, de taal die ik aan het leren ben, en midi.

Ik zit echter even met het volgende: de klasse MidiSystem kent de MidiDevice niet die ik wil gaan gebruiken. Ik heb net m'n M-Audio Uno geinstalleerd en andere programma's zien het dingetje wel en midi werkt zowel in als out, dat is getest.

Als ik een lijst genereer van Devices die MidiSystem kent, krijg ik deze 2:

0 IN OUT Real Time Sequencer, Sun Microsystems, Version 1.0, Software sequencer
1 OUT Java Sound Synthesizer, Sun Microsystems, Version 1.0, Software wavetable synthesizer and receiver

Hoe krijg ik nou voor elkaar dat MidiSystem ook m'n Uno als Device in de lijst opneemt, zodat ik deze kan selecteren als midi in- en uitgang?

Ik las op het net in de doc's op http://java.sun.com/j2se/1.5.0/docs/guide/sound/programmer_guide/contents.html
iets van dat sinds Java 1.5.0 er een sound.properties file gebruikt kan worden. Deze heb ik inmiddels gevonden via de Terminal. (Spotlight vind deze echter niet... heeft Spotlight een filter om vermeende systeemfiles niet te tonen?!)

Maarja daar kan ik niet veel mee... want ik moet toch de device naam etc. weten om de properties te zetten:
# Example 3:
# Specify the default Receiver by provider and name:
# javax.sound.midi.Receiver=com.sun.media.sound.MidiProvider#SunMIDI1

What to do....
 
En het werkt ook nog :)

Een kus op het voorhoofd van Bob Lang.

Mijn progje zegt nu gezellig en ook heel terecht:

Available MIDI Devices:
0 IN Port 1 (MidiIN:0), M-Audio, Version 1.3, Midi IN port:0
1 OUT Port 1 (MidiOUT:0), M-Audio, Version 1.3, Midi OUT port:0
2 IN OUT Real Time Sequencer, Sun Microsystems, Version 1.0, Software sequencer
3 OUT Java Sound Synthesizer, Sun Microsystems, Version 1.0, Software wavetable synthesizer and receiver

Koekje erbij!
 
Origineel geplaatst door Kat Yidaki
Ik programmeer MIDI-tools in Java... maar doe dan op een echte computer :D

Een VAX? :D
 
Origineel geplaatst door Kat Yidaki
Ik programmeer MIDI-tools in Java... maar doe dan op een echte computer :D

Man zeik niet, Apple is beter zowel inhoudelijk als uiterlijk.
OS-X draait bovenop Unix... I rest my case :D
Wordt zo moe van het verdedig altijd maar weer....
 
Origineel geplaatst door bikkel
Een VAX? :D

Yup, deze:

vax.jpg
 
Origineel geplaatst door dob
Man zeik niet, Apple is beter zowel inhoudelijk als uiterlijk.
OS-X draait bovenop Unix... I rest my case :D
Wordt zo moe van het verdedig altijd maar weer....

Java draait lekkerder op MacOS X dan op Windows.
 
Origineel geplaatst door bikkel
Java draait lekkerder op MacOS X dan op Windows.
Ik heb vandaag nog op J-Spring een workshop gezien hoe je met NetBeans iets met midi kunt doen.. :) Was op windows... beide niets mis mee..,
 
Mennn....

T'is wel lastig zeg. Soms dacht ik: hee ik heb dit zo gebouwd (wil een 1-track analoog-style midisequencer bouwen), en nu denk ik:
kan beter gewoon wat geld opzij zetten en een analoge sequencer aanschaffen :)

Java anno nu lijkt me niet bepaald toegerust om dit te bouwen... of vergis ik mij?
Ok, ik heb een sequence van 8 noten, en ik speel dit af in een loop.
Maar vooral het timing en sync gebeure staat als een berg voor m'n neus nu.
Ik heb te maken met een timingsstrakheid vergelijkbaar met de huid van een 80 jarige vrouw.

En ik kan bepaald geen voorbeelden vinden van iets dat masterclock signalen uitstuurt, of dingen die zich gedragen als midi slave.
Ik zie het niet zitten om zelf iets te gaan bouwen dat masterclock bitjes uitstuurt... of dat de clock bitjes decodeert... daar had ik al wel een abstractie voor verwacht, om eerlijk te zijn.

Wel zag ik ergens een tip van als je timing niet strak is, dan moet je eerst java versie x installeren, en daarna upgrade'n naar y.
Maarja, dat vind ik eigenlijk Windows-achtige toestanden, laat mij meteen denken: java en midi ligt nog in de baarmoeder.
 
Origineel geplaatst door JohnnyBusca
Ik heb vandaag nog op J-Spring een workshop gezien hoe je met NetBeans iets met midi kunt doen.. :) Was op windows... beide niets mis mee..,

Het is een onderdeel van het OS op MacOS X, en bij Windows is het een losse VM. De oude MS Java VM is vaak sneller en stabieler dan die Sun plugin van tegenwoordig. Java draait ook lekkerder op Solaris. Krijg altijd spontane koppijn als bepaalde apps spontaan besluiten hun eigen versie te installeren terwijl ik al een versie geinstalleerd had.....:(
 
Geen kwaad woord over analoge sequencers. :D
 
Ik programmer al een tijdje in java, maar had nog nooit gehoord dat je ook midi apparatuur kon aansturen. Welke classes moet je daarvoor gebruiken dan? Kun je een voorbeeld geven hoe je dat doet?
 
Met java kun je in principe alles aansturen. Desnoods maak je zelf je drivers voor die hardware en link je die aan je JVM.

En midi kan al redelijk lang. Vanaf 1.4 zeker (bij de multimedia extensie)
Er is zelfs een project waarbij ze een universele syntheditor wilden maken. Alleen die is zo ontzettend bud.
 
Origineel geplaatst door MadDonna
Ik programmer al een tijdje in java, maar had nog nooit gehoord dat je ook midi apparatuur kon aansturen. Welke classes moet je daarvoor gebruiken dan? Kun je een voorbeeld geven hoe je dat doet?

http://www.jsynthlib.org , daar sturen ze ook midi spullen aan met java.
Zie ook http://java.sun.com/j2se/1.5.0/docs/api/ of specifieker http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/package-frame.html
voor de api documentatie of kijk eens in de source code van bovenstaand project
 
Origineel geplaatst door MadDonna
Ik programmer al een tijdje in java, maar had nog nooit gehoord dat je ook midi apparatuur kon aansturen. Welke classes moet je daarvoor gebruiken dan? Kun je een voorbeeld geven hoe je dat doet?

Hier staat heeeeeel veel:

http://www.jsresources.org

het zit allemaal in javax.sound, dacht ik zo uit het hoofd.
 
Dat krijg je er van als je alleen maar met kantoor automatisering bezig bent. De interessante dingen ontgaan je dan volledig.
 
Origineel geplaatst door MadDonna
Dat krijg je er van als je alleen maar met kantoor automatisering bezig bent. De interessante dingen ontgaan je dan volledig.

Als je een goeie opleiding gehad hebt weet je dat je welhaast ALLES met java kan :D
Internet doet de rest.

Er zijn zelfs 3d games in Java tegenwoordig!!
 
Als je een echt goede opleiding hebt gehad, ben je bekend met de Church-Turing Thesis en weet je dat je echt alles met Java kunt doen :D

Of het ook echt altijd de beste keus, is een andere vraag, natuurlijk.
 
Jah, webservices, jdbc, remote method invocation, Oracle Application Server etc. CORBA dat soort dingen, geen game programming of iets met muziek dan wel geluid an sich.
 
Back
Top