VMPC2000XL, an Akai MPC2000XL emulator by Izmar.
Project website: <link>https://www.izmar.nl</link>
Source code: <link>https://github.com/izzyreal/vmpc-juce</link>
Version: <version>
Format: <format>
Build: <build>

License: GPL3,
<link>https://github.com/izzyreal/vmpc-juce/blob/master/LICENSE.txt</link>

In short, GPL3 means you are free to use and distribute VMPC2000XL for
any purpose, commercial or non-commercial, without any restrictions.
You are also free to modify the program as you wish, but with the only
restriction that if you distribute the modified version, you must provide
access to the source code of the distributed version.

DISCLAIMER

MPC® and Akai Professional® are registered trademarks of inMusic
Brands. Inc. This emulator is not affiliated with inMusic and use of the
MPC® and Akai Professional® names has not been authorized,
sponsored or otherwise approved by inMusic.

CREDITS AND THANKS

I'm immensely grateful for Steve Taylor's involvement in my first years of
object-oriented programming. It's fair to say I would not be where I am
today, if it were not for his dedication to communicate his knowledge and
ideas to me.

Steve Taylor is also the author of toot2, a Java framework for audio, music
and DSP. When VMPC2000XL was still a Java project, it depended heavily on
toot2. Later I ported much of it to C++. In its current incarnation,
VMPC2000XL still relies on a trimmed-down version of the toot2 C++ port.

The vector art is made by <link>https://www.instagram.com/azalvector</link>
@azalvector, thanks for your amazing contribution. It made the new
VMPC2000XL vector UI idea finally come true after many years.

The faceplate font is <link>https://github.com/BesignLab/Neutral-Sans</link> by Barry
Shawn.
License: OFL 1.1,
<link>https://github.com/BesignLab/Neutral-Sans/blob/main/LICENSE</link>

The font that is used to dislay key bindings is <link displayText="Fira Code">https://github.com/tonsky/FiraCode</link> by Nikita Prokopov.
License: OFL 1.1, <link>https://github.com/tonsky/FiraCode/blob/master/LICENSE</link>

The iOS/macOS application icons are designed by Better Times.
<link>https://www.bettertimes.de</link>

Much respect and many thanks to the creators, maintainers, and
contributors of the following open source tools:

JUCE
<link>https://github.com/juce-framework/JUCE</link>
C++ cross-platform graphics, keyboard and mouse input, and audio for
Linux, Windows, macOS, iOS, LV2, VST3, AUv2, AUv3, and standalone
desktop targets.
License: AGPLv3,
<link>https://github.com/juce-framework/JUCE/blob/master/LICENSE.md</link>

melatonin_blur
<link>https://github.com/sudara/melatonin_blur</link>
Shadows and glows for JUCE.
License: MIT,
<link>https://github.com/sudara/melatonin_blur/blob/main/LICENSE</link>

Vinnie Falco's FreeType rendering integration for JUCE
See
<link>https://forum.juce.com/t/freetypefaces-text-drawing-with-hinting/6125</link>
and
<link>https://github.com/vinniefalco/FreeTypeAmalgam</link>

libsamplerate
<link>https://github.com/libsndfile/libsamplerate</link>
Realtime and offline sample rate conversion.
License: BSD,
<link>https://github.com/libsndfile/libsamplerate/blob/master/COPYING</link>

RtMidi
<link>https://github.com/thestk/rtmidi</link>
Can be used for many things, but VMPC2000XL uses it just to identify
connected MIDI devices.
License: Similar to MIT,
<link>https://github.com/thestk/rtmidi/blob/master/LICENSE</link>

android-midi-lib
<link>https://github.com/LeffelMania/android-midi-lib</link>
I ported it to C++ and tailored it for reading/writing MPC2000XL MIDI files.
License: MIT,
<link>https://github.com/LeffelMania/android-midi-lib/blob/master/LICENSE</link>

LodePNG
<link>https://github.com/lvandeve/lodepng</link>
Used for loading backgrounds for the various LCD screen arrangements.
License: zlib,
<link>https://github.com/lvandeve/lodepng/blob/master/LICENSE</link>

moodycamel::ConcurrentQueue
<link>https://github.com/cameron314/concurrentqueue</link>
Provides thread-safety when recording notes via keyboard or mouse input.
License: Simplified BSD,
<link>https://github.com/cameron314/concurrentqueue/blob/master/LICENSE.md</link>

moodycamel::ReaderWriterQueue
<link>https://github.com/cameron314/readerwriterqueue</link>
Provides thread-safety when bouncing audio to disk, as well as when doing
streaming playback of SND/WAV files from disk (i.e. the PLAY feature in
the LOAD and Directory screens, which allows you to preview sounds).
License: Simplified BSD,
<link displayText="https://github.com/cameron314/rea...riterqueue/blob/master/LICENSE.md">https://github.com/cameron314/readerwriterqueue/blob/master/LICENSE.md</link>

PlatformFolders
<link>https://github.com/sago007/PlatformFolders</link>
Provides a single, platform-agnostic facade to look for special folders,
like "My Documents".
License: MIT,
<link>https://github.com/sago007/PlatformFolders/blob/master/LICENSE</link>

Bitmap
<link>https://github.com/kbuffardi/Bitmap</link>
Used to load the LCD bitmap font's glyphs.
License: MIT,
<link>https://github.com/kbuffardi/Bitmap/blob/master/LICENSE</link>

rapidjson
<link>https://github.com/Tencent/rapidjson</link>
JSON parsing, used for reading LCD screen layout definitions.
License: MIT,
<link>https://github.com/Tencent/rapidjson/blob/master/license.txt</link>

nlohmann/json
<link>https://github.com/nlohmann/json</link>
JSON parsing, used for reading vector UI layout definitions.
License: MIT,
<link>https://github.com/nlohmann/json/blob/develop/LICENSE.MIT</link>

tl-expected
<link>https://github.com/TartanLlama/expected</link>
Single header implementation of std::expected with functional-style
extensions.
License: CC0 1.0,
<link>https://github.com/TartanLlama/expected/blob/master/COPYING</link>

Catch2
<link>https://github.com/catchorg/Catch2</link>
C++ unit tests.
License: BSL-1.0,
<link>https://github.com/catchorg/Catch2/blob/devel/LICENSE.txt</link>

gh-filesystem
<link>https://github.com/gulrak/filesystem</link>
A std::filesystem implementation that runs on older ABIs.
License: MIT,
<link>https://github.com/gulrak/filesystem/blob/master/LICENSE</link>

CMake
<link>https://cmake.org</link>
C/C++ build system.
License: BSD 3,
<link>https://github.com/Kitware/CMake/blob/master/Copyright.txt</link>

Inkscape
<link>https://inkscape.org</link>
Used for processing the vector art.
License: GPL2 or later,
<link>https://inkscape.org/learn/faq/#what-license-inkscape-released-under</link>

Heroicons
<link>https://heroicons.com</link>
Provides all menu icons, except for the keyboard one.
License: MIT,
<link>https://github.com/tailwindlabs/heroicons/blob/master/LICENSE</link>

VIM
<link>https://github.com/vim/vim</link>
Awesome code editor.
License: Vim,
<link>https://github.com/vim/vim/blob/master/LICENSE</link>

Special thanks to JetBrains for providing a free license. I have relied on
CLion for several years, and I still use TeamCity on-premise to automate
builds and code signing for binaries, installers, GitHub release
publishing, and VMPC2000XL HTML and PDF documentation.
<link>https://www.jetbrains.com</link>
License: <link>https://www.jetbrains.com/community/opensource</link>

<link>https://www.sphinx-doc.org</link> for the tech behind the documentation at
<link>https://vmpcdocs.izmar.nl</link>.
License: BSD,
<link>https://github.com/sphinx-doc/sphinx/blob/master/LICENSE.rst</link>

VMPC2000XL also uses some libraries made by Izmar:

mpc
<link>https://github.com/izzyreal/mpc</link>
Platform-independent C++ abstraction of the Akai MPC2000XL.
License: GPL3,
<link>https://github.com/izzyreal/mpc/blob/master/LICENSE.txt</link>

juce-raw-keyboard-input-module
<link>https://github.com/izzyreal/juce-raw-keyboard-input-module</link>
Linux, Windows and macOS raw (game-engine style) keyboard input.
License: GPL3,
<link displayText="https://github.com/izzyreal/juce-raw-...-input-module/blob/main/LICENSE.txt">https://github.com/izzyreal/juce-raw-keyboard-input-module/blob/main/LICENSE.txt</link>

akai-fat
<link>https://github.com/izzyreal/akaifat</link>
Based on <link>https://github.com/waldheinz/fat32-lib</link>.
Provides access to Akai FAT16 volumes with 16.3 filenames.
License: GPL3,
<link>https://github.com/izzyreal/akaifat/blob/main/LICENSE</link>

Many thanks to Ali Ahmet of <link>https://thebeatcommunity.com</link>,
<link>https://x.com/ninobeatz</link>, and everyone who has emailed me for support,
reporting bugs, and requesting new features, and to those who have
opened GitHub issues for them. And thanks as well to the founders of
<link>https://www.theaudioprogrammer.com</link> and the members of the Discord
server.
