Awesome
mmlgui
Latest automatic build can be found here
MML (Music Macro Language) editor and compiler GUI. Powered by the ctrmml framework.
Features
- MML text editor with instant feedback
- Supports Sega Mega Drive sound chips (YM2612, SN76489)
- Visualization of MML tracks
- Highlights currently playing notes in the editor window
- VGM and MDS file export
- Supports channel muting/isolation
Future features / TODO
- Configuration window
- Support more sound chips
- More track visualizations
Using
For Windows (or Wine) users, you can download the latest automatic build from here
Feel free to join the Discord server if you have any questions or feedback.
See ctrmml/mml_ref.md for an MML reference.
Compiling using CMake
Prerequisites
First, make sure all submodules have been cloned. If you didn't clone this repository
with git clone --recurse-submodules
, do this:
git submodule update --init
Make sure you have the following packages installed: (this list might not be 100% correct)
glfw
You also need to have pkg-config
(or a compatible equivalent such as pkgconf
) installed.
Notice that there is no need to install libvgm for CMake builds, as it is built by the mmlgui target.
Building
mkdir build && cd build
cmake ..
cmake --build .
./mmlgui
To build a debug or release version, add -DCMAKE_BUILD_TYPE=Debug
or -DCMAKE_BUILD_TYPE=Release
to the first
cmake call.
Note that once cmake has setup the build environment, it is only needed to call cmake --build .
for successive builds.
Compiling using the makefile
The makefile is currently used for static linked builds for Windows as well as for address sanitizer builds. Once these features are integrated in the CMake build, the makefiles will most likely be removed.
Prerequisites
First, make sure all submodules have been cloned. If you didn't clone this repository
with git clone --recurse-submodules
, do this:
git submodule update --init
Make sure you have the following packages installed: (this list might not be 100% correct)
glfw libvgm
Installing libvgm
If libvgm is not available on your system, you need to install it manually. Example:
Linux
mkdir build && cd build
cmake ..
make
sudo make install
Windows (MSYS2)
The CMAKE_INSTALL_PREFIX
should of course match where your MSYS2/MinGW install folder is.
mkdir build && cd build
cmake .. -G "MSYS Makefiles" -D AUDIODRV_LIBAO=OFF -D CMAKE_INSTALL_PREFIX=/mingw64
make
make install
Building
Once all prerequisites are installed, it should be as easy as
make
To build a release binary, add RELEASE=1
.
Special thanks
Copyright
© 2020-2021 Ian Karlsson
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.