Salut à tous,
Je voudrais pouvoir utiliser un fichier midi avec promidi afin de le modifier en direct et d'en faire un nouveau.
Seulement il n'y a pas encore cette possibilité avec promidi alors j'ai fait ceci
import javax.sound.midi.*;
import promidi.*;
Sequence sequence;
javax.sound.midi.Sequencer sequencer;
void setup(){
try {
sequence = MidiSystem.getSequence(new File("D:/programme/processingSketch/solfeggio/MidiPlayer/try1/data/mozart.mid"));
sequencer = javax.sound.midi.MidiSystem.getSequencer();
sequencer.open();
sequencer.setSequence(sequence);
// Start playing
sequencer.start();
} catch (MalformedURLException e) {
} catch (IOException e) {
} catch (MidiUnavailableException e) {
} catch (javax.sound.midi.InvalidMidiDataException e) {
}
}
Il me joue le fichier midi mais il est impossible d'utiliser le sequencer javax.sound.midi en tant que promidi, j'ai essayer de le transformer mais sans succès. Il y a t-il une solution? J'ai pensé à réécrir une sorte de promidi 3.0 avec la possibilité de lire les séquences, est-ce difficile? Je ne l'ai jamais fait.
Merci
Matthieu
Hors ligne
J'ai essayé de modifier promidi selon mes besoins mais je tombe sur le même genre d"erreure.
package promidi;
import java.io.File; import java.io.IOException; import javax.sound.midi.InvalidMidiDataException; public class MidiSystem { private Sequence seq; public MidiSystem(){ } public Sequence getSequence(File file){ try { seq = javax.sound.midi.MidiSystem.getSequence(file);//la ligne qui pose erreure } catch (InvalidMidiDataException ex) { } catch (IOException ex) { } return seq; } }
Une classe sequence
package promidi; public class Sequence{ public Sequence(){ } }
une methode dans la classe Sequencer
public void setSequence(Sequence sequence){ this.sequence = sequence; }
Lorsque je compile dans netBeans pour avoir un jar il me met que le type MidiSystem.Sequence est inassignable à une promidi.Sequence.
Je ne sais pas comment faire la conversion.
Si quelqu'un a une idée.
Hors ligne
Pages: 1