package jmsltestsuite; import java.util.Vector; import com.softsynth.jmsl.JMSL; import com.softsynth.jmsl.MusicShape; import com.softsynth.jmsl.score.*; import com.softsynth.jmsl.score.transcribe.*; import com.softsynth.jmsl.util.TimeSignature; /** * * * This examines dimension name space, and tests fix of a bug that added rests with 0 instead of * default values for extended dimensions * * * * @author Nick Didkovsky, (c) 2002 Nick Didkovsky, All Rights reserved. */ public class TranscribeScore24 { /* Java can't reproduce the MaxScore bug Georg reported */ public static void main(String args[]) { JMSL.clock.setAdvance(0.1); BeatDivisionSchemeList.removeAllBeatDivisionSchemes(); BeatDivisionScheme b = new BeatDivisionScheme(); // covers a quarter note b.setTimeSpan(1.0); // time span split into how many divisions by this b.setNumberOfDivisions(4); BeatDivisionSchemeList.addBeatDivisionScheme(b); b = new BeatDivisionScheme(); b.setTimeSpan(2.0); b.setNumberOfDivisions(3); b.setMinRequired(2); b.setMinTimeSpan(0); b.setConformToBeat(false); BeatDivisionSchemeList.addBeatDivisionScheme(b); MusicShape source1 = new MusicShape(4); source1.useStandardDimensionNameSpace(); source1.add(6., 0., 1., 1.); source1.add(7.00001, 70., 100., 0.141804); source1.add(8.40001, 66., 100., 0.141804); source1.add(8.933343, 68., 100., 0.273804); source1.add(10.60001, 69., 100., 0.396); source1.add(12.00001, 69., 64., 0.116471); Score score = new Score(1, 800, 400); score.addMeasure(); Transcriber transcriber = new Transcriber(); Vector tsVector = new Vector(); TempoTimeSignatureHolder tsh = new TempoTimeSignatureHolder(new Tempo(120), new TimeSignature(4, 4)); // tsVector.addElement(new TimeSignature(4, 4)); // transcriber.setTimeSignatures(tsVector); tsVector.add(tsh); transcriber.setTempoTimeSignatures(tsVector); try { score.setCurrentStaffNumber(0); // score.setCurrentTrackNumber(1); transcriber.setScore(score); score.rewind(); transcriber.setSourceMusicShape(source1); transcriber.transcribe(); } catch (ElementMissedException e) { e.printStackTrace(); System.out.println("ERROR: " + e); System.exit(0); } catch (SearchPathListExpansionException e) { e.printStackTrace(); System.out.println("ERROR: " + e); System.exit(0); } final ScoreFrame f = new ScoreFrame(); f.addScore(score); f.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { f.quit(); } }); f.setVisible(true); } }