RadioPilote
Fiche technique
- Version 1.5
- Cette application sert à automatiser la netradio RadioPi.
- Développée en Borland Delphi 4
- Capture d'écran (version 1.4) :
Nouveautés
-
Version 1.5 du 6 septembre 2000
La version 1.5 consiste en une mise à jour majeure de RadioPilote.
Tout d'abord, toute une série de petits bugs ont été supprimés.
Le moteur de lancement des tops horaires a été totalement reprogrammé, car la version originale, simple au début, puis bricollée, ne donnait plus satisfaction. (Il y avait le bug "à 00h00 Test" qui apparaisait trop souvent, et aussi le problème du samedi soir minuit, où l'on passait mal du jour 7 se la semaine au jour 1 (dimanche).)
Pour une meilleur lisibilité du code, et pour en même temps supprimer des bugs, la partie "Rediffusator2" du code a été "réorganisée" en tenant beaucoup plus compte de l'aspect "objet" du langage de programmation Delphi. Cette réorganisation, qui m'a pris une bonne journée, n'est pas "visible" directement par l'utilisateur.
Les menus ont été une nouvelle fois réorganisés. La nouvelle disposition m'apparait comme plus "ergonomique". Des petites îcones ont aussi été rajoutées devant chaque commande de menu, ce qui est assez joli, (mais pas très utile, je vous l'accorde).
RadioPilote possédait un onglet qui permettait d'automatiser la fabrication de la page web affichant la grille des programmes que l'on afficahit en choisisant une commande menu. Cet onglet a été transformé en fenêtre indépendante, ce qui est beaucoup plus "naturel" pour l'utilisateur.
L'audience est maintenant enregistrée toutes les minutes, ce qui est, il me semble, plus raisonnable qu'avant.
Un nouvel onglet a fait son apparition : il s'agit de l'onglet "messages". Il permet de personnaliser le message RTF envoyé au player et qui s'affiche dans l'onglet "En ce moment" du player Windows. Soit on choisit le message généré automatiquement par RadioPilote (qui contient le nom de l'émission, une description et les horaires des programmes suivants) (remarque : on peut modifier ce message, si il contient un erreur. La modification reste jusqu'à ce que RadioPilote refabrique un message), soit on peut choisit d'afficher un texte (en noir) personnalisé. Une troisième possibilité consiste à alterner les 2 messages toutes les 15 secondes. Cet onglet est très simple d'utilisation et les annimateurs peuvent librement s'en servir.
Le moteur de messages "En ce moment" a été refondu, pour être optimal avec les nouvelles possibilités de Léa (voir plus bas). Jusqu'à présent, il y avait les émissions le soir, et la journée, des rediffusions avec de la musique entre les rediffusions. Maintenant, en plus des rediffusions, il peut y avoir de véritables émissions automatiques la journée. Ce qui fait que la différence Soirée / Journée tend légèrement à diminuer. Bref, c'est un peu compliqué à expliquer, mais, maintenant, à tout moment (et même pendant le direct), les horraires des 2 prochaines émissions (plage musicale inter-émissions incluse) sont affichées dans la zone "En ce moment". Ce n'était pas le cas avant.
Pour éviter les looses du type, "ça fait 35 min que ça n'enregistre pas", ou celles du type "on fait notre émission, mais, à cause d'un mauvais réglage du LiveEncoder, on n'envoie aucun flux aux auditeurs", ou encore celles du type "on a oublié de lancer les rediffs", il y a quelques routines qui vérifient que tout va bien, et qui affichent en rouge bien visible des messages d'erreur si un problème apparait. De plus, tous les players windows en mode spécial-caché (comme le mien) voient apparaître ces messages d'erreur dans leur zone IRC, histoire de donner l'alerte.
Quelques mots à propos du gestionnaire de play-list : les fichiers Léa (coir plus bas) fabriquent des play-lists prêtes à la diffusion à partir de play-lists existantes enregistrées au format M3u. Quand vous décidez de créer une nouvelle play-list en la définissant comme contenant tous les fichiers d'un dossier (avec éventuellement les sous-dossiers) en utilisant le gestionnaire de play-list, vous avez l'avantage de pouvoir mettre à jour TOUTES les play-lists ainsi créees en appuyant sur le bouton "mettre à jour" du gestionnaire de play-list. Cela simplifie la mise à jour des fichiers play-list quand vous ajouter - supprimer souvent des fichiers des différents dossiers. Jusqu'à cette version, il n'y avait qu'un nombre limité et pré-défini de play-lists (Tops, Pubs, Toutes les musiques & Nouveautés). Maintenant, on peut créer un nombre illimité de play-list. Remaque importante : on peut théoriquement utiliser des play-list M3u faîtes à l'avance et non liées à un dossier. Cepedant, Winamp, dans ses nouvelles versions à un peu changé le codage des fichiers M3u. RadioPilote n'accepte pour le moment pas les nouveaux fichiers M3u de Winamp. Ce problème devrait être résolu dans les prochaines versions de RadioPilote.
Il est possible maintenant de glisser-déposer un fichier Mp3, M3u ou Léa de l'explorateur Windows, du gestionnaire de play-list ou de l'éditeur de fichier Léa directement sur la fenêtre principale de RadioPilote, pour le placer dans la play-list (M3u - Mp3) ou l'exécuter (Léa). C'st pratique pour modifier simplement le cours des rediffusions.
Le dispositif anti-doublons a été mis à jour pour être compatible avec Léa. L'ancien principe pour mémoire consistait à fabriquer une play-list de 5 h avec des doublons éventuels, de virer les doublons de cette play-list, et zou, elle était difusée, jusqu'à ce qu'un nouveau top horaire ne vienne l'écraser avec une émission et une nouvelle play-list. Avec Léa, on ne fabrique plus "d'un coup" une grosse play-list écrasée ensuite, mais au fur et à mesure la play-list difusée. D'ou un nouveau dispositif anti-doublons. Le principe est de marquer dans une base de données (Paradox) le jour et l'heure de passage de tout fichier Mp3 diffusé. Et c'est au moment de l'exécution d'un fichier Léa, quand on utilise une fonction qui place un Mp3, qu'on précise le temps minimal d'écart entre 2 diffusions. Par exemple, 12 h pour un Mp3 quelconque, 6 h pour une nouveauté, 3 h pour un top horaire, 1 min pour un jingle inter-disques. Ce système est donc plus efficace que le précédent, car on évite de manière certaine les doublons tout en pouvant diffuser relativement souvent certains jingles.
Passons maintenant qu plus gros morceau : Léa, le Langague d'émissions automatiques. J'ai décidé de créer ce nouveau petit langage de manière à pouvoir faire des scripts qui fabriquent en automatique une play-list pour une émission. Je ne voyait pas d'autres manières simples pour faire un algorithme d'émission. Supposer qu'on veuille faire une émission ainsi : au début, le générique de l'émission doit être joué, ensuite on passe une morceau de hard rock, puis un jingle, puis on alterne jusqu'à tel heure, nouveauté rock et golds rocks. A l'heure donnée, on diffuse un top horraire, puis 2 pubs différentes, remusique, et un quard d'heure avant la fin, on diffuse 3 jingles qui annoncent 3 disques, puis on joue ces disque dans l'ordre annoncé, ces 3 disques étant bien entendu tirés au sort, et différents. Enfin, on joue de la musique puis le générique de fin, 1 min avant le top horraire suivant. Voila un exemple d'algorithme d'émisison que l'on peut réaliser avec Léa. Pour éditer un fichier Léa, on peut prendre le bloc-note Windows, ou bien utiliser la fenêtre d'édition de RadioPilote. Je ne vais pas faire ici la description détaillée du langage : il y a un fichier d'aide Windows qui contient le descriptif des fonctions. Il me reste à le compléter avec d'autres sujets. Dans RadioPilote, il y a aussi un onglet spécial "Léa" où est chargé le code, et où on peut voir aussi le contenu des différentes variables (ou clefs). Il est possible d'exécuter un programme Léa pas à pas, ou d'un coup. Notez qu'il n'y a pas encore de garde-fous, et qu'une instruction utilisée avec le mauvais nombre d'argument, ou avec des argument de mauvais type, peut planter RadioPilote ! Je placerai des garde-fous dans les prochaines versions. Il faut définir dans RadioPilote quel est le fichier Léa à lancer au début des rediffs et celui à diffuser à chaque top horaire. (Attention : ce dernier fichier doit être programmé de manière à diffuser l'émission ayant déclanché le top ! Il est personnalisable : vous pouvez par exemple décider de diffuser une pub, ou un top horaire avant de diffusé la rediffusion de l'émission...). En conclusion, l'utilisateur moyen n'a pas trop à ce préocuper de l'onglet Léa (l'onglet est de toutes manières désactivé pendant le direct).
Léa ne demande qu'à évoluer. Les instructions disponibles sont encore limitées, quoique permetant déjà de faire des trucs pas mal. A l'avenir, on pourrait imaginer la prise en charge de l'interactivité avec l'auditeur : "Votez pour l'un des 3 disques suivant !"... Les possibilités sont gigantesques...
Ce sont les principales évolutions concerant la version 1.5 de RadioPilote. J'ai certainement oublié de décrire d'autres petites modification !
-
Version 1.4.2 du 4 juin 2000
Tout d'abord, un gros bug a été viré : il s'agissait du lancement des rediffusions qui ne marchait presque jamais (on appuyait sur le bouton et aucune play-list n'était lancée... Cela créait un blanc à l'antenne).
L'audience de la radio est maintenant enregistrée toutes les 15 secondes quand Radio Pilote est actif. Si mes calculs sont justes, cela prend environ une dizaine de méga-octets par an, ce qui est raisonnable. On peut aussi avoir un graphe de l'audience (mais cette fonction est cachée). Merci aux contrôles ActiveX de Delphi! :)
-
Version 1.4.1 du 28 mai 2000
Maintenant : pendant le direct, la barre de titre affiche le nom de
l'émission (et non plus le nom du dernier MP3 joué en rediffs...)
Quand une émission est terminée, le player affiche "100% Musique" tout de
suite en attendant le prochain Top (au lieu de laisser le titre de
l'émission précédente pendant parfois des heures...).
-
Version 1.4.0 du 14 mai 2000
Radio Pilote a beaucoup évolué depuis la précédente version.
J'ai supprimé un horrible Bug qui trainait depuis le passage en Unicast : les auditeurs étaient automatiquement jetés au bout d'un certain temps, et alors, ils se reconnectaient automatiquement, mais il y avait un blanc de l'ordre de la seconde tous les 1/4 d'heure en gros... Beark!
L'interface a été retouchée : surtout en ce qui concerne les menus. Ils ont été réorganisés, et ils me semble maintenant plus naturels.
La base de données a grossit avec de nouvelles rubriques : maintenant, chaque émission possède deux champs supplémentaires : un champ " SITEWEB " et un champ " FICHIER_EA ". Le premier est lié à l'évolution de la partie web, l'autre à celle de la gestion des émissions automatiques, mais n'est pas encore opérationnelle dans la version actuelle de Radio Pilote.
La partie " web " a évolué, mais il reste encore beaucoup à faire. Pour le moment, quand on fabrique le fichier HTML de la grille des programmes, les émissions qui possèdent des pages webs ont un lien direct vers ces pages depuis la grille de programmes à chaque fois qu'elles apparaissent. L'onglet " Web " n'est plus visible par défaut. Il faut cliquer sur "Mode de génération du site web " dans le menu " web " pour l'activer. Il y a d'autres évolutions mineures (non citées ici) dans cette rubrique.
La grosse évolution de cette mouture est l'absorption de Rediffusator, l'ancien programme de Tony utilisé pour rediffusé les émissions la journée jusqu'à présent. Après une bonne année de services, Rediffusator ne nous servira plus ! En effet, j'ai totalement reprogrammé Rediffusator, ou plutôt, je l'ai traduit de Visual Basic vers Delphi. Cela n'a pas été une partie de plaisir, car il y avait certains trucs que je ne savait pas faire en Delphi... Mais, au bout du compte, ça marche ! Et c'est tant mieux. Notez donc qu'il y a une partie du code de Radio Pilote qui a donc pour auteur Tony! Donc, maintenant, Radio Pilote n'a plus à envoyer des play-lists à Rediffusator : il les garde pour lui. Ca a de nombreux avantages : le premier est que ça limite le nombre d'applications à utiliser et qui pouvait faire peur aux débutants. Le second est qu'on assistait ces derniers temps à des plantages réguliers de Rediffusator 2 au lancement des rediffusions, et il fallait alors relancer Radio Pilote. Bref, pas terrible. Troisième avantage : les rediffusions démarrent plus vite et le blanc " pré-rediffs " est réduit. Quatrième avantage : Radio Pilote sait quelle émission il rediffuse car il a accès, lui, à la base de donnés, ce que n'avait pas Rediffusator. Donc, par exemple, maintenant, au lieu d'afficher " Tue 11 Jan 2000 _1 ", le Player affiche " Salut les gorêts ", ce qui est plus agréable pour l'auditeur. Enfin, Radio Pilote sait où il en est dans la play-list, et pourra ainsi, (ce n'est pas fait), réagir en conséquences... Une remarque cependant : pour le moment, la solution retenue dans la traduction de Rediffusator n'est pas très " propre ", car Radio Pilote procède comme Rediffusator : le flux audio est envoyé par Radio Pilote sur le port 8764 (comme le faisait Rediffusator) et est récupéré par..., devinez qui, Radio Pilote (!) pour être à ce moment là dispatché à tous les auditeur (et renvoyé donc) par Radio Pilote, encore lui. Bref, il y a une opération inutile, mais ça simplifiait le code dans un premier temps. Cependant, ce " défaut " devrait disparaître dans les prochaines versions... Sinon, globalement, et c'est là un jugement personnel, je trouve l'onglet Rediffs de Radio Pilote plus beau que Rediffusator ! Les contrôles de Delphi sont jolis.
Une nouveauté : le problème des fichiers VBR. Tout comme Rediffusator, Radio Pilote de peut pas diffuser les fichiers Mp3 VBR (à débit variable). Il y a alors deux nouvelles options disponibles : la première inscrit dans un fichier M3u le nom de tous les fichiers VBR rencontrés de manière à ce que ceux qui gère la play-list soient au courant que ces fichiers ne risquent pas de passer. Mieux, une deuxième option déplace automatiquement les fichiers VBR rencontrés dans un répertoire défini, (une sorte de poubelle), et sont ainsi viré de la play-list. C'est un plus pour gérer la play-list et le disque dur, qui n'a pas à être rempli de fichiers inutiles.
Une nouvelle fenêtre est apparue : " gestion de la play-list " qui sert à gérer les fichiers M3u. Pour le moment, ça ne sert pas beaucoup, mais à l'avenir, ça sera indispensable. En effet, lors de la fabrication d'émissions automatiques, Radio Pilote ira chercher dans ces fichiers M3u les fichiers Mp3 à jouer. Tous les fichiers M3u qui serviront devront être regroupés dans un dossier défini, et seront de deux types : les play-list faîtes à la main, qu'on fabrique en sélectionnant des fichiers un par un, (par exemple avec Winamp) et les play-list par dossier (avec en option les sous-dossiers) qu'on fabrique en sélectionnant simplement (avec Radio Pilote maintenant) un dossier. De plus, ces derniers fichiers M3u pourront être mis à jour automatiquement si on le veux. En gros, quand on aura ajouté des fichiers au repertoire " Trance " et d'autres au répertoire " Nouveautés ", on n'aura qu'à cliquer sur un bouton pour mettre à jour tous les fichiers M3u qui doivent se mettre à jour, et uniquement ceux-là. Ca sera donc assez pratique. Pour le moment, il n'y a que 4 type de play-lists : " tous les fichiers musicaux ", " les nouveautés ", " les jingles Top horaire " et " les publicités ". A l'avenir, on pourra en avoir autant qu'on veut (par exmple, une par genre de musique) : ça sera totalement paramétrable.
Et on pourra fabriquer des fichiers qui expliquent comment fabriquer la play-list des fichiers qui passent à l'antenne en automatique à partir des fichiers play-list créés. Pour le moment, l'algorithme est figé et est le suivant : " Top ", " Emission ", " Pub " et puis musique avec " 2 golds ", " 1 nouveauté " en boucle. Cette évolution n'est pas faite et va demander encore beaucoup de temps de programmation. J'ai commencé à me pencher dessus et je suis en train d'élaborer un mini-langage de scripts le " Léa " (Langage d'émissions automatiques). Chaque émission rediffusée sera alors associable à un fichier Léa. A suivre donc...
J'ai revu le menu " aide ", la boîte " à propos " en autres, et j'ai créé un vrai fichier d'aide Windows qui se lance en appuyant sur F1. Pour le moment, il ne contient qu'une page utile (RTFM utilisation de Radio Pilote pour enregistrer une émission), mais à l'avenir, il y aura une description du langage " Léa " en détails...
Enfin, des parties du code ont évolué en même temps que le Player et permettent d'envoyer des nouveaux messages au player. Par exemple, au début du direct, un message particulier est envoyé au Player et propose aux auditeurs qui le souhaitent d'être informés du début du direct.
Voilà les principales évolutions depuis la version 1.3.