-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Turn ADLMIDI into the "ADLCPP" library with keeping the same functionality #7
base: master
Are you sure you want to change the base?
Conversation
On Windows, it properly builds via QMake only, by direct build via mingw32-make it fails strongly even on a pure master branch build. |
For a friendly usage of MIDI playing API, I made the |
It's the shortlist of what I did in it:
|
The conflict that shown here is because I had to move |
e116a29
to
a365978
Compare
(not tested yet, need a test!)
TODO: - polish the API of library, make a simpler use of it - make a simple playing example without of a complex UI - verify the build on Windows - verify the build on DJGPP, make sure it will be built as a monolith static build
- This emulator is more accurate - This emulatir is licensed under LGPL 2.1 license
- midiplay is a separate tool, not a library - dbopl is now a part of gen_adldata only as it's faster emulator for measures, accuracy and license is not important here
Okay, I had to rebase my branch, and it should be ok to merge. |
@bisqwit, ping? |
I am alive, just very backlogged and delayed with pretty much everything possible. |
No problem, good luck then to resolve that as soon as possible! 😉 |
Hello! |
@bisqwit, ping? |
@bisqwit, are you okay? |
Yes, but I am only one person. Sorry. |
I understand, I just wanted to ask how are you |
@bisqwit, ping? |
@bisqwit, Hello, how are you? Long time not see :) |
@bisqwit, ping? |
@bisqwit, ping? Are you okay? |
As was discussed at #3, I started to work on a turning ADLMIDI into the library. This is my complete work to split ADLMIDI into the library part, and users part. Most of the code was been moved into own
cc
files but didn't change. Therefore, a thing is working with the same as before the rework.An updated build will produce two binaries:
However, I still need to complete the work, and there are items I need to complete:
make install
that will copy the library into/usr/local/libXX
and will copy all public headers into/usr/local/include/adlcpp
EDIT August 29, 2020:, I had to complete the full list, and now the thing is ready for merge.
The shortlist of all changes I made in this PR:
midiplay.cpp
into multiple modules, called asadlinput.cc
forADL_Input
,adlui.cc
forADL_UserInterface
, andadlplay.cc
forOPL3
andMIDIPlay
.fraction.hpp
into the place of public headersUI
andInput
classes. I turned them into pointers which should be set to make them work (that what I did atmidiplay.cc
)libadlcpp.so
shared library andadlmidi
which links itAdlSimpleMidiPlay
class that re-implements the minimal part ofmidiplay.cc
to make the easier programmatical re-use of the ADLCPP library part.gen_adldata
tool as it's needed the faster emulator than accurate for its measure work.Feel free to write any comments, suggestions, tips, and notices here.