Famitracker
# Famitracker

Famitracker ist eine Tracker-Software zum Produzieren von Musik auf Basis des NES/Famicom. Es stellt neben der Emulation diverser Erweiterungschips der Famicom auch das Rendern als NSF- oder NES-Rom-Image bereit, wobei ein eigens entwickelter Soundtreiber für das System verwendet werden kann. Der Code steht open source unter der GNU General Public License aktuell als Version 0.5.0.1 zur Verfügung.

## Features

Die Software emuliert den Sound der nativen Famicom APU, welche zwei Rechtecksignalgeneratoren, einen Dreiecksignalgenerator, einen Rauschgenerator sowie einen DPCM-Kanal steuern kann. Zudem besteht die Möglichkeit, einen von mehreren Expansion-Chips hinzuzufügen, welche sind:

* Nintendo MMC5 und FDS
* Namco N163
* Konami VRC6 und VRC7
* Sunsoft SB5 (nur Vorabversion)

Verschiedene Instrumente können hinzugefügt werden, welche u. a. Lautstärke-, Pitch- und Arpeggio-Macros besitzen und so den Trackingprozess beschleunigen. Wie viele Tracker auch bietet Famitracker eine Vielzahl an Effekten, z. B. Portamento, Finepitch und Arpeggio. In eine Moduldatei können mehrere Songs eingefügt werden. Ein Hauptmerkmal ist das Exportieren in das NSF-Format und zum Aufführen bereite ROMs für das NES. Dazu wird ein Treiber verwendet, welcher auf jenem ausgeführt wird und das Abspielen der Musik tätigt. Das Programm bietet auch den Export und Import als Textdatei und eine Pluginschnittstelle, um eigene Ex- und Importfunktionalitäten anzubieten.

## Entwicklung

Das Projekt wurde 2005 von jsr, der Nutzername des Administrators im Forum, mit C++ als Programmiersprache und MFC als GUI-Library begonnen. Seitdem erscheinen unregelmäßige, jedoch meistens im Jahrestakt neue Versionen. Der Quellcode ist unter der GNU General Public License frei verfügbar und kann auf der offiziellen Webseite heruntergeladen werden. Bis jetzt ist nur ein Programmierer an der offiziellen Version tätig, wobei mehrere Forks erschienen und auch wieder verschwanden. Neben der Originalversion wird unter den Mitgliedern auch der Fork 0CC genutzt, der weitere Funktionalitäten bietet. Ein weiterer Fork ist die inoffizielle Programmbibliothek famitracker.dll, die von anderen Anwendungen zum Operieren auf Moduldateien und zum Abspielen solcher genutzt werden kann.

