Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: Error opening Book -> SetParameters dialog #701

Open
SuperNose opened this issue Nov 19, 2023 · 9 comments
Open

BUG: Error opening Book -> SetParameters dialog #701

SuperNose opened this issue Nov 19, 2023 · 9 comments

Comments

@SuperNose
Copy link

I've tried to recognize a Russian lyrics based on the forum feedback here and added to the org.audiveris.text.Language.defaultSpecification value "+rus". Afterwards I cannot longer open the Book->SetParameters window, it gives me:

WARN [] BookActions 1726 | Error in BookParameters java.lang.NullPointerException: Cannot invoke "String.trim()" because "spec" is null java.lang.NullPointerException: Cannot invoke "String.trim()" because "spec" is null at org.audiveris.omr.text.Language$SupportedLanguages.indicesOf(Language.java:322) at org.audiveris.omr.text.Language$ListModel.indicesOf(Language.java:153) at org.audiveris.omr.score.ui.BookParameters$LangPane.display(BookParameters.java:900) at org.audiveris.omr.score.ui.BookParameters$LangPane.display(BookParameters.java:846) at org.audiveris.omr.score.ui.BookParameters.stateChanged(BookParameters.java:507) at java.desktop/javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:446) at java.desktop/javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:297) at java.desktop/javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:148) at java.desktop/javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:79) at java.desktop/javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:650) at java.desktop/javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:625) at java.desktop/javax.swing.JTabbedPane.setSelectedComponent(JTabbedPane.java:709) at org.audiveris.omr.score.ui.BookParameters.<init>(BookParameters.java:345) at org.audiveris.omr.sheet.ui.BookActions.applyUserSettings(BookActions.java:1660) at org.audiveris.omr.sheet.ui.BookActions.defineParameters(BookActions.java:370) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:647) at org.jdesktop.application.ApplicationAction.actionPerformed(ApplicationAction.java:687) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1029) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1073) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6620) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398) at java.desktop/java.awt.Component.processEvent(Component.java:6385) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4995) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

@SuperNose
Copy link
Author

SuperNose commented Nov 19, 2023

Hm, now also after I've removed the "+rus" suffix, I can no more access that "Set book parameters" menu-item, although I've reopened the .pdf file freshly, I've restarted Audiveris and even reinstalled it. Seems like there is some still-persisted option somewhere.

Error in BookParameters java.lang.NullPointerException: Cannot invoke "String.trim()" because "spec" is null

I've of course downloaded the RU-trained data from here

Quite frustrating, I can't open that dialog now no matter what; and instead of spending the Sunday with music, I'm analyzing the log-files 😂. But the app is really nice, kudos to the author, unbelievable it exists - I would be glad to help somehow, just tell me how 🙂!

@hbitteur
Copy link
Contributor

Which Audiveris are you using?
The installed one (on Windows, the master branch)
Or the one built on your own (from the development branch)
And which OS too?

@hbitteur
Copy link
Contributor

There is a bug in the handling of book parameters. Something I discovered yesterday by chance.
I can easily push a fix on the development branch
I guess you are on the development branch, because this is where the bug on book parameters was introduced a few days ago.

@hbitteur
Copy link
Contributor

hbitteur commented Nov 19, 2023

I just pushed a fix on the development branch.
Could you pull and rebuild?
And tell me if it's OK now...

@SuperNose
Copy link
Author

I've used the Win-Installer "Audiveris_Setup-5.3.1-windows-x86_64.exe" provided at your "Releases" Page, it's dated July-2023. So I didn't build it myself - and in this moment I can't, although I would love to 🤦‍♂️😖.
PS: I've tried yesterday quite a lot more with a quite simple music-sheet and was not able to add the score staff/stave to the unrecognized area. Somehow the tool has quite problems with it and although I'm a senior SW architect and play a bit guitar and sing, I was totally lost and gave up 😁!

@hbitteur
Copy link
Contributor

@SuperNose
I'm trying to reproduce your problem.
For this, I just installed Audiveris using the .exe available on the Releases page, as you did.
Then, I made sure that the system environment variable TESSDATA_PREFIX was defined and pointing to the tessdata folder where I put the Tesseract language files.
I downloaded the rus.traineddata file to this tessdata folder.

Then I launched Audiveris, using Windows start menu.
The Help | About menu gave me this:
image

Then I could use Book | Set Book Parameters to set the language selection to eng+rus:
image

And things were OK.
I can't reproduce your problem.

When you say:

I've tried to recognize a Russian lyrics based on the forum feedback here and added to the org.audiveris.text.Language.defaultSpecification value "+rus"

It is not clear to me how you proceeded:

  • have you manually modified the constant using -option org.audiveris.omr.text.Language.defaultSpecification=rus
  • have you gone through the UI interface (using Book | Set book parameters)

I must reproduce your problem, otherwise I won't be able to help you.

@SuperNose
Copy link
Author

Book | Set Book Parameters did not show me such options at the beginning, when it was possible to open that dialog: it was empty and I was a bit confused, what´s that option for, when empty.

No, I did not modify the options/settings manually, but as you´ve described via the UI.

Is there any log-file I could send you? Or a TRACE-flag I could increase so it can generate a diagnostic log for sending to you?

Reading the stack-trace, the spec is null, so when you look into the sources, the reason should be clear for you (and you're faster in your code than me ;-)!)

Tell me pls how to proceed: the tool looks amazingly complex and I'm happy to send you any more information which makes it a bit more stable 👍!

@hbitteur
Copy link
Contributor

To get us out of this dead end, I have just published a "pre-release" 5.4-alpha.
You can grab the Windows installer here
Please install, and tell me how it goes on your side.

@SuperNose
Copy link
Author

SuperNose commented Nov 26, 2023

No crashing now, I can reach that book-settings menu from the alpha version 🙂, TY 👍!

PS: Now I'm left with the more gentle user-challenge: the app won't recognize fully my song (the score stuff was skipped in the beginngin); I've checked the user-docs (for level Einstein skills 😁) how to force/repair the recognition and could not solve it so far🤦‍♂️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants