[jmsl] Saving in JScore

jmsl at music.columbia.edu jmsl at music.columbia.edu
Fri Jan 4 15:45:48 EST 2008


     Thank you very much, that fixed the saving problem.

-J

jmsl at music.columbia.edu wrote:
Thanks very much for reporting this bug, and for including the Terminal
dump which made it easy for me to trace down the problem.
I discovered this myself the other day when I tried building JMSL on a
platform other than Windows. To my surprise, it would not even compile...
The problem is that some versions of Java support a
String.replace(String s, String s) method, and others do not.  I used
this method in Score's save methods (I used it to escape quotes which
could corrupt an XML file), but I did not check for cross platform
compatibility. Ouch... your version of Java does not recognize this
method, so attempting to save a score fails.
I will release a new build in the next day or two which resolves the
problem.
I am very sorry for the inconvenience.
Best,
Nick Didkovsky

PS Grace notes are not currently supported.

jmsl at music.columbia.edu wrote:
> Hi List,
>     I regret I put off updating to JMSL version .1039 until now, but
> unfortunately I find a problem saving files in JScore.  After I open
> run.jmsl.score.command, an untitled score opens and using it is fine.  When I
> attempt to save, however, a .xml file is saved to my computer but after the
> dialog the Score still has "Untitled*" at the top and thinks it hasn't saved.
> If I try loading the file to JScore, nothing happens.  I've pasted the
Terminal
> message below, although I am fairly clueless as to its' meaning.  I have no
> problem with version .1038.
>     On an unrelated topic, I was also wondering does anyone have any
experience
> creating grace notes with JScore?  I haven't found anything about them in the
> documentation, but it seems that a powerful package like JScore should be able
> to at least provide the tools...
>
> Thanks for reading this,
> J Starpoli
>
>
>
> Plugin Scan finished: All JMSL plugin paths found in CLASSPATH
> apple.awt.EventQueueExceptionHandler Caught Throwable :
> java.lang.NoSuchMethodError:
>
java.lang.String.replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
> java.lang.NoSuchMethodError:
>
java.lang.String.replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
>         at com.softsynth.jmsl.util.XMLString.encodeQuotes(XMLString.java)
>         at com.softsynth.jmsl.score.ScoreSection.writeXML(ScoreSection.java)
>         at com.softsynth.jmsl.score.Score.writeXML(Score.java)
>         at com.softsynth.jmsl.score.Score.save(Score.java)
>         at com.softsynth.jmsl.score.ScoreFrame.O(ScoreFrame.java)
>         at com.softsynth.jmsl.score.ScoreFrame.N(ScoreFrame.java)
>         at
com.softsynth.jmsl.score.ScoreFrame.actionPerformed(ScoreFrame.java)
>         at
> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1819)
>         at
>
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1872)
>         at
>
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
>         at
> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
>         at javax.swing.AbstractButton.doClick(AbstractButton.java:321)
>         at javax.swing.AbstractButton.doClick(AbstractButton.java:269)
>         at
>
javax.swing.plaf.basic.BasicMenuItemUI$ClickAction.actionPerformed(BasicMenuItemUI.java:1073)
>         at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1535)
>         at javax.swing.JComponent.processKeyBinding(JComponent.java:2438)
>         at
> javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:658)
>         at
> javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:666)
>         at
> javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:666)
>         at javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:642)
>         at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:253)
>         at
> javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:240)
>         at
>
javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2515)
>         at javax.swing.JComponent.processKeyBindings(JComponent.java:2507)
>         at javax.swing.JComponent.processKeyEvent(JComponent.java:2401)
>         at java.awt.Component.processEvent(Component.java:4975)
>         at java.awt.Container.processEvent(Container.java:1613)
>         at java.awt.Component.dispatchEventImpl(Component.java:3681)
>         at java.awt.Container.dispatchEventImpl(Container.java:1671)
>         at java.awt.Component.dispatchEvent(Component.java:3543)
>         at
> java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1713)
>         at
>
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:627)
>         at
>
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:831)
>         at
>
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:741)
>         at
>
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:592)
>         at java.awt.Component.dispatchEventImpl(Component.java:3572)
>         at java.awt.Container.dispatchEventImpl(Container.java:1671)
>         at java.awt.Window.dispatchEventImpl(Window.java:1606)
>         at java.awt.Component.dispatchEvent(Component.java:3543)
>         at java.awt.EventQueue.dispatchEvent(EventQueue.java:480)
>         at
>
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
>         at
>
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184)
>         at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)
>         at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)
>         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
> _______________________________________________
> jmsl mailing list
> jmsl at music.columbia.edu
> http://music.columbia.edu/mailman/listinfo/jmsl


More information about the jmsl mailing list