Comments (6)
Try this build, it adds the missing functions you requested (hopefully)
from godot-openmpt.
To be honest, I didn't really test building with the VS generators. I tested with gcc (installed via scoop, the windows package manager) and Ninja (a build system that can be used as a build generator). The build system honestly is kind of a mess, I honestly hate C++ build systems in general they kind of always suck. I think part of the problem might be that Visual Studio isn't using the right working directory. The source, build, and working directory all need to be in the custom-godotcpp-build folder, and or I think the working directory can be one level out (like it is in the github-workflow I believe). Another potential way to build it is using act which requires docker. I found it a little finnicky to setup personally (mostly due to docker, but if you have that already then it's pretty easy to get act via scoop), but once you do, you can simply run the github action locally on your computer with a --artifact-server-path
where the ".gz__" files will appear (just rename the extension to .gz and extract the file using WinRAR or something and you'll have your binaries). I know that's not a great solution but it turns out that building DLLs that aren't over 100MB takes a lot of custom configuration. This whole thing has honestly made me want to program my own build system lol (one that doesn't suck), took me hours and hours to get this working at all.
from godot-openmpt.
I sorta feel the same way about the build systems. I'm more used to FreeBasic, Pascal/Delphi, and C# or just pushing build and being done in VS for C/C++. I had trouble when I tried to tackle this as an extension, Scons doesn't play well. My second implementation of libopenmpt was just going to be a C# addon for the mono build but I couldn't figure how to get the stream to work on the existing stream players and it wasn't that important to m project so I just gave up at the time. Thanks for the ideas though and I'll work on it a bit. I need to get a demo going of my game soon and I'll want to get the dynamic music going for that.
The main reason I wanted to be able to build it myself is mostly for openmpt_module_get_pattern_row_channel_command(), which lets you read row data in at arbitrary points. There is another one that the Tracker uses for highlighting as well. The sub reasons are control over the built in effects (and maybe making my own), instrument and sample data control with my own extension logic, and callback access for connections to signals. I have a fork going, I might be able to figure something out and notify you. That said, Godot's GDExtension workflow needs a good custom build system, if you don't hopefully someone does.
from godot-openmpt.
Oh well, I mean I didn't implement those because I didn't think they'd actually be that useful. But I mean I could probably add implementations for them pretty easily.
from godot-openmpt.
Thank you so much, that works great! Can get the info either as it plays or at any place I want in the data, I wasn't really as concerned with the formatted string and highlight ones but that's good to have too!
from godot-openmpt.
Awesome! I'll keep the issue open (as the issue with the build script is still valid)
from godot-openmpt.
Related Issues (4)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from godot-openmpt.