GR floorboard editor coding questions

Started by general failure, October 23, 2017, 08:20:58 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

general failure

Hi,

I was curious for the source code  of the Floorboard app, so for the purpose of education I pulled the code. I'm an experienced programmer, but mainly on the windows platform, a QT solution never crossed my path, so a great opportunity to learn.

I made some notes that might be handy for other aspirant users (add them to the readme.txt?)
On my 64bit system t didn't have any 32 bit dev platform installed anymore, and the QT error messages didn't make it clear to me, but as the WinMM.dll is 32bits, the whole application has to be built 32bits. So before installing QT (or running the QT maintenance) be sure to have a 32 bit dotnet platform installed. You might have to search in the maintainer in the list of lower version of the QT flavours, like msvc2013-32 is found only in version 5.8.

The winMM.dll is added to the source code in git, but it is not added to the project. You have to do that manual:
AddeExternal Library, With the upper browse button point to your sourcecode version of \windows\WinMM.Lib'
Note that the upper edtibox holds the full path to the lib and the next one only the path to it.
Link dynamic. If you do not plan to build Linux or Mac binaries then uncheck those.
the supplied library has no debug version so don't check the debug/release subfolders, and no need for "d" suffix
in the prj file: in line 64 and 67: correct the path to your source code
in line 153: remove the attached d (-lWinMMd)
   else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/windows/ -lWinMM

Then a code error:
    D:\projects.svn\grfloorboard-code\customMultiComboBox.cpp:346: error: C4716: 'customMultiComboBox::getMPTitems' : must return a value
Fortunately gumtownbassman already commented the solution out... :-) 

After this the code compiled and I could run the application.

Now my question, mainly to Mr gumtown:
Of course I can put breakpoints and debug output everywhere to find out the working of the program by myself. But maybe there is some kind of high level docu about the way this program communicates with the GR55?

The patch editor is brilliant, so I even don't dare to think of beating that code :-) but I might want to make a simple sort of patch loader that works from my tablet:
- Finding out the current active patch name
- upload a patch from PC to the active patch location
- How to load the user patch names
- Maybe load g5l patches from disk

Do you have any hints for these questions?

Marcel




gumtown

Have you tried the GR-55 Patch Loader?
https://sourceforge.net/projects/grfloorboard/files/GR-55%20Patch%20Loader/

let me know if you would like the source for that, and I will post a zip file there.


winMM.lib is part of windows SDK, and a link to it must be provided in gr-55floorboard.pro.

dot.net is not required as Qt5 is fairly non-dependant of Microsoft dll's.

Normally the vanilla shared lib build download of Qt is enough to build the source by opening GR-55FloorBoard.pro,
the QT package should include "mingw32" compiler, this runs/builds 32bit applications on 32 or 64 bit windows systems (I am using win7/64 with Qt5.6 static build).
The static build/compile of Qt allows for the application to be transportable with all dependencies/libs built in.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

general failure

Indeed this Patch Loader looks like similar functions I'm looking for, so might be easier to review. I like to have the code, please.

As I'm not familiar with Qt I installed  msvc2013-32 as compiler (which I mistakingly mentioned as 32 bit dotnet platform).
I didn't know that mingw32 was the independant version of that. Installed that one and that works too. That's programmers life: learning every day ;D Thanks!!

general failure

How can I get the source code of the patch loader? its not (yet?) on sourceforge