Neues CustomSound-Tool

  • Wie angekündigt habe ich ein neues kleines Tool als Pseudo-Fortsetzung von FS_Hook entwickelt, um eigene Sounds in den MN4 einzubinden. Da das Verwenden entpackter Karten etc. sowieso keine Vorteile erbringt und das Tool (auch von mir) nur für das Einbinden eigener Sounds verwendet wurde, habe ich eine hochspezialisierte Version entwickelt, woraus sich folgende Vorteile ergeben:


    - EFFIZIENZ: Der zusätzliche Speicheraufwand ist wesentlich geringer. Ganz präzise: Keine dynamischen allocations.
    - STABILITÄT: Durch die Konzentration auf das Wesentliche konnte eine sehr hohe Stabilität realisiert werden. Die sehr (ich wiederhole: SEHR! ;) ) lange Testphase hat es ebenso ohne auch nur einen Absturz überstanden.
    - EINFACHHEIT: Das Tool ist aufgrund seiner Spezialisierung viel einfacher zu verwenden als FS_Hook. Zwei Konfigurationseinträge decken das gesamte Funktionsspektrum des Tools ab.


    Die Features des Programms werden über eine Konfigurationsdatei namens "sound_config.txt", die sich im MN4-Verzeichnis des PPC (meist "\Programme\NAVIGON\MobileNavigator 4.0") befindet, eingestellt wie folgt:
    - Das Sound-Archiv (meist "german_sound.SFS") braucht sich nun nicht mehr auf der FlashDisk im Unterordner "sound" zu befinden sondern kann nun auch auf der StorageCard untergebracht werden. Das ist auch Speicherplatzgründen sehr sinnvoll. Dazu einfach die SFS-Datei im "sound"-Ordner an einen bestimmten Ort auf die Storage-Card verschieben, den Pfad merken und in der Konfigurationsdatei eine Zeile


    ArchiveDir=\Storage Card\wo_immer_das_archiv_nun_liegt


    einfügen. Von nun an wird das Archiv von dort ganz normal eingebunden. Sollte das Archiv dort (oder standardmäßig im Unterordner "sound") nicht gefunden werden, läuft der MN4 dennoch ganz normal. So kann man ggf. den Speicherplatz völlig sparen, wenn man alle benötigten Sound-Dateien einzeln gespeichert hat.
    - Die eigenen Sounds werden aus einem einstellbaren Ordner geladen. Dazu kopiert man die .ogg-Dateien in den bestimmten Ordner (sinnvoller Weise "\Storage Card\...") und trägt diesen Pfad dann in einer Zeile


    SoundDir=\Storage Card\wo_immer_die_custom_sounds_liegen


    ein. Von nun an wird bei jedem Sound geschaut, ob in diesem Ordner ein eigener Sound liegt. Falls ja, wird dieser geladen. Wenn nicht, wird im Archiv nachgesehen.
    ACHTUNG: Die eigenen Sounds können/dürfen nicht im selben Verzeichnis wie das Sound-Archiv liegen! Ansonsten wird immer der Sound aus dem Archiv geladen. Sinnvoll wäre also z.B. folgende Ordnerstruktur: "\Storage Card\MN4Sound\custom" für die eigenen .ogg-Sounds und "\Storage Card\MN4Sound\archive" für das .SFS-Archiv.
    - In einer neuen Zeile kann man angeben, an welche SFS-DLL dann die weitere Zuständigkeit für das Laden gegeben wird. Damit kann man FS_Hook weiterhin verwenden (nur für Profis). Beispiel:


    NextDLL=fs_hook.dll


    - Man kann eine Log-Datei über die geladenen Dateien erstellen. Dazu gibt man in einer Zeile


    Log=\My Documents\soundlog.txt


    ein (alternativ natürlich einen anderen Dateinamen - aber das Verzeichnis muss beschreibbar sein und deshalb kommt nur "My Documents" in Frage!). In diese Datei wird dann reingeschrieben, wann ein Archiv von welchem Ort geladen und welche Datei von welchem Ort geöffnet wird. Außerdem erfährt man, wann die Datei wieder geschlossen wird. In Kombination mit dem Options-Punkt NextDLL ergab sich daraus beim Testen die Möglichkeit, eine eigene Bibliothek zu programmieren, welche das Radio manuell muted, die Lautstärke verringert usw. . Dazu wäre aber noch einiges an Tüftelarbeit notwendig und man müsste genau wissen, was man will.


    Installation:
    - Auf dem PocketPC im MN4-Installationsordner (normalerweise "\Programme\NAVIGON\MobileNavigator 4.0") über den Computer die Datei ceSFS.dll in _ceSFS.dll umbenennen (kann man auch vom Taschen-PC aus, solange das Programm zum Ändern nicht wie "Datei Browser" die Dateien mit der Endung .dll ausblendet).
    - Die Datei "ceSFS.dll" aus dem Archiv in den MN4-Installationsordner kopieren.


    Fertig. ;)


    Dann läuft der MN4 allerdings genauso wie davor. Um eigene Sounds einzubinden, muss noch die Konfigurationsdatei namens "sound_config.txt" im MN4-Installationsordner angelegt und wie oben beschrieben mit Werten gefüllt werden. Die Standardkonfiguration sieht wie folgt aus:


    ArchiveDir=soundSoundDir=soundLog=NextDLL=_ceSFS.dll


    Im Gegensatz zu FS_Hook kann man nun keine Profile mehr einrichten, die so komplex sind, dass sie keiner mehr braucht. Stattdessen kann man nun ganz einfach durch einen Ordner die CustomSounds variieren. Das Profil ändert man dann ganz schnell durch Eingeben des Ordnernamens. Beispiel: "SoundDir=\Storage Card\MN4Sound\german" wird geändert zu "SoundDir=\Storage Card\MN4Sound\english".


    Deinstallation:
    - Auf dem PocketPC im MN4-Installationsordner (normalerweise "\Programme\NAVIGON\MobileNavigator 4.0") über den Computer die Datei "ceSFS.dll" löschen und die Datei "_ceSFS.dll" in "ceSFS.dll" umbenennen (kann man auch vom Taschen-PC aus, solange das Programm zum Ändern nicht wie "Datei Browser" die Dateien mit der Endung .dll ausblendet).


    Selber bauen:
    Das Tool wurde für Windows Mobile 2003 gebaut! Auf anderen Plattformen wird es nicht lauffähig sein! Allerdings könnt ihr euch die Quellcodes selber für eine bestimmte Plattform (sogar LapTop ;) ) kompilieren. Mich würde auch freuen, wenn dann jemand die DLL für ältere Windows-Versionen hier uploaden würde.
    Der Quellcode befindet sich mit im Archiv im Unterordner "src" und enthält die Projektdateien für MS eMbedded 4.0. Benötigte Softwarepakete (alle Freeware): eMbedded 4.0 (eVC4.exe), dafür das Service Pack 3 (evc4sp3.exe) und das SDK (Microsoft Pocket PC 2003 SDK.msi); alle erhältlich auf microsoft.com. Die Serial für eMbedded 4.0 steht übrigens mit auf der Download-Seite.


    An die bisherigen Sounds herankommen / Dateiliste erhalten:
    Dafür liegt das Tool "sfs_unpack" wieder dem Archiv bei. Genaueres zu seiner Verwendung in folgendem Thread: http://www.pocketnavigation.de…thread.php?threadid=33985 .


    Eigene Sounds erstellen / .wav in .ogg konvertieren:
    Wieder sei auf Audacity (http://audacity.sourceforge.net/) verwiesen.



    Ein Update von FS_Hook auf CustomSound würde ich übrigens sehr empfehlen (auch wenn FS_Hook gut läuft - wenn es einmal läuft.....).


    - Johannes

  • Hallo Johannes,


    vielen danke für das Tool ... werd diese am Wochende gleich downloaden und ausprobieren.
    Hört sich super an (obwohl das bisherige Tool bei mir auch ganz gut läuft)


    dIdI

  • Hi! Ich glaube mal ich habe alles wie beschrieben richtig gemacht. Leider verwendet die Navigon Software nach wie vor die original Sound Datei. Ich wollte zu Testzwecken die Ansage "leiser" durch ein von mir erstelltes .ogg File ersetzen.


    Meine sfs_config.txt sieht folgendermaßen aus:


    Maps=EigeneSounds
    InitFailuresAreFatal=1
    [EigeneSounds]
    *.ogg=sound\eigene\


    Vielleicht kann mir wer weiter helfen oder den Code von einer funktionierenden sfs_config.txt Datei posten. Wär SPitze.


    lg Honzo

  • @honzo:
    Geht auch viel einfacher: Die neue Version verwenden - inklusive einer Konfigurationsdatei, die zu der Version passt. Lies den Thread doch einfach noch mal von vorne ;)


    Gruß,
    - Johannes