[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