Jukebox OGG S3M IT MOD WAV  
   
  • On trouve parfois des applications ou des jeux qui utilisent des fichiers musicaux aux formats "exotiques", comme IT, S3M, OGG, MOD... souvenir des modules Atari ou Amiga
    l'objet
    ONU Audio Control Object - qui comporte également une suite d'outils : Onu Engineers et Onu Visualizations - permet de "lire" ces formats
  • la dernière version d'ONU permet d'appliquer des effets - oscilloscope... -, également, aux WAV
    la télécharger sur
    http://dark-wire.com/store/extlist.php - ONU installe plusieurs extensions, et est livrée avec des exemples et une aide complète
    télécharger de préférence le fichier
    EXE, l'installation se faisant sans problème, par défaut
    info : lire sur le forum, Fusion 2.5 cannot load OnuEdit.dll http://community.clickteam.com/threads/83547-Clickteam-Fusion-2-5-cannot-load-OnuEdit-dll
    recopier OnuEdit.dll dans Windows/System32 et Windows/SysWOW64
  • les MFA sont une adaptation simplifiée d'un de ces exemples
    3 exemples : avec un menu Multimédia (Play, Pause, Resume, Stop) - avec une Liste cliquable - avec une play-Liste, cd. le tutorial Jukebox 1 et 2
    les musiques sont stockées dans le sous-répertoire Data, mais vous pouvez y ajouter vos fichiers musicaux
  • des fichiers IT sont proposés sur le CD Bonus de MMF2 : CD :\Samples\Modules\....

   
  • on peut éditer ou créer des modules avec des logiciels appelés Trackers comme ModPlug Tracker
    ModPlug Player
    convertit les WAV en MOD ou IT
    la musique du Tracker est stockée dans ce qu'on appelle des fichiers modules où les données et samples du morceau sont encapsulés dans un simple fichier
  • plusieurs formats de module sont supportés par les lecteurs musicaux populaires comme Winamp : MOD, S3M, XM, OGG et IT
  • pour d'autres formats "exotiques" comme AU ou AIF :
    le logiciel Audacity http://www.clubic.com/telecharger-fiche10372-audacity.html permet d'exporter des AU AIF, aussi des WAV ou MP3 en OGG, ce qui réduit parfois le poids
 
  • en vrac, pour améliorer les MOD - qui font un peu casserole -, on peut changer les paramètres, avec l'action Playback Options de Onu Engineer-ModFusion
  • l'oscilloscope est cloné : Left et Right
    le
    spectrum a le paramètre Both
  • compteurs ajoutés pour indiquer la durée et le numéro d'un morceau musical
  • penser à ajouter vos fichiers musicaux quand vous construirez l'installation
  • pour que tous les fichiers soient joués, une fois l'application construite, penser à désélectionner Automatique dans Filtres sonores des Propriétés de l'application

exemple avec une Liste cliquable

exemple avec une play-Liste

exemple avec un menu Multimédia (Play, Pause, Resume, Stop)

   
  • ajouter un compteur pour indiquer la durée d'un morceau musical
  • ONU propose d'indiquer la durée d'un son - en millisecondes -
    insérer un compteur,
    Changer le compteur, dans la boîte de dialogue Changer le compteur 1, récupérer 2 les données d'un objet - ONU 3 -, la partie surlignée, dans l'éditeur d'expression 4, implique de récupérer la valeur du Deck courant 5
    et on obtient cette expression
    6 : TotalTimeMS( "Onu Audio Controller", value( "Current Deck ID" )) avec comme résultat la durée en ms, ce qui n'est pas très lisible...
 
   
  • j'ai mis 2 compteurs, un pour les minutes et un pour les secondes, avec ces formules :
    calcul des minutes : <minutes> =
    Floor(<ms>/1000/60)
    calcul des secondes : <secondes> =
    Floor(<ms>/1000-<minutes>*60)

    Floor étant une expression mathématique donnant une valeur entière
    par exemple, un morceau comme
    toccata.mod fait 343359 ms, ce qui va donner :
    minutes :
    Floor(343359/1000/60), soit 5 minutes
    secondes :
    Floor(343359/1000-5*60), soit 43 secondes
  • Je remercie Sphax pour m'avoir indiqué la formule "magique" ) - ainsi qu'Olivier
  • cf. le tutorial Fonctions Mathématiques
  • comme il faut programmer une expression valable pour chaque morceau on aura
    en minutes :
    Floor(TotalTimeMS( "Onu Audio Controller", value( "Current Deck ID" ))/1000/60)
    en secondes : Floor(TotalTimeMS( "Onu Audio Controller", value( "Current Deck ID" ))/1000-Floor(TotalTimeMS( "Onu Audio Controller", value( "Current Deck ID"))/1000/60)*60)