Die Heimat von JavaMod, WinMod und DosMod
letzte Aktualisierung 12.06.2010
deutsch english


Auf diesen Seiten befinden sich drei von mir selbst entwickelte und programmierte Mod Player. Der Player "DosMod" ist sehr alt und noch für MS-Dos mit viel Assembler entwickelt worden. Der Player "WinMod" wurde komplett neu geschrieben und arbeitet unter Windows mit der DirectX-Schnittstelle zusammen (Version 7.0 ist minimum!). Zusätzlich ist nun auch der Java Mod Player "JavaMOD" entstanden, der mehr Formate kann und auch wesentlich besser klingt!
Alle Mod Player stehen hier zum freien Download bereit. Bei JavaMod und WinMod kann man sich zudem auch den Source-code herunterladen. Ebenso bin ich selbstverständlich immer scharf auf ein feedback. Sagt mir, was ihr vermisst, was nicht funktioniert und wie ihr die Programme so fandet.





Hier nun die Downloads
 
DosMod downloadbutton  mod.zip (vom 29.07.2007 30,4 KB - Downloads: 583)
WinMod downloadbutton  winmod.zip (vom 01.01.2010 134,0 KB - Downloads: 990)
   WinMod Sourcecode (GPL) downloadbutton  project_winmod.zip (vom 01.01.2010 111,5 KB - Downloads: 399)
   WinMod Installer downloadbutton  winmod_installer.zip (vom 01.01.2010 175,5 KB - Downloads: 732)
JavaMod downloadbutton  javamod.jar (vom 03.09.2010 1.071,4 KB - Downloads: 11275)
   JavaMod Sourcecode (GPL) downloadbutton  javamod-source.zip (vom 03.09.2010 351,3 KB - Downloads: 1210)


Und zum Testen auch ein paar kleine MODs:
   Reflexity Music Die Musik zu dem gleichnamigen Action-Flipper von Markus Müller
   Beyond Music Ein Gewinnertitel aus 1991 (Parikkala, Finland), und das verdient!
   Coffee Blues III Dieser Song malträtiert die PatternBreak und Pattern-Jump Effekte stark. Spielt nicht jeder korrekt!


Der JavaMod-Player in der Version 1.9.3.2

Handbuch für JavaMod (noch auf englisch!)

Ich habe den alten angestaubten WinMod-Player in Java neu aufgelegt. Entstanden ist JavaMod, ein Java Mod Player für Java 5 oder höher. Mich interessierte zuerst einmal die Java-API für Soundausgabe. Da das aber tatsächlich keine Herausforderung ist, habe ich dann doch mehr gemacht!

Dieser Player basiert nicht auf der MikMod-Library, sondern allein auf meinen eigenen Erfahrungen und Kenntnissen!

Hier die Feature-List:
  • NoiseTracker Mods (*.nst)
  • ProTracker-Mods (*.mod, *.wow: M.K., M!K!, FLT4, FLT8, 4CHN, 6CHN, 8CHN, CD81, OKTA, CH/CN)
    ProTracker Mods werden mit den originalen Periods der ProTracker 2.1A Playroutine wiedergegeben! Kein XM oder IT kompatibles interpolieren
  • FastTracker 2 MODs (*.xm)
  • ScreamTracker (*stm, *s3m)
  • Vorbereitet für ImpulseTracker (*.IT)
  • Originaler ModTable (16 Finetune-Tabellen)
  • XM Log-Table interpolation
  • XM Linear Table
  • stm/s3m/it-Frequencies
  • Alle Effekte sind implementiert (IT: es fehlen die NNAs)
  • Interpoliertes mixing (linear, Cubic, windowed FIR)
  • Noise Reduction
  • 8/16/24-Ausgabe: intern wird mit 24-Bit gemixt
  • etwas Eye-Candy: Peakmeter, Wave-Meter, etc.
  • Plus unterstützung für mp3, mp3-Streams, wav, au, aif und MIDI
  • Bei MP3: Ausgabe von ID3v1- und ID3v2-Tags sowie Limecast und Shoutcast (und kompatible) Tagausgabe
  • SID-Dateien (um die Nostalgie perfekt zu machen ;-) )
  • APPLETS: weil so viele danach gefragt haben! Hier ein Beispiel-Link
    Bitte, nicht vergessen: wenn ihr das Applet mit einer Playlist verwenden wollt, müßt Ihr URLs in der Playlist verwenden! (Beispiel)
  • Unterstützt nun sowohl pls, als auch m3u-Playlist-Dateien
  • Endlose Loops können erkannt und vermieden werden (via fade out)
  • WAV-Export
  • und noch vieles mehr!
Das Maskottchen

Ein Doppelklick auf das JAR startet die GUI. Die Kommandozeilen-Version funktioniert aber auch sehr gut.
Zum Starten einfach im Verzeichnis mit dem jar eingeben:
   java -jar ./javamod.jar
oder für die Kommandozeile
   java -cp ./javamod.jar de.quippy.javamod.main.CommandLine MODFILE
Fehlt die Datei-Angabe, wird eine Hilfe zur Bedienung ausgegeben.

Anschließend noch ein Beispiel von Benny!Weltenkonstrukteur.de, wie JavaMod als Library eingebunden werden kann.

Der mitgelieferte Sourcecode steht unter GNU General Public License. Er darf damit kopiert und erweitert werden, so lange er weiterhin unter der GPL steht, also nicht ohne Sourcecode verkauft wird. Zum kompilieren ist die JLayer.jar notwendig.
Ich habe versucht, immer ordentlich zu kommentieren. Allerdings auf Englisch, damit mehr Leute die Chance haben, die Kommentare auch zu verstehen.

Und dazu noch ein kleiner Screenshot:

javamod screenshot

JavaMod-Player, Download bei heise
downloadbutton DOWNLOAD javamod.jar
downloadbutton DOWNLOAD javamod-source.zip (GPL)
downloadbutton DOWNLOAD PAD-File


Der WinMod-Player in der Version 1.5

WinMod

Schon immer wollte ich den alten Dos-Player (s.u.) von einer Windows-Variante ablösen lassen. Nun endlich bin ich dazu gekommen. Der neue Player kann alle Formate mit der Endung ".MOD", ".NST", ".STM" und ".S3M" laden, also Noise Tracker, ProTracker, StarTracker, FastTracker, Atari Oktalyzer, TakeTracker und Scream Tracker II und III. Bis zu beliebig vielen Stimmen werden unterstützt.(Solange der Speicher reicht)

Verbesserungen gegenüber der Version 1.0:

  • Effekt Pattern-Repeat ließ keinen komplettes Repeat des Stückes zu
  • Drag and Drop eingebaut
  • kleinere Bugfixes in dem Effektinterpreter
  • Die Pattern-Daten können nun angezeigt und mitverfolgt werden

Verbesserungen gegenüber der Version 1.1:

  • Das Looping eines Stückes kann nun abgeschaltet werden
  • Der Player läuft nun auch unter Win2000 (warum sagt mir denn keiner, das er dort nicht funktioniert?!)
  • ScreamTracker "STM"-Modules können nun auch abgespielt werden.
  • Grave-Composer "WOW" werden auch unterstützt.
  • Mods mit der Kennung FLT8 werden auch unterstützt.

Verbesserungen gegenüber der Version 1.1 (Fortsetzung...):
Oder besser: Was hat das Release gerechtfertig...

  • Compilation mit VC6 statt wie vorher mit VC5
  • DirectX 9.0 Bibliotheken (was dennoch die Lauffähigkeit unter DX7 weiterhin erlauben sollte)
  • Patternverfolgung funktioniert nun einigermaßen...
  • Kleiner Bug mit großer Wirkung, nämlich Absturz: Vibratoeffekte ohne Angabe eines Instrumentes und Note sind zum Einstellen da (für nachträgliche Volslide+Vibrato-Effekte). Ergo darf nicht versucht werden, den Effekt zu spielen!

Verbesserungen gegenüber der Version 1.2:

  • Einfach zu viel
  • S3M werden bis auf ein paar Effekte unterstüzt

Verbesserungen gegenüber der Version 1.3:

  • Ein paar Abstürze bei Effekten
  • Fehler beim Laden von einigen S3Ms/MODs behoben

Verbesserungen gegenüber der Version 1.4:

  • Local Buffer Overflow Exploit bei LST-Dateien beseitigt (Link)
  • Vollständige englische Übersetzung

Aus verständlichen Gründen wurde dieser Player komplett in C++ entwickelt und kommt (bisher) ohne die geringste Zeile Assembler aus. Er funktioniert aber nur, wenn DirectX 7.0 (oder höher. DX9 getestet!) installiert wurde, da er über diese Schnittstelle (und nicht über die Win-API) geht.

Selbstverständlich gibt es wieder Interpolated Sampling, das ich gegenüber dem Dos-Player noch einmal verbessern konnte. Das "deClick" soll ein Klicken der Instrumente verhindern, sollte das Mod nicht sauber abgemischt sein. Dies ist aber nur eine erste Studie und funktioniert noch nicht so, wie gewünscht.

Noch ein Wort zu der CPU-Auslastung: es wird angegeben, wieviel Prozent der Zeit einer Pufferlänge die Mixerroutine benötigte, um diesen zu füllen. Beispiel: Bei einer Auslastung von 10% und einer Pufferlänge von 250ms benötigte die Mixerroutine somit 25ms zum Füllen. Jeh näher dieser Wert an die 100% heranreicht, je häufiger kann es zu Aussetzern kommen, da DirectX den Mixer "überholt".

Es gibt im Internet eine Version dieses Players mit der Versionsnummer 1.4-1, welche von William "Wraithverge" Yates modifiziert aber von mir nicht authorisiert wurde.
Außer einer englischen Übersetzung und Veränderungen am Layout sind keine nennenswerten Anpassungen durchgeführt worden. Der Buffer Overflow ist in der Version 1.4-1 nicht beseitigt worden.

Hier noch ein kleiner Screenshot:

Screenshot vom ModPlayer

downloadbutton DOWNLOAD winmod.zip
downloadbutton DOWNLOAD winmod_installer.zip
downloadbutton DOWNLOAD SOURCE project_winmod.zip
downloadbutton DOWNLOAD PAD-File


Der DOS-Modplayer in der Version 1.9

Dieser Modplayer kommt in einem Zip mit einer Textdatei zusammen, die seine Bedienung erklärt. Da es ein Dos-Player ist, der einige Übergabeparameter erwartet, ist es sinnvoll, ihn z.B. durch den Explorer mit einer Dateikennung zu verknüpfen. Dann braucht man nur noch das MOD anzuklicken, und der Player dudelt im Fenster los. Natürlich entfaltet das Real-Time Peek-Meter erst im Vollbildmodus seine volle Eindrucksfähigkeit.
Unter Windows XP kann dieser Player in der DosBox ausgeführt werden.

Screenshot vom DOS-ModPlayer

Dieser Player ist nur für SoundBlaster-Karten oder 100% kompatible Karten geeignet, da ich den darauf befindlichen DSP direkt programmiere. Ich verwende volles 32-Bit-Mixing (auch bei 8-Bit-Karten) mit einem Interpolated Sampling (ISP), um das Beste rauszuholen. Ebenfalls wird ein pseudo-Raumklang simuliert, falls gewünscht, und ein Peek-Meter. Ich beabsichtige, den Player irgendwann auch auf einer Windowsoberfläche laufen zu lassen, damit ich nicht mehr an die direkte Programmierung der Blaster-Karten gebunden bin, sondern einen Treiber nutzen kann. Im Augenblick jedenfalls arbeiten die Mixing-Routinen mit den DMA-Routinen und der DSP-Typischen Routinen eng zusammen und es dürfte kaum möglich sein, diese wieder zu trennen.

Der Player läuft mit allen Soundblaster 16 kompatiblen Modellen! Auch die DOS-Emulation ist kein Problem. Ferner läuft der Player nun auch in Windows prima im Hintergrund.

Der Player läßt sich schnell mit folgendem Befehl in einer DOS-Box testen: "MOD GAMETUNE.MOD". Die erforderlichen Einstellungen für die Adressierung der Karte entnimmt das Programm der BLASTER-Umgebungsvariable (die ja hoffentlich auch gesetzt ist ;->).

Dieser Player ist nur für 4-Stimmige Protracker-MODs [und gleich aufgebaute Mods] geeignet, da ich damals erstens sowieso keine Literatur hatte und mir jeden Effekt irgendwo aus den Fingern saugen mußte (dafür sind aber auch wirklich alle drin) und zudem auch wahnsinnige Timing-Probleme hatte, die eine fast komplette Programmierung in Assembler notwendig machten. Nur die Außenschnittstellen habe ich in C geschrieben.

Am Besten klingt der Player auf einem 486DX-66 (minimum), einer SB-16 (Alles ab SB16/AWE und so weiter...) und DOS3.2 (minimum, besser ist DOS5.0 zum Hochladen von Treibern).



downloadbutton DOWNLOAD mod.zip
© 2004 - 2010 by Daniel Becker

Valid HTML 4.01 Transitional Valid CSS!