package jmslexamples.jsyn2;
import java.io.File;
import com.softsynth.jmsl.*;
import com.softsynth.jmsl.jsyn2.SamplePlayingInstrument;
import com.softsynth.jmsl.view.MusicShapeEditor;
public class SamplePlayingMusicShape {
public static void main(String[] args) {
final SamplePlayingInstrument ins = new SamplePlayingInstrument();
ins.setDirectory(new File("D:/documents/JMSLScoreWork/JMSLScoreSamples")); // CHANGEME
System.out.println("DIRECTORY: " + ins.getDirectory().getAbsolutePath());
// ins.getMusicDevice().edit(f);
ins.getMusicDevice().open();
ins.addSamplePitch("kawai_k1m/guitar/gtr61.wav", 61);
ins.addSamplePitch("kawai_k1m/guitar/gtr64.wav", 64);
ins.addSamplePitch("kawai_k1m/guitar/gtr67.wav", 67);
ins.addSamplePitch("kawai_k1m/guitar/gtr70.wav", 70);
ins.buildFromAttributes();
JMSLMixerContainer mixer = new JMSLMixerContainer();
mixer.addInstrument(ins);
mixer.start();
JMSL.clock.setAdvance(0.25);
final MusicShape s1 = new MusicShape(4);
s1.useStandardDimensionNameSpace();
s1.add(0.25, 59, 0.5, 0.25);
s1.add(0.25, 59.5, 0.5, 0.25);
s1.add(0.5, 60, 0.5, 0.25);
s1.add(0.5, 65, 0.5, 0.25);
s1.add(0.75, 70, 0.5, 0.25);
s1.setInstrument(ins);
s1.setRepeats(Integer.MAX_VALUE);
MusicShapeEditor se = new MusicShapeEditor();
se.addMusicShape(s1);
java.awt.Frame f = new java.awt.Frame("JSyn2 SamplePlayingInstrument");
f.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
JMSL.closeMusicDevices();
System.exit(0);
}
});
f.add(se.getComponent());
// f.setSize(300, 200);
f.pack();
f.setVisible(true);
s1.launch(JMSL.now());
}
}
(C) Phil Burk and Nick Didkovsky, All Rights Reserved JMSL is based upon HMSL (C) Phil Burk, Larry Polansky and David Rosenboom.