I've tried that in the past and had problems with it, hence the switch to Sears. Naturally I can't remember what the problems were now
If we can't get it working then I'll reinvestigate Aegisub, but I'm not currently under any time pressure so I'll see how this conversion goes first.
Hey again;
So I've been working on getting it to play nice with opening files directly from the Finder and have made some progress. - I went back to the drawing board and started looking at new ways of packaging the .app bundle entirely, now using a fork of the app bundler instead of jarbundler for the ant build environment.
In any case, It properly registers with macOS for all the document types, getting the correct icon and opening the program when they're launched, but for me it still didn't actually open the files. And after digging for a long time in the source code I've noticed some more slightly confusing things.
Remember how I said earlier that for me It didn't automatically put the menu bar up in the Mac's menu bar when I ran the jar directly, only after I had made some tweaks? But you said it did for you? Well, now that I've spent more time looking at the source code, it really ought to have done that for me too. I used a different mechanism to achieve it last which worked for me, but there is code in here that should accomplish the same thing.
After digging further, I found that when the program runs, at least on my machine, it actually fails to create the SearsApp object that it uses to integrated with macOS features like getting the file passed from the Finder. It throws an exception upon trying to get a class from Apple's extended awt class library.
Since you didn't have the menu bar issue when running the jar directly I figured you might have a go at testing something for me to see if it's just me having some weird issues with this.
I've added some code to the project that will upon an extra window when the app is launched with the window title "CRASH" and a stack trace in it. If you do not get this window it's a sign that something is working for you that isn't for me.
PS. It will show up as an absolutely tiny window by default cause I couldn't be bothered setting a size for it. It'll be really hard to notice it, and be in the top left. Use Exposé to quickly see if it's there (ctrl+down_arrow or if enabled swipe down with three fingers on the trackpad)
Cheers. Hope it's working for you, but I'll continue digging into it if it's not. Oh and if it is, I'll remove my debugging code and send you a cleaner one. There's a couple of lines here and there that I've just added to give me a visual idea of where things happen and where they don't.
Debugging something without being able to use System.out.print because what you're testing won't show if you run it from a Terminal and having to make Dialog boxes just to get a clue what's happening sucks, haha. Guess I should write a little helper function to write my debug info to a file if I am to work more on this...
Kinda fun though.
The code does have some things that annoy me though. Like, there are places where they make a class when what they really want is an interface, so it's just this empty class that they inherit from for polymorphism. But other places they do use Interfaces, so it's not like they don't know about the language feature. There may be a reason for it but I haven't found it yet. Can't see why you'd want to be able to instantiate a version of it without any method implemented though. Seems like it's just used as an interface.
Anyhow, let me know how the .app in there behaves. Do you get the window with the stack trace (expand the tiny window to see the stack trace inside)?
Does it open files you try and open from the Finder correctly?
Do you have app name, menu bar and icon working properly with it?