Development Environment for MS3.7
Are there any details on how to set up a development environment for MS3.7 Evolution on Windows? If so, where can I find them?
[Update] Added the wiki link here so that it's at the top of this thread.
https://github.com/Jojo-Schmitz/MuseScore/wiki/Setting-Up-a-Development…
Comments
It is the same as for 3.x, and basically like in the developers' handbook here on musescore.org
In reply to It is the same as for 3.x,… by Jojo-Schmitz
For the VS2022 installation, do I need to select these options?
• ASP.Net and web development
• .Net desktop development
These are shown ticked in the Developers Handbook.
In reply to For the VS2022 installation,… by yonah_ag
I don't think they are needed. Would need to cross check with my installation, but that would have to wait.
Also I'm mostly using QtCreator and MinGW
In reply to I don't think they are… by Jojo-Schmitz
Does that make for a lighter weight installation?
In reply to Does that make for a lighter… by yonah_ag
Well not really as I have VS installed too 😉
In reply to I don't think they are… by Jojo-Schmitz
The Developers Handbook says that MinGW is deprecated.
In reply to The Developers Handbook says… by yonah_ag
It is for master, but works for 3.x
In reply to It is for master, but works… by Jojo-Schmitz
The developer handbook could usefully separate MS3 and MS4, just like the User Handbook.
In reply to The developer handbook could… by yonah_ag
It is, in essence. The Mu4 developers' handbook is in the Wiki on GitHub, the Mu3 one on musescore.org
In reply to It is, in essence. The Mu4… by Jojo-Schmitz
I thought that when you mentioned "master" above, you were referring to MS4.
In reply to I thought that when you… by yonah_ag
I did
In reply to I did by Jojo-Schmitz
So there are some MS4 instructions mixed in with MS3 here:
https://musescore.org/en/handbook/developers-handbook/compilation/compi…
In reply to So there are some MS4… by yonah_ag
Yes. The wiki though is Mu4 only
In reply to Yes. The wiki though is Mu4… by Jojo-Schmitz
Not sure that I'll ever make the jump to MS4 as it doesn't have any advantages for me over MS3 and has some key missing features. It's a bit confusing that the MS3 guide has some MS4 info, especially when MS4 has its own wiki.
In reply to Not sure that I'll ever make… by yonah_ag
Yes. That's why your effort to document it for 3.x is esp. appreciated
In reply to Yes. That's why your effort… by Jojo-Schmitz
:-)
In reply to :-) by yonah_ag
And it actually needs to be done by someone setting it up from scatch, as documenting a setup long after the fact is not going to work well. Like I can only confirm or deny the need of certain things, but my setup is several yeras old and I just don't remember everything any more. I do remember though to having modified the developers' handbooks (indeed both) if and when I found missing or wrong steps.
In reply to And it actually needs to be… by Jojo-Schmitz
Yes, that makes sense. I've already had a few re-installs of several packages so, probably next weekend, I'm going to uninstall everything and start again, looking for a minimum installation for Win 64 builds. (I still have Jack and the prerequisites package to play with). Is it worth doing the whole setup before adding my downloaded repo?
In reply to Yes, that makes sense. I've… by yonah_ag
Entirely your decision
In reply to I don't think they are… by Jojo-Schmitz
I'm using VS for master and QtCreator/MinGW for 3.x, mainly to keep them appart more easily. But QtCreator/MSVC should be possible too, for both (in the end on GitHub CI MSVC is used anyway), and (at least the former) even needed when it comes to deal with (i.e. modify) .ui files. I've so far just been to stupid and lazy to get this set up.
In reply to For the VS2022 installation,… by yonah_ag
I checked and and do have "ASP.NET and Web Tools" and .NET desktop development" installed. I don't think though it is really needed, but I'm not sure.
In reply to I checked and and do have … by Jojo-Schmitz
Thanks. I have not installed them with my VS2022 so I'll guess that I'll soon find out whether they are needed.
That is interesting for me as well.
I know I already said that some years ago and never really went up to a PR, but I 'm thinking helping 3.7 dev if possible.
In reply to That is interesting for me… by frfancha
That's exactly my situation. I have a simple enhancement to add but I've put off setting up a development environment as it looks quite a daunting process but it's now time to take the plunge. What OS are you using?
If that goes well then I hope to add some more developments to 3.7, particularly in the area of the Plugin API.
In reply to That's exactly my situation… by yonah_ag
P.S. in the mean time you can also open a new issue @ github with details (which practically is appropriate either way), and if it's not too complex maybe merely communicating back and forth can help get something going by contributor(s) ;)
In reply to P.S. in the mean time you… by worldwideweary
in this case https://github.com/Jojo-Schmitz/MuseScore/issues
In reply to P.S. in the mean time you… by worldwideweary
Thanks, that is also a possible route. I've been working on various pluguns but I'm keen to dig in to some C++ core app development.
Feel free to document the steps you took and send them to me, so I can add them to the Wiki on GitHub
In reply to Feel free to document the… by Jojo-Schmitz
Good idea. Hopefully I'll be ready by the end of January.
In reply to Good idea. Hopefully I'll be… by yonah_ag
Actually I've just opened the Wiki for public editing
In reply to Good idea. Hopefully I'll be… by yonah_ag
Feel free to play with https://github.com/Jojo-Schmitz/MuseScore/wiki/MuseScore-3-Evolution,-S…
Thanks everyone.
Which version of the Qt libraries are you using in the build?
In reply to Which version of the Qt are… by yonah_ag
5.15.2, but 5.9.? should work too
In reply to 5.15.2, but 5.9.? should… by Jojo-Schmitz
I'll stick with 5.15.2 since my installed 3.7 is working fine.
Progress so far:
• VS2022 installed
• Cloned your GitHub MuseScore 3.x branch to my GitHub account as MS3.7
• Cloned my GitHub MS3.7 repo to my local computer.
I am documenting with screenshots as I go along. Next I want to familiarise myself with VS2022 and the codebase structure; then I'll install the specified prerequisites and do a test compile without any source mods.
Do I have to take care not to overwrite my installed MS3.7 when I compile?
In reply to I'll stick with 5.15.2 since… by yonah_ag
No
In reply to I'll stick with 5.15.2 since… by yonah_ag
@yonah_ag
Thanks for documenting your progress on setting up your development environment for 3.7.
In reply to 5.15.2, but 5.9.? should… by Jojo-Schmitz
I seem to have gone wrong somewhere with the Qt installer as I have ended up with 6.8.1!
In reply to I seem to have gone wrong… by yonah_ag
You need to enable the 'historic' view in the installer (I gave forgotten the real name) to see those old releases
In reply to You need to enable the … by Jojo-Schmitz
Would using Qt 6.8.1 be a problem?
In fact what would be the reason to not use the latest Qt version?
In reply to Would using Qt 6.8.1 be a… by frfancha
Is "it just doesn't work" enough of a reason?
Even master can't use that yet
In reply to Is "it just doesn't work"… by Jojo-Schmitz
If that doesn't work yes of course one can't use it.
Do you know why it doesn't work?
Is it because musescore uses some Qt features that have been removed from the latest Qt version?
In reply to If that doesn't work yes of… by frfancha
Bugs, shortcommings, things from Qt5 that got obsoleted and removed in Qt6, multiple reasons really.
Also backwards compatibility, switching to the latest Qt would loose the ability to build for certan OS versions (esp. older macOSs, possibly Windows 7 too)
In reply to If that doesn't work yes of… by frfancha
See also https://github.com/musescore/MuseScore/pull/25016, https://github.com/musescore/MuseScore/pull/24644, https://github.com/musescore/MuseScore/pull/25343, https://github.com/musescore/MuseScore/pull/25163 for several pending attempts, even master hasn't switched to the latest.
Finally got Qt5.15.2 installed.
It's a very slow download; seems to be throttling the bandwidth but not sure.
Any way, I now get this error message when starting VS2022.
(Also show are my Qt versions list from VS2022).
Any ideas?
In reply to Finally got Qt5.15.2… by yonah_ag
See https://github.com/Jojo-Schmitz/MuseScore/pull/428, where I started to work on such a CMakePresets.json.
But it isn't really needed.
Try the msvc_built.bat, see https://musescore.org/en/handbook/developers-handbook/compilation/compi…, usually only needed once, after that you can continue doing it with VS.
Guess you'd want
msvc_build.bat Debug 64
In reply to See https://github.com/Jojo… by Jojo-Schmitz
Something for next weekend.
In reply to Finally got Qt5.15.2… by yonah_ag
Qt must be the biggest bit of bloatware that I've ever come across.
54.6 GB is ridiculous.
I'll look at eliminating optional components.
In reply to Qt must be the biggest bit… by yonah_ag
Ah! Found plenty to eliminate. I'm only going to build for Windows 64-bit so I can dump most of these:
Hindsight says: "I should've been more selective in the first place."
CMake
Should I install the separate CMake from cmake.org or can I use the one available in Qt?
Actually it looks like VS2022 already has CMake as well! Surely I don't need all 3 versions.
https://devblogs.microsoft.com/visualstudio/latest-updates-for-cmake-de…
In reply to CMake Should I install the… by yonah_ag
I'd go for the Qt version
1.5 JACK installation completed as per developer handbook.
No issues.
1.4 Qt bin folder added to path. CMake now stops complaining about it being awol.
1.6 7-Zip Already had installed, (for MS3.7 extractions), but I recall it being a simple install.
1.7 Dependencies
Downloaded OK but I don't appear to have a checkout folder under my MuseScore 3.7 folder:
I have searched all sub-folders of the above and checkout is definitely not there.
In reply to 1.6 7-Zip Already had… by yonah_ag
CMake obviously cannot continue without the dependencies:
In reply to CMake obviously cannot… by yonah_ag
Should be in those dependencies
In reply to Should be in those… by Jojo-Schmitz
Yes. I was just seeing what error message I would get trying to CMake without the dependencies.
In reply to 1.6 7-Zip Already had… by yonah_ag
Checkout folder is where your MuseScore source is, your local clone of your GitHub fork
In reply to Checkout folder is where… by Jojo-Schmitz
I can't find a checkout folder in my repo structure either:
In reply to I can't find one in my repo… by yonah_ag
You need to place it there, the dependencies folder and its content
In reply to You need to place it there,… by Jojo-Schmitz
Got it!
Restarting VS seemed to launch a process and this was the output:
Is this expected? What is it telling me?
In reply to Got it! Restarting VS seemed… by yonah_ag
Oops! Just realised I didn't call the folder checkout but just moved the dependencies folder into my MS3.7 repo folder.
Not sure if this is a problem because further up the log file I can see:
So it seems to be finding the dependencies.
In reply to Oops! Just realised I didn't… by yonah_ag
that's right, it is dependencies in your repo folder (AKS checkout folder)
In reply to that's right, it is… by Jojo-Schmitz
Got it! A repo downloaded from GitHub is also known as a checkout.
In reply to Got it! Restarting VS seemed… by yonah_ag
Looks fine to me
In reply to Looks fine to me by Jojo-Schmitz
Does that mean that it has buillt MuseScore or just checked all the dependencies?
(I have never used Visual Studio before).
In reply to Does that mean that it has… by yonah_ag
It build the config for building
In reply to It build the config for… by Jojo-Schmitz
So the next step of the compile guide says:
So it looks like something has gone astray because my mscv_build_x64 folder doesn't have those files:
In fact no files/folders with today's date.
In reply to So the next step of the… by yonah_ag
Check msvc.build/x64-Debug or msvc.build/x64-RelWithDebInfo
In reply to Check msvc.build/x64-Debug… by Jojo-Schmitz
Nonsense, that's for master...
In reply to So the next step of the… by yonah_ag
Check in msvc.build_x64
In reply to Check in msvc.build_x64 by Jojo-Schmitz
That's my above screen snip. No sign of a .sln file or any .vcxproj files.
In reply to That's my above screen snip… by yonah_ag
That's my above screen snip. No sign of a .sln file or any .vscproj files.
This is still problem for you now, or you could solve that?
In reply to That's my above screen snip… by frfancha
Still a problem. The generation says that is has completed but I can't find its output.
@Yonah I'm finally starting the same journey.
Have you updated the existing guide, created a new doc, or should I just follow the existing guide for now?
In reply to @Yonah I'm finally starting… by frfancha
The existing guide is a bit confusing as it has some MS4 instuctions included but it is usable. Use everything that is for 3.6.2 but "master" means MS4.
My experience suggests that some options may not be needed as separate installation, e.g. CMake which is already part of Qt and also VS.
I will update Jojo's new Wiki for 3.7 once I have got everything running.
You can follow my progress in the above comments and just have a go. Do make sure to be selective in your Qt options as the default can generate a 50+ GB installation.
I feel that I must be nearly ready now but there are still a few teething troubles.
In reply to The existing guide is a bit… by yonah_ag
You could just start the Wiki with what you already have.
It is supposed to be a living document anyway
In reply to You could just start the… by Jojo-Schmitz
I'll make a start.
In reply to You could just start the… by Jojo-Schmitz
Just had a look at the Wiki page and ... another learning curve awaits me!
I thought that it was just going to be an html or markdown document but it's not.
Correction it appears to be a set of Markdown documents in different folders. Phew!
In reply to You could just start the… by Jojo-Schmitz
How do I make a page in the WIki become a sub-page?
In reply to How do I make a page in the… by yonah_ag
Use that sub page , I do d set it up for this and it empty currently
In reply to Use that sub page by Jojo-Schmitz
I made the Developer's Guide page and the the Setting Up Evironment page.
It was supposed to be a sub-page of the developer's guide but ended up at the same level.
In reply to I made the Developer's Guide… by yonah_ag
I'll sort it put, tomorrow...
In reply to I made the Developer's Guide… by yonah_ag
I don't see anything?!?
https://github.com/Jojo-Schmitz/MuseScore/wiki/MuseScore-3-Evolution,-S… is where it is supposed to go.
In reply to I don't see anything?!?… by Jojo-Schmitz
I was surprised to see (2) in this list:
I thought that I would only see (1) in this list and that I would reference (2) from (1) inside the Markdown. So, is it expected that (2) would also show in this page list or have I done something wrong? I am not familiar with GitHub wiki editing.
In reply to I was surprised to see (2)… by yonah_ag
Ah, now I see it too... need new glasses it seems
In reply to Ah, now I see it too... need… by Jojo-Schmitz
Maybe all pages get shown in that list - just guessing.
In reply to Ah, now I see it too... need… by Jojo-Schmitz
Better now? I created a custom side bar
In reply to I don't see anything?!?… by Jojo-Schmitz
Also, how did you get your markdown url be different to the actual web url?
In reply to Also, how did you get your… by yonah_ag
Good question... next one please ;-)
In reply to @Yonah I'm finally starting… by frfancha
@Jojo
That is a basic question (I'm saying that for the last time, otherwise I'll repeat it in every post).
The initial fork, I should do that from your repo rather than the official MuseScore as the goal if to develop for 3.7, right?
In reply to @Jojo That is a basic… by frfancha
Yes
In reply to Yes by Jojo-Schmitz
Default fork option of github: calling "my" repo MuseScore, and copying branch 3.x only
=> ok to call it MuseScoreEvolution or the name should rather be MuseScore ?
=> is 3.X indeed "the" branch to copy ?
In reply to Default fork option of… by frfancha
3.x is the default branch in my repo.
How you name it is up to you AFAIK
In reply to Default fork option of… by frfancha
I called mine MS3.7 so that it would have a different name to Jojo's. This also keeps the door open for a MS4 repo in the future, (you never know).
In reply to @Jojo That is a basic… by frfancha
Then you can clone a download to your local computer using Visual Studio.
In reply to Then you can clone a… by yonah_ag
I'm quite familiar with GIT Extensions and like to use that one.
I know GIT is very well integrated with Visual Studio (and Visual Studio Code) and that GIT Extensions is not really necessary anymore but old habits...
I also like that by being in GIT Extensions I know all I'm doing is taking care of GIT stuff, and not GIT stuff and also a bit of coding
In reply to I'm quite familiar with GIT… by frfancha
I've never heard of GIT or GIT Extensions, only GitHub.
I'm aiming for a minimal, simple-as-possible development environment.
In reply to I've never heard of GIT or… by yonah_ag
If you have never heard of GIT, then I would really recommend you install GIT Extensions.
You will need to use GIT (a lot) to contribute to the source code, and GIT Extensions is a visual interface around the GIT commands that will allow you to be very quickly fully operational in GIT without any need to remember their names and options.
It also makes commit preparation easier.
In reply to If you have never heard of… by frfancha
I use GitHub desktop as far as possible, sometimes need to go to the command line
In reply to If you have never heard of… by frfancha
According to Microsoft, VS2022 provides a visual user interface to GIT. I'll see what limitations it has before adding any more software to my environment.
https://learn.microsoft.com/en-us/visualstudio/version-control/git-with…
In reply to I'm quite familiar with GIT… by frfancha
I understand the "old habits" point. I've got to learn something new whichever way I go with this. I just want to get on with coding as soon as possible.
Well I could't find any output from "CMake Generation Finished" so I had a look on the Build menu and found an option called Build All so I thought I'd give it a try. It ran for about 5 minutes and generated a process log ending with this:
There are lots of warnings and it seems to have stopped on step [868]/[869].
Any ideas what to try next?
In reply to Well I could't find any… by yonah_ag
I don't recall having seen such warnngs (!) before, but at the end it says "Build All succeeded"
Now do "Build Install"
In reply to I don't recall having seen… by Jojo-Schmitz
Install succeeded but the install does not run:
In reply to Build install succeeded but… by yonah_ag
Build All and Install were used from this menu:
In reply to Build All and Install were… by yonah_ag
Ah, OK, but see also the Solution Explorer window
In reply to Build install succeeded but… by yonah_ag
Exactly my issue currently with Debug mode. Try RelWithDebInfo
In reply to Well I could't find any… by yonah_ag
Make 'mscore' the default target
In reply to Make 'mscore' the default… by Jojo-Schmitz
I didn't get asked about a target folder. It got built here:
In reply to I didn't get asked about a… by yonah_ag
Different from my setup, where it is msvc.build_x64 and msvc.install_x64
In reply to Well I could't find any… by yonah_ag
I'm currently having issues building in Debug mode with MSVC, it just crashes on startup, in a
delete
, an assertion failure deep in Qt.Works in RelWithDebInfo mode though.
In reply to I'm currently having issues… by Jojo-Schmitz
Sorry but I don't (yet) know what that means? (build in Debug vs RelWithDebInfo).
Is MSVC shorthand for Visual Studio 2022?
In reply to Sorry but I don't (yet) know… by yonah_ag
MicroSoft Visual C(++), the compiler, Visual Studio uses
There are basically 4 build modes, Release, MinSizeRel, RelWithDebInfo and Debug (a pibup menie in VS, Visual Studio). we can safely ignore MinSizeRel, and I believe Release too.
In reply to MicroSoft Visual C(++) There… by Jojo-Schmitz
There must some config that I can change in VS since Build All did not ask for details of the build mode.
In reply to There must some config that… by yonah_ag
In reply to [inline:Screenshot 2025-01… by Jojo-Schmitz
I have fewer options:
I'm trying "Release" ...
In reply to I have fewer options: … by yonah_ag
Not good I guess.
In reply to I have fewer options: … by yonah_ag
Try running
msvc_build.bat RelWithDebInfo 64
In reply to I have fewer options: … by yonah_ag
Success! Built my first local MS3.7 with the Release option.
I'll try the batch file next.
In reply to Success! Built my first… by yonah_ag
Hooray!!
In reply to Hooray!! by Jojo-Schmitz
Is the batch file part of VS or Qt?
How will it know which repo to build?
In reply to Is the batch file part of VS… by yonah_ag
Neither, it is part of the repository and builds the currently checked out branch
In reply to Neither, it is part of the… by Jojo-Schmitz
Failed!
In reply to Failed! [inline:Build03.png] by yonah_ag
first do a "
cd ..
", as that bat file is not in vtest nor in %PATH%In reply to first to a cd .. by Jojo-Schmitz
I must've misread the tree as I thought it was in vtest
In reply to I must've misread the tree… by yonah_ag
Had to use ".\msvc_build.bat" even after "cd .." but it ran, finishing with this output:
How do I now do the install step with this?
In reply to Also had to use ".\" but it… by yonah_ag
Having to use .\ in a Windows command window is unusual, unlike UNIX the current directory is searched.
Now you can use VS.
In reply to Having Tilo use .\ in a… by Jojo-Schmitz
.\ is bizarre but maybe it has something to do with it being a poweshell window within VS rather than a Windows command prompt.
Launching the VS Install ...
In reply to .\ is bizarre but maybe it… by yonah_ag
The MuseScore3.exe file datetime stamp did not change and the install ran very quickly saying that all the files were already up to date.
In reply to The MuseScore3.exe file… by yonah_ag
OK, then the bat file did the install to, apparently?
I usually interrupt it after the setut steps and continue in VS.
The bat is needed only once BTW
In reply to OK, that the bat file did… by Jojo-Schmitz
But my x64-release\bin\MuseScore3.exe has a timestamp of 3 hours ago, not just now:
So the .bat build hasn't updated this file.
In reply to But my x64-release\bin… by yonah_ag
checked msvc.install_x64 ?
In reply to checked ...-RelWithDebInfo ? by Jojo-Schmitz
Oops! Just checked it, and it's not happy:
In reply to Oops! Just checked it, and… by yonah_ag
Why does the .bat file only need to be run once?
In reply to Why does the .bat file only… by yonah_ag
It is creating the solution
In reply to It is creating the solution by Jojo-Schmitz
Any ideas on the Qt failure on running the bat built version?
In reply to Any ideas on the Qt failure… by yonah_ag
No, sorry
In reply to .\ is bizarre but maybe it… by yonah_ag
Ah, yes, PowerShell vs command.exe
In reply to Also had to use ".\" but it… by yonah_ag
The .\ is necessary because you were in a PowerShell session.
You don't need to type it though, you can just type the first letters of the file and hit [tab], PowerShell will add the .\ for you
In reply to The .\ is necessary because… by frfancha
PowerShell is new territory for me but I am familiar with command prompt and batch files.
I'm removing compoments from Qt to find a minimum installation for Windows. So far Qt's CMake has gone the distance because VS2022 has its own CMake and it works.
Are Qt Creator and QT Design Studio any use? I can open a MuseScore QML plugin with Creator and the editor is much better than the MS built-in one but Notepad++ is just as good. There doesn't seem to be any way to run the plugin from Qt Creator, (to test the UI layout), so it looks redundant.
In reply to I'm removing compoments from… by yonah_ag
Definitly needed when dealing witj .ui files
And when doing translations locally (there is no Transifex tor 3.x anymore)
Building with QtCreator is possible too (and my preference)
In reply to Definitly needed when… by Jojo-Schmitz
Both Creator and Design Studio?
I have removed Design Studio and everything is ok so far.
What about Qt Ninja?
In reply to Both Creator and Design… by yonah_ag
Design Studio is needed for .ui files (I think)
I don't use Ninja (haven't gotten it to work)
In reply to Design Studio is needed for … by Jojo-Schmitz
I don't know what Ninja is but I saw it listed in the Qt install. I'll remove this from my setup and see what happens.
In reply to I don't know what Ninja is… by yonah_ag
It is an alternative/add on to make/cmake/unity, IIRC for parallel makes.
GitHub CI uses it for master builds, but it isn't mandatory as far as I can tell
In reply to Definitly needed when… by Jojo-Schmitz
How do you build with QtCreator rather than with VS?
Are there any advantages / disadvantages?
In reply to How do you build with… by yonah_ag
I do.
Advantage: old habits and separation from building for master. And integrated UI dev. And QML syntax checking.
It should be possible go use MSVC in QtCreator, but I haven't gotten that to work, so I am using MinGW.
In reply to I do. Advantage: old habits… by Jojo-Schmitz
Is Designer required for a successfully make of MuseScore3.exe?
Is Creator sufficient for UI dev?
In reply to Is Designer required for a… by yonah_ag
No (I think) and no
In reply to I do. Advantage: old habits… by Jojo-Schmitz
Well, I have now removed too much and get these errors:
This must be Ninja's absence.
In reply to Well, I have now removed too… by yonah_ag
I don't see how that could be Ninja's fault
In reply to I don't see how that could… by Jojo-Schmitz
OK, maybe it's Qt Design Studio after all.
In reply to OK, maybe it's Qt Design… by yonah_ag
No, sure not
In reply to No, sure not by Jojo-Schmitz
I've clearly broken something in my Qt installation. I'll re-install it.
In reply to I've clearly broken… by yonah_ag
I've re-added Designer and Ninja, redownloaded the repo but no difference. Maybe I just didn't notice these warnings in earlier builds. Any the build and install of x64 release both work.
Qt 5.15.2
I have wiped and re-installed Qt 5.15.2 and made a screensnip of every step of the installation. Should I include all 24 of these in the wiki or write text instructions and add only those screensnips that I think would be most useful?
In reply to Qt 5.15.2 I have wiped and… by yonah_ag
Short and concise...
Where should I upload images to, for inclusion in the wiki? (I will only be using a few selected images)
In reply to Where should I upload images… by yonah_ag
Directly into the wiki
I have written part 1 of the instuctions.
Sorry that it's taking so long.
https://github.com/Jojo-Schmitz/MuseScore/wiki/Setting-Up-a-Development…
In reply to I have written part 1 of the… by yonah_ag
@yonah_ag
Good job!
This is an instruction aimed at the minimal development environment for building an executables for 64-bits Windows, isn't it?
I have roughly understood the procedure with "Overview" and "Download Software Components".
At later, following that instruction, I will try to prepare a development environment in my clean environment, too.
In reply to @yonah_ag Good job! This is… by knoike
Yes, it's almost minimal and is for 64-bit Windows. (I don't have access to any other OS). I have included CMake from Qt even though Visual Studio has it built in because there may be some use for it, (based on Jojo's feedback).
I'll add sections 2 and 3 tomorrow to complete the guide.
In reply to I have written part 1 of the… by yonah_ag
Your 1.2.5 should be done after 2., i.e. after you have download the MuseScore sources.
Which is done by a) forking my repo on GitHub and then cloning it to you PC, not by host downloading the sources, as only with the fork and clone you can create PRs
In reply to Your 1.2.5 should be done… by Jojo-Schmitz
Sorry, I don't quite follow.
I have extracted the 7zip file in 1.2.5 to ensure that everything is ready for the source code. In section 2 I will fork your repo; clone to local PC; and move the extracted dependencies folder into the cloned repo.
I can change this order if it makes more sense but I don't understand the issue.
In reply to I don't quite follow. I have… by yonah_ag
Ok, works too, but my way saves a step, the move.
In reply to Ok, works too, but my way… by Jojo-Schmitz
Phew!
Presumably the extracted libx86 folder of the dependencies is not required for 64-bit builds. Should I just leave it anyway?
In reply to Phew! Presumably the… by yonah_ag
It isn't required
Completed first draft
https://github.com/Jojo-Schmitz/MuseScore/wiki/Setting-Up-a-Development…
(It's a bit verbose)
In reply to Completed first draft https:… by yonah_ag
Looks good. Now the reality check by the next user trying to set it up 😉
In reply to Looks good. Now the reality… by Jojo-Schmitz
Busy to do that.
Not sure what to do at step 2.4: In Visual Studio I have menu Extensions => Manage Extensions...
Where I find "Qt Visual Studio Tools" that I can install
But the look of that window is not at all like the screen capture
So checking before doing something incorrect...
In reply to Busy to do that. Not sure… by frfancha
And, by the way, no it isn't "verbose".
I would say until now I find it just fine.
Enough text and picture to get you guided, and not too many to create a long guide obsolete as soon as a detail changes in the installers.
Great job!
In reply to Busy to do that. Not sure… by frfancha
Have you already installed Qt 5.15.2?
In reply to Have you already installed… by yonah_ag
Yes
In reply to Yes by frfancha
There is just no option "QT" in the extensions menu at all.
I'm wondering, maybe you forgot the "Install QT Extensions" step in VStudio, and jumped directly to the configure step that comes after?
In reply to There is just no option "QT"… by frfancha
I'll double-check by uninstalling VS and then re-installing but it will be later in the week. (I think you could well be right).
In reply to I'll double-check by… by yonah_ag
That's very kind of you to take the time to do that, but let me try it here then.
Ok, so indeed one needs to Intall the extension "QT Vs Tools" before being able to configure it.
Once installed, the options panel is exactly as your screen capture.
However the button "Auto detect" does nothing here.
To get the list I had to click on "Import" and manually navigate to the Qt 5.2.12 folder
Then I'm getting a much longer list than yours:
I will change the default to your choice 2019 64
In reply to That's very kind of you to… by frfancha
The Auto detect failure may have been because of the missing path step. Maybe you selected more install options in Qt to get such a long list. I only want for those that started with 5.15.2_msvc then I set the most recent one of those as the default.
In reply to The Auto detect failure may… by yonah_ag
I re-tested autodetect after adding path and it still wasn't working.
For the qt installation I ticked the boxes exactly as your screen shot, so I don't think I installed more than you did.
In reply to There is just no option "QT"… by frfancha
Please feel free to check, (if you have time), and confirm here, or update the wiki.
In reply to Please feel free to check, … by yonah_ag
Step 3.1 now
Opening Musescore folder from VStudio gives:
CMake Error at build/functions.cmake:90 (message):
Unable to find Qt (cmd: qmake)
Please make sure Qt is installed and available in your PATH environment
variable.
So I suppose the "default" installation of Qt is not "enough", it must be manually added to the path ??
In reply to Step 3.1 now Opening… by frfancha
Qt seems to be in the path though
In reply to Qt seems to be in the path… by frfancha
Stupid me ... that's an old value, why is it there and not 5.15.2 ?? Anyway editing manually
In reply to Step 3.1 now Opening… by frfancha
Yes
In reply to Yes by Jojo-Schmitz
Getting this message.. true problem, or to ignore?
In reply to Getting this message.. true… by frfancha
3.1 says to pick x64 Release as configuration, but the only one available is x64-RelWithDebInfo
Instructions:
Available:
This time I don't know what to do.
In reply to 3.1 says to pick x64 Release… by frfancha
RelWithDebInfo should be fine.
In reply to 3.1 says to pick x64 Release… by frfancha
Well, closing and reopening VStudio, and now:
In reply to Getting this message.. true… by frfancha
That message is not a problem IMHO
In reply to Not a problem IMHO by Jojo-Schmitz
Ok, last instruction says:
Your personal version of MuseScore 3.7 Evolution is ready to run!
True! Success!
Now... "personal" is probably slightly overrated as there is not a single line of personal code - yet.
My goal is to implement the play panel suggested by Scorster, as this is exactly what I need.
I'll see if I succeed or if that too ambitious for a first "project".
In reply to Ok, last instruction says:… by frfancha
Thanks for closing the gaps. I remember modifying the path now. Oops!
Once things are up and running it's easy to forget some steps. I should've kept a closer eye on my 24 screensnips, then I wouldn't have missed those steps out. Feel free to update the wiki, but no pressure, I'll update it when I get a moment.
Now I need to find my way around the source code. There's a very basic guide in Jojo's wiki but it'll take a lot more digging to get a good mental picture of how it all fits together. A two 'view' document would be nice: one view answering, "Looking in the solution, what does this .cpp do?" and another view answering, "Running MuseScore, where do I find the .cpp and .ui which implement this particular function, feature, option, setting?".
(Another part of the wiki perhaps? I'll start taking notes as I go along; maybe adding them to my Excel mscx file explorer).
In reply to Thanks for closing the gaps… by yonah_ag
@yonah_ag
I tried working on it following your instructions and got almost the same situation as frfancha.
0/
I could not fork "master" branch, so I forked "3.x" branch.
https://musescore.org/en/node/373898#comment-1278440
1/
Installation of the extension "Qt VS Tools" was required.
2/
In Qt Versions of "Qt VS Tools", some settings was required.
[Import] -> set folder to "C:\Qt\"
and
Change Default "5.15.2_msvc2015_64" to "5.15.2_msvc2019_64" .
(Choose "5.15.2_msvc2019_64" and press [Default] button.)
3/
Adding "C:\Qt\5.15.2\msvc2019_64\bin" to the environment variable PATH was required.
(I added it to PATH for USER not for SYSTEM.)
I could build and run the personal(self-builded) version of Evolution!
Thank you for your great job!
In reply to Ok, last instruction says:… by frfancha
frfancha • Feb 2, 2025 - 20:31
My goal is to implement the play panel suggested by Scorster, as this is exactly what I need.
Nice! Is there somewhere where collaborators can chat about these developments, ask questions, see who's working on what etc?
In reply to frfancha • Feb 2, 2025 - 20… by yonah_ag
@Yonah I don't know where we can chat, but happy to do so.
In reply to Ok, last instruction says:… by frfancha
@yonah_ag A GIANT thank you to yonah_ag for documenting the dev setup in Visual Studio for mS 3.7. That information will likely prove quite useful to me in the near future.
@frfancha wrote "My goal is to implement the play panel suggested by Scorster, as this is exactly what I need."
🤞🏼 Are you planning to update MS3.7's Play Panel? MS 4's? Or both?
In reply to @yonah_ag A GIANT thank you… by scorster
Right now I'll just try to do it in 3.7
But that's just an idea for now, not sure I'll succeed to produce anything usable, and especially not sure when as I has very little available time.
So don't have too much hope for now.
In reply to Getting this message.. true… by frfancha
I have ignored that Qt Visual Studio Tools message and the build still works. I will look into when I get some time.
In reply to Step 3.1 now Opening… by frfancha
Added missing steps to the wiki for:
1) Qt VS Tools
2) Qt folder reference in Path
In reply to Completed first draft https:… by yonah_ag
@Jojo-Schmitz @yonah_ag
https://github.com/Jojo-Schmitz/MuseScore/wiki/Setting-Up-a-Development…
When forking Jojo's repository, I can only fork the 3.x branch, not the master branch. Is this correct?
According to yonah_ag's instruction, the master branch can be forked.
Have you made any changes to your repository configuration recently?
(Edited: adding figure at below)
In reply to @Jojo-Schmitz @yonah_ag… by knoike
Re: Forking master vs. 3.x
It is the master branch of Jojo's 3.x fork.
There are other branches:
I don't know why your screen was different but it still looks like the 3.x branch. It is not the main MuseScore master as that is now for MS4.