Harmony.dll
Harmony.dll ist eine Datei im RTP, im Makerordner oder in Spieleordnern des RPG Maker 2000 oder 2003 (gelegentlich auch bei anderen alten Makerengines), die in selbigen bereits am 14. Mai 2003 per Update (2000-1.50 und 2003-1.05) entfernt wurde, als die in ihr enthaltene alte MIDI- und WAV-Wiedergabetechnik ersetzt und durch MP3-Support erweitert wurde, die seitdem direkt in der RPG_RT.exe sitzt.
Durch die Bindung einer austauschbaren Komponente wie der Harmony.dll ist es möglich, Daten über als Sound- oder Musikdatei getarnte Anweisungen in die Maker-Engine einzuschleusen, so geschehen z.B. im Tastenpatch, der mit script.wav-Dateien auf Kommando den Status von Tasten überprüfen kann (der dann als manipulierte Taktposition einer MIDI-Wiedergabe gelesen werden kann) oder auch mal externe Programme ausführt, die dann alles Mögliche tun könnten, wie bspw. Screenshots erstellen und in Palettenbilder verwandeln, was jedoch einige Zeit dauert.
Entwicklung
Zum wahrscheinlich ersten Mal aufgetaucht ist Harmony.dll beim Simulation RPG TKool 95, wo sie ebenfalls den Zweck der MIDI- sowie WAV-Wiedergabe erfüllt. Dies ist insofern interessant, da dies auch die erste Maker-Version für den PC war, bei der Yoji Ojima die Entwicklung leitete. In der Harmony.dll finden sich, mit einigen Ausnahmen, die später erst hinzukamen, die gleichen Funktionsnamen wie beim RPG Maker 2000.
SRPG95 | RPG2000 | Bedeutung (RPG2000) | |
---|---|---|---|
HarmonyCacheSound | ✔ | ▲ | Einen SE cachen |
HarmonyCancelSound | ✔ | ✔ | SE-Cache einer Datei aufheben |
HarmonyCheckValidMidi | ✔ | ▲ | Prüfen, ob die Datei eine echte MIDI ist |
HarmonyCheckValidWave | ✔ | ▲ | Prüfen, ob die Datei in einem verarbeitbaren WAV-Format ist |
HarmonyCreate | ✔ | ✔ | Harmony starten, wird beim Öffnen der Anwendung ausgeführt |
HarmonyFadeInMusic | ✘ | ✔ | BGM einklingen lassen |
HarmonyFadeOutMusic | ✘ | ✔ | BGM ausklingen lassen |
HarmonyGetMidiTick | ✘ | ✔ | Taktposition übermitteln, falls eine MIDI läuft |
HarmonyGetMusicLooping | ✔ | ✔ | Überprüfen, ob die BGM schonmal komplett durchgelaufen ist |
HarmonyGetMusicPlaying | ✔ | ✔ | |
HarmonyGetVersion | ✔ | ▲ | |
HarmonyInitMidi | ✔ | ✔ | MIDI-Wiedergabe vorbereiten, wird direkt nach Create ausgeführt |
HarmonyInitWave | ✔ | ✔ | WAV-Wiedergabe vorbereiten, wird direkt nach InitMidi ausgeführt |
HarmonyPlayMusic | ✔ | ✔ | BGM abspielen |
HarmonyPlaySound | ✔ | ▲ | SE abspielen |
HarmonyPlaySoundEx | ✘ | ✔ | SE abspielen |
HarmonyRelease | ✔ | ✔ | Harmony schließen, wird beim Beenden der Anwendung ausgeführt |
HarmonyReserveSound | ✔ | ✔ | Einen SE cachen, wird mit Cursor, Decide, Cancel und Buzzer gemacht |
HarmonySetMusicPanpot | ✘ | ✔ | BGM-Panning während des Abspielens ändern |
HarmonySetMusicSpeed | ✘ | ✔ | BGM-Tempo/-Pitch während des Abspielens ändern |
HarmonySetMusicVolume | ✘ | ▲ | BGM-Lautstärke während des Abspielens ändern |
HarmonyStopMusic | ✔ | ✔ | Laufende BGM stoppen |
HarmonyStopSound | ✔ | ✔ | Alle laufenden SEs stoppen |
HarmonyTermMidi | ✔ | ▲ | MIDI-Wiedergabevorrichtung aus dem Speicher nehmen |
HarmonyTermWave | ✔ | ✔ | WAV-Wiedergabevorrichtung aus dem Speicher nehmen, passiert bei Movies |
✘: Nicht vorhanden; ✔: Vorhanden; ▲: Vorhanden, die EXE referenziert die Funktion aber nicht