Filmulator and Windows

Try it now, I just removed that, and also searched for any other instances of interface (there were none.

it compiles:grinning:
Now I reached the install step. There is an error

make -f Makefile.Debug install
make[1] : on entre dans le répertoire « /d/programmes/filmulator/dev_64 »
Copying application data...
C:/msys64/mingw64/bin/qmake.exe -install qinstall D:/programmes/filmulator/filmulator/filmulator-gui/qml/filmulator-gui D:/programmes/filmulator/filmulator/filmulator-gui/qml/filmulator-gui
Error copying D:/programmes/filmulator/filmulator/filmulator-gui/qml/filmulator-gui/colors.js to D:/programmes/filmulator/filmulator/filmulator-gui/qml/filmulator-gui\colors.js: Cannot open D:/programmes/filmulator/filmulator/filmulator-gui/qml/filmulator-gui/colors.js for input
make[1]: [Makefile.Debug:740: install_itemfolder_01] Error 3 (ignorée)
make[1] : on quitte le répertoire « /d/programmes/filmulator/dev_64 »

I will see that tomorrow.
Thanks

So now that it compiles, I need to figure out how to adjust the project file to put things in the proper location for Windows.

Also I have some directories hardcoded; those need to be #ifdef gated to individual operating systems…

Does anyone know where in the Windows file tree would be the equivalent of ~/.local/share? For thumbnails and the database, basically.

This might help:

2 Likes

Perhaps @ggbutcher can lend some assistance, as I know he just did some similar things in rawproc.

Actually, it seems Qt provides the handy QStandardPaths class to abstract away all this location stuff. No #ifdefs needed.

1 Like

And now Filmulator uses standard paths instead of hardcoded directories.

Next I’ll have to wrestle with qmake…

Rawtherapee uses LOCALAPPDATA for config and cache user folders.
If they don’t exist, they are created when starting RT.
These locations can be modified at run time with environment variable see https://rawpedia.rawtherapee.com/File_Paths
For program data (user independant) it is better to locate them inside application directory (no use of ProgramData folder)

I will try to make a manual install in bash.

I copied in a directory:

  • filmulator-gui.exe
  • all required dlls
  • qml dir and subdirs

run with gdb

Reading symbols from filmulator-gui...done.
(gdb) run
Starting program: D:\PROGRAMMES\Filmulator\fminstall\Filmulator_dev_v0.7.0-7-g3567c7c_release_64\filmulator-gui.exe
[New Thread 2608.0x2ad4]
[New Thread 2608.0x190c]
[New Thread 2608.0x18f4]
[New Thread 2608.0x2c28]
[New Thread 2608.0x2420]
[New Thread 2608.0x2df4]
APPDIR: (null)
dbSetup old version: 9
[New Thread 2608.0x2c80]
[New Thread 2608.0x2d08]
loading UI from copy in directory
[New Thread 2608.0x285c]
warning: QQmlApplicationEngine failed to load component
warning: file:///D:/PROGRAMMES/Filmulator/fminstall/Filmulator_dev_v0.7.0-7-g3567c7c_release_64/qml/filmulator-gui/main.qml:70 Edit is not a type

warning: Error: your root item has to be a Window
[Thread 2608.0x2df4 exited with code 0]
warning: QThread: Destroyed while thread is still running
[Thread 2608.0x2420 exited with code 3]
[Thread 2608.0x190c exited with code 3]
[Thread 2608.0x18f4 exited with code 3]
[Thread 2608.0x285c exited with code 3]
[Thread 2608.0x2c80 exited with code 3]
[Thread 2608.0x2c28 exited with code 3]
[Thread 2608.0x2d08 exited with code 3]
[Inferior 1 (process 2608) exited with code 03]

No BT

If you edit main.qml and comment out line 70 through 80 inclusive (// works), does the window come up?

You won’t be able to actually do any photo editing without the Edit tab loaded, but I’m just curious as to whether the issue is specific to Edit or if it gives a different error.

No, the window doesn’t come up

(gdb) run
Starting program: D:\programmes\filmulator\fminstall\Filmulator_dev_v0.7.0-7-g3567c7c_release_64\filmulator-gui.exe
[New Thread 11664.0x1708]
[New Thread 11664.0xc80]
[New Thread 11664.0x2340]
[New Thread 11664.0xb94]
[New Thread 11664.0x14d8]
[New Thread 11664.0x1fb8]
APPDIR: (null)
dbSetup old version: 9
[New Thread 11664.0x2a18]
[New Thread 11664.0x29d8]
loading UI from copy in directory
[New Thread 11664.0x2a68]
warning: QQmlApplicationEngine failed to load component
warning: file:///D:/programmes/filmulator/fminstall/Filmulator_dev_v0.7.0-7-g3567c7c_release_64/qml/filmulator-gui/main.qml:6 Script file:///D:/programmes/filmulator/fminstall/Filmulator_dev_v0.7.0-7-g3567c7c_release_64/qml/filmulator-gui/colors.js unavailable
file:///D:/programmes/filmulator/fminstall/Filmulator_dev_v0.7.0-7-g3567c7c_release_64/qml/filmulator-gui/colors.js:-1 Le fichier sp?cifi? est introuvable.

warning: Error: your root item has to be a Window
[Thread 11664.0x1fb8 exited with code 0]
warning: QThread: Destroyed while thread is still running
[Thread 11664.0x2a68 exited with code 3]
[Thread 11664.0x2340 exited with code 3]
[Thread 11664.0xb94 exited with code 3]
[Thread 11664.0x2a18 exited with code 3]
[Thread 11664.0x14d8 exited with code 3]
[Thread 11664.0x29d8 exited with code 3]
[Thread 11664.0xc80 exited with code 3]
[Inferior 1 (process 11664) exited with code 03]
(gdb)

Can you explain how you set up your Windows to build all the libraries and include them? I’m a newb at developing on Windows, and it’ll clearly be more efficient if I try things out on my end.

If you have a prayer on Windows itself, it’s with MYS2. Someone’s compiled and pacman’ed just about every library you’ll need. Also, it’ll let you install to and use a proper /usr/local/lib for anything you have to compile yourself. Pretty close to what you do on Linux.

However, I’ve found cross-compiling on Linux to be more effective to my particular needs, particularly -static. Yes, I’m just stubborn that way… And, with this last library hell presented by Lensfun, mxe proved to be the savior. It’s just a big Makefile that will build a particular shared or static toolchain AND most of the libraries you’ll need. Only problem I’ve had is the commit I cloned was still on gcc 5.4, would rather have had 7.x. With all that set up, I wrote a build script that configured, make clean-ed, make-d , make doc-ed, make appimage-ed, and make wininstaller-ed (inno setup on wine), then posted the whole mess of files to a directory and md5sum-ed them. Easy-peasy, https://mxe.cc

I cannot say better than @ggbutcher except for cross compile that I don’t know.

I installed MSYS2 in order to build rawtherapee.
It offers a Linux like environment with bash. The packages are managed with pacman.

  • Msys2 installation: follow Windows - RawPedia until “download and build libiptcdata”

  • 2 install needed packages with pacman in Msys shell

  • 3 use mingw64 shell for building apps in order to have the needed environment.

With Msys2 I build regularly Rawtherapee, lensfun, HDRmerge, LuminanceHDR.

1 Like

I installed node.js under msys2.
Now I can install colors.js doing npm install colors

Where should I put the colors package? ( use linux conventions for locations please), and where is it located in your linux system?

colors.js is a javascript file in the Filmulator repo that defines the UI colors.

It’s not a dependency.

There is no colors.js file in the Filmulator repo. So I thought I had to find it .
Could you upload it and indicate where to put it in the build?

It’s there.

dev branch Installation completed.
I did not tested the app. I have to learn how to use it.

The colors.js was effectively in the repo, but I made a copy of qml dir from the build directory in which it is incomplete.
Note : perhaps build dir and install dir are not QT concepts :flushed:
The installation procedure I made is a hack in bash. :scream:
The QT installation part on W10 is broken ( rather not adapted to Windows/Msys2 environment).

2 Likes

Hmm, it looks like there are some rendering issues with the text in buttons. I wonder why…