Exmaralda-Org / exmaralda

26 stars 15 forks source link

Switch to OpenJDK and Java 11 / 64bit #199

Closed berndmoos closed 1 year ago

berndmoos commented 4 years ago

This will be necessary because (of):

There are lots of issues involved:

And then there is the question of players:

Herrner commented 4 years ago

What do the BAS people do about their player?

berndmoos commented 4 years ago

There are now experimental MAC OS versions of FOLKER and Partitur-Editor on the previews page with:

wuddel commented 4 years ago

When I use the JAVA FX player on Windows 7, the "play selection" on a regular audio-wav file does not stop at the right crosshair. In the debug info it says:

INFORMATION: JFXMediaPlayer URL: file:/[....wav] (1b - alpha) - Media file is now set for player of PartiturTableWithActions Player says that media file has length 0.0 (1c) PartiturTableWithActions: handing the media file to the audio/video panel (3a) AudioPanel: openSoundFile Dez 03, 2019 1:22:34 PM mpi.eudico.client.annotator.player.JFXMediaPlayer printMediaInfo INFORMATION: Media Information: Track: 0 audio/x-raw-int name: audio/x-raw-int encoding: PCM enabled: false

(3b) AudioPanel: taking care of the visual component JavaFXPlayer says the movie BETV_E_00001_SE_01_A_01_DF_01.wav has width 0and height 0 Preferred size set to: 0/0

When I add a mp4 video-file, the "play selection" action performs as expected.

berndmoos commented 4 years ago

No luck with MAC version of FOLKER on somebody's machine:

Ich konnte die jetzt zwei Male heruntergeladene App zuerst nicht geöffnet kriegen. Mein Mac sagte mir bloß, dass das Programm nicht von einem verifizierten Entwickler stammt. Dann habe ich mehrfach versucht, nach den Anweisungen auf der Hilfe-Seite die Sperre manuell zu umgehen und genau nach Anweisung dennoch das Programm zu öffnen, woraufhin auch nur immer wieder die Meldung kam: Die App kann nicht geöffnet werden, da das Programm nicht reagiert.

Dann habe ich es doch irgendwie geöffnet gekriegt. In der Statuszeile ganz oben auf dem Bildschirm erschien FOLKER 1.2.2 und ich freute mich. Aber ich konnte und kann keinen zugehörigen Startbildschirm öffnen. Es geht nur das eine Untermenü Folker 1.2.2 und auch ein Klicken auf „Alle einblenden“ bringt gar nichts. Es bleibt alles leer.

berndmoos commented 4 years ago

Minimal rescue plan (?):

wuddel commented 4 years ago

Test of Partitur-Editor on Catalina:

Debug info: Debug-Info_TestPECatalina.txt

berndmoos commented 4 years ago

Error message in log:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/media/NoPlayerException at org.exmaralda.folker.timeview.AbstractTimeProportionalViewer.setSoundFile(AbstractTimeProportionalViewer.java:97) at org.exmaralda.partitureditor.partiture.PartiturEditor.setupMedia(PartiturEditor.java:726) at org.exmaralda.partitureditor.partiture.PartitureTableWithActions.setupMedia(PartitureTableWithActions.java:2047) at org.exmaralda.partitureditor.partiture.transcriptionActions.EditRecordingsAction.editRecordings(EditRecordingsAction.java:41)

... is saying that it misses JMF after all, need to get rid of it in this place.

berndmoos commented 4 years ago

After all, it is starting on Catalina and with JRE 11 (but why is Oracle the vendor?)

Operating system : Mac OS X Operating system architecture : x86_64 OS version : 10.15.1 JRE version : 11.0.5 JRE vendor : Oracle Corporation JVM version (specification/implementation) : 11 / 11.0.5+10-LTS

@wuddel : Kannst Du auch mal auf den BAS-Player umschalten, neu starten und dann noch mal schauen?

wuddel commented 4 years ago

Wait... my Mac just says: "An update is available for your Mac"

Therein:

The Pro Video Formats package also includes the following MXF support:

Learn more about working with MXF; https;//support.apple.com/en-us/HT204322

First I do the update and test again. Later I also swithch to BAS and test

wuddel commented 4 years ago
wuddel commented 4 years ago

After downloading and installing the FOLKER Disk Image for test on Catalina, the Program seems to have difficulties at the start. An Exclamation-Mark-Error says: "/-psn_0_499834 (No such file of directory)". I can then click on OK and the program seems to run fine.

berndmoos commented 4 years ago

The uploaded versions of Partitur-Editor and FOLKER can run on MAC OS Catalina, video playback of MPEG4 is possible with JavaFX Player, audio playback with BAS Audio Player. Some glitches remain such as a weird error message on startup (the app seems to think it was handed a file to open as a parameter). Can't do much more than this now.

berndmoos commented 4 years ago

Main things to do (somebody, eventually):

berndmoos commented 4 years ago

About the MAC: I am still on Yosemite (10.10), ELAN says that the AVFoundation player is for "High Sierra" (10.13). Maybe the UnsatisfiedLink Error will not occur when I upgrade. Will do, some time...

Herrner commented 4 years ago

I have no updateable Mac anymore, btw.

berndmoos commented 4 years ago

I am now on Catalina: the "Unsatisfied Link" error is still there :-(

Herrner commented 4 years ago

I'm getting a catalina-capable Mac soon, too.

berndmoos commented 4 years ago

Documentation from Han: Packaging is done with jpackage, so maybe no need to bother with Launch4J and AppBundler. Will try, if no one else does...

N.B.: jpackage is not included in Java 11, 12 or 13. It is part of an early release of Java 14, no guarantee it will stay there.

berndmoos commented 4 years ago

Some screenshots when downloading the current version of FOLKER for Catalina:

Bildschirmfoto 2020-02-11 um 08 57 30

Won't start with double click.

Bildschirmfoto 2020-02-11 um 08 58 37

Will start after right click and "Open..." from the context menu.

Bildschirmfoto 2020-02-11 um 08 59 26

Error message after opening (does no harm).

Bildschirmfoto 2020-02-11 um 09 03 27

... and then it's there. Audio plays okay with BAS player.

berndmoos commented 4 years ago

One more new insight: instead of using the ELAN players from mpi.eudico.client.annotator.player, it is probably a good idea to use the "independent" versions from nl.mpi,*.player. However, this means a lot of additional work, e.g. setting a controller. Oh Lord.

berndmoos commented 4 years ago

Then again: the Unsatisfied LinkError goes away when I make a new project in NetBeans. Maybe a lot of this has to do with buggy NetBeans.

Yes -- confirmed.

berndmoos commented 4 years ago

Another new insight: The new elan.jar does not have CocoaQTPlayer in it, so this has to go, too.

berndmoos commented 4 years ago

Revised rescue plan:

berndmoos commented 4 years ago

This one does a part of the trick:

C:\Program Files\Java\jdk-14\bin>jpackage.exe --type app-image --input D:\EXMARaLDA_GIT\exmaralda\EXMARaLDA_NetBeans_Project\dist --dest D:\EXMARaLDA_NEW_BUILD_TEST --main-jar EXMARaLDA_NetBeans_Project.jar --icon D:\EXMARaLDA_GIT\exmaralda\EXMARaLDA_NetBeans_Project\templates\windows\icons\partitureditor.ico Creates an app-image with an PartiturEditor.exe, this will run and playback with BAS Audio Player Need yet to figure out:

berndmoos commented 4 years ago

A batch job:

cd "C:\Program Files\Java\jdk-14\bin"

rmdir D:\EXMARaLDA_NEW_BUILD_TEST\PartiturEditor /s
rmdir D:\EXMARaLDA_NEW_BUILD_TEST\FOLKER /s

jpackage.exe --type app-image --input D:\EXMARaLDA_GIT\exmaralda\EXMARaLDA_NetBeans_Project\dist --dest D:\EXMARaLDA_NEW_BUILD_TEST --main-jar EXMARaLDA_NetBeans_Project.jar --app-version 1.6.2 --icon D:\EXMARaLDA_GIT\exmaralda\src\org\exmaralda\partitureditor\partiture\Icons\partitureditor.ico --java-options -Djava.library.path=$ROOTDIR\app\

jpackage.exe --type app-image --input D:\EXMARaLDA_GIT\exmaralda\EXMARaLDA_NetBeans_Project\dist --dest D:\EXMARaLDA_NEW_BUILD_TEST --main-jar EXMARaLDA_NetBeans_Project.jar --main-class org.exmaralda.folker.application.ApplicationFrame --app-version 1.2.2 --icon D:\EXMARaLDA_GIT\exmaralda\EXMARaLDA_NetBeans_Project\templates\windows\icons\folker.ico --java-options -Djava.library.path=$ROOTDIR\app\ --name FOLKER 

copy "D:\EXMARaLDA_LIBS_2020\native" "D:\EXMARaLDA_NEW_BUILD_TEST\PartiturEditor\app"
copy "D:\EXMARaLDA_LIBS_2020\native" "D:\EXMARaLDA_NEW_BUILD_TEST\FOLKER\app"

Seems like tools need to be distributed (or at least installed) separately

berndmoos commented 4 years ago

image

Not too bad:

berndmoos commented 4 years ago

image

Forgot TEI Drop...

berndmoos commented 4 years ago

Next on:

berndmoos commented 4 years ago

https://www.exmaralda.org/files/prevDL/exmaralda_setup_13_64.exe

image

Oh, it's Java 14. Probably because I used that for packaging. Not sure if that's a good idea.

Any testers?

berndmoos commented 4 years ago

Next on: Make the AVF Player work on the MAC. Not now.

Herrner commented 4 years ago

Any testers?

Installing on Windows 10 worked (no previous EXMARaLDA-install), running PE from the setup worked. Playing AnneWill.avi (JDS), AnneWill.wav (JDS) works, webm doesn't. Desktop and start menu shortcuts don't find their targets (COMA does, tho).

Herrner commented 4 years ago

image

==> Wrong file assocications in innosetup.iss, I can fix this

image

berndmoos commented 4 years ago

Any testers?

Installing on Windows 10 worked (no previous EXMARaLDA-install), running PE from the setup worked. Playing AnneWill.avi (JDS), AnneWill.wav (JDS) works, webm doesn't. Desktop and start menu shortcuts don't find their targets (COMA does, tho).

==> if webm is mpeg4, it might work with JavaFX player

berndmoos commented 4 years ago

Uh! Ah!

image

berndmoos commented 4 years ago

There are now also disk images for all tools on MAC OS, but they get corrupted in upload somehow. The build, packaging, distribution process for Windows and MAC is automated again (and somehwhat simpler than before). Remaining known issues:

A temporary download page for everything is here:

https://exmaralda.org/files/prevDL/experimental.html

Testers are badly needed. Please join this issue!

image

berndmoos commented 4 years ago

When I use the JAVA FX player on Windows 7, the "play selection" on a regular audio-wav file does not stop at the right crosshair.

Yes, same here: the JavaFX-Player is no good for WAV files. It seems okay for Mpeg4 video, and that's more important

berndmoos commented 4 years ago

About the corrpution: maybe due to signing:

https://stackoverflow.com/questions/22458027/mac-dmg-oddity-signing-and-damaged-applications https://apple.stackexchange.com/questions/175634/all-downloaded-files-cannot-be-opened-as-they-are-damaged-and-should-be-moved-t https://bugs.openjdk.java.net/browse/JDK-8230629 http://kothar.net/macos_catalina_java_11 http://www.zarkonnen.com/signing_notarizing_catalina

berndmoos commented 4 years ago

This is absurd. I have perfect disk images locally. When I upload them (via ant ftp) and download them again, MAC is saying "the application is damaged". It seems to be related to Gatekeeper and signing/notarization, but there is no way to find out what exactly the problem is.

This is intended to make the experience safer for end-users and prevent the spread of malicious programs, but it does also make things more complicated, especially for people who aren’t primarily Mac developers but would like to support or keep supporting Macs. [http://www.zarkonnen.com/signing_notarizing_catalina]

berndmoos commented 4 years ago
codesign -v {x.app}
code has no resources but signature indicates they must be present

codesign --remove-signature /Users/thomasschmidt/Desktop/PartiturEditor.app

And then it will run ?!?!?!?

berndmoos commented 4 years ago

Tada.

Gatekeeper will then only ask if the "application downloaded from the internet" should really be opened. This is for the case that settings are as follows:

image

If it's not "überall", the app can still be started via the right-click menu and open.

berndmoos commented 4 years ago

Next on:

berndmoos commented 4 years ago

Windows and MAC OS distributions are now on the "regular" preview page. Five users have tested on Catalina successfully.

berndmoos commented 4 years ago

Switched to offical JDK 14 release on Windows. No problems afaics

berndmoos commented 2 years ago

Let's just say this is done -- at least, there's no way of rolling back. and it seems to be largely okay on Windows and MAC OS. Time for that:

image

berndmoos commented 1 year ago

Next round:

@Herrner, @wuddel: Please join the party: https://exmaralda.org/files/prevDL/experimental.html

berndmoos commented 1 year ago

MAC OS apps built with type=dmg won't open:

"PartiturEditor.app" ist beschädigt und kann nicht geöffnet werden.

This is probably due to faulty signing.

berndmoos commented 1 year ago

I am messing up issues. This story is continued in two other issues:

berndmoos commented 1 year ago

This is done now. Soon: Java 22 / 128bit?