dimanche 20 juin 2010

ChangeLog de Baud Player 3.10

Version 3.10 (majeure: Service WCF & WPF usercontrol)
- Ajouté listbox en WPF
• Ajouté affichage des durées dans la liste (désactivable sur option)
• Ajouté couleur custom pour chaque piste
• Ajouté affichage du nombre de lecture par piste (désactivable sur option)
• Ajouté Binding des listes en mémoire
- Ajouté services WCF
• Ajouté service WCF expérimental : FileServ
• Ajouté service WCF expérimental : RemoteControl
• Ajouté control Silverlight
- Ajouté explorateur de bibliothèque
• Ajouté coloration
• Ajouté suppression de fichier ou de répertoire
- Modifié gestion des listbox
• Ajouté trie automatique de la liste de recherche (sur option)
• Ajouté trie manuel sur liste de gauche et liste de droite
• Ajouté recherche à la volée dans la liste de droite (avec option pour rechercher en expression régulière)
• Ajouté menus de nettoyage dans les listes
• Ajouté menus d'ajout de fichiers dans les listes
• Ajouté coloration automatique de tous les fichiers selon sa bibliothèque
• Ajouté possibilité de renommer l'affichage d'une piste sans altérer le fichier
• Supprimé la sélection multiple dans la liste de résultats
- Modifié gestion des bibliothèques
• Ajouté l'ajout d'une bibliothèque existante par drag'n'drop
• Modifié charge la bibliothèque même si le répertoire cible est introuvable
• Modifié chargement threadé des bibliothèques
• Modifié range les fichiers drag'n'dropé dans la bonne bibliothèque et pas dans Dynamics Master par défaut
• Corrigé bug qui efface les bibliothèques si elles étaient désactivées
- Modifié fenêtre principale
• Ajouté clignotement (Windows Vista+) de la barre de progression quand la lecture est en pause
• Modifié l'affichage dans la barre de titre : A=Admin, B=Bêta, F=FileServ, R=RemonteControl
• Modifié resize du split, maintenant reste proportionnel
• Corrigé bug de mémorisation de la taille de la fenêtre
• Corrigé bug d'affichage du split après une minimisation
- Modifié fenêtre propriétés
• Ajouté export de la couverture par un simple clic
• Modifié fenêtre de propriétés (chemin en rouge si introuvable, affichage du nom de la bibliothèque dans les propriétés)
• Supprimé le bouton "mettre à jour"
• Corrigé bug sur le genre de la musique dans les propriétés
- Modifié fenêtre d'options
• Ajouté option pour vérifier si lors d'une recherche les fichiers résultant existent ou non
• Ajouté option précédente pour ne vérifier que si la bibliothèque est locale
• Ajouté option pour vérifier si lors du chargement de la playlist
• Ajouté option pour revenir en liste de lecture après avoir lu une piste en recherche
• Ajouté couleurs customisables dans les options
• Ajouté gestion de la balance
• Modifié onglet spectre en affichage
- Divers
• Ajouté amélioration/protection dans le chargement/sauvegarde des paramètres
• Ajouté splashscreen (désactivable sur option)
• Modifié gestion du code source : séparation du code en classe métier : Song, Parameters, Playlist, Bibliotheque.
• Modifié l'arrêt du player, plus fluide, plus optimisé
• Modifié la façon dont le player choisie la lecture aléatoire : élimine les erreurs et préfère les non-lues
• Modifié icônes des boîtes de dialogue
• Modifié chargement threadé des recherches et playlists
• Corrigé bug de mémorisation des flux par drag'n'drop
• Corrigés bugs multiples


Edit: Disponible à cette adresse.

samedi 19 juin 2010

Baud Player 3

Cher visiteur

Je repasse un coup sur ce blog qui va me servir de support pour annoncer les nouveautés pour les prochaines versions de Baud Player. j'en profiterai également pour poster quelques développements annexes.

Baud Player 3 est développé en C# sur une base du framework .NET 3.5. Depuis juin 2008, le développement à progressé pour offrir une multitude de fonctionnalités utiles et parfois inédites. Aujourd'hui, la version 3.10 arrive bientôt à son terme, en offrant une grande quantité d'innovations, en voici un aperçu :

- Nouvelles listes Listbox (usercontrol WPF* framework 4)
- Permet l'affichage des durées des pistes dans la liste de lecture
- Permet de customiser la couleur pour chaque piste
- Permet l'affichage du nombre de fois que la piste a été lue
- Grâce au binding, la liste reflète l'état en mémoire. Ceci corrige des bugs et facilite la maintenabilité
- Nouveauté: services WCF* (Windows Communication Fundation)
- Un service WCF expérimental : FileServ, qui permet d'ajouter/télécharger des pistes depuis un navigateur
- Un service WCF expérimental : RemoteControl, qui permet de contrôler toutes les fonctionnalités du lecteur via un contrôle Silverlight
- Nouveauté: Un explorateur de bibliothèque
- Affiche par une arborescence tous les répertoires virtuels répertoriés
- Utilise une coloration pour afficher si les répertoires sont accessibles ou non
- Permet de dé-référencer des pistes
- Peut mettre à jour facilement l'état de la bibliothèque
- La liste est triable, par nom, durée et nombre de lecture
- Peut ajouter la sélection à la liste de lecture en cours
- Nouveautés:
- Tri automatique sur la liste des résultats (désactivable)
- Tris manuels sur les listes
- Rechercher l'existence des fichiers automatiquement (désactivable)
- Recherche à la volée dans la liste de lecture
- Nouveaux menus contextuels
- Nouvel onglet d'options : comportement
- Possibilité de choisir les couleurs des pistes
- Amélioration du choix des pistes en mode aléatoire*



Détail sur le contrôle WPF:
Le contrôle WPF se compose d'une listbox qui affiche pour chaque pistes de la liste de lecture, le nom de la piste (soit l'auteur et le titre), le nombre de lecture, et la durée de la piste. La couleur de la ligne indique si le fichier est en lecture, ou s'il n'est pas accessible.

Détail sur les services WCF:
Les services WCF ne sont pas encore disponibles. Il ne seront disponibles que dans la version 3.11. Chaque service peut être protégé par un mot de passe. L'utilisateur peut choisir le port qu'il souhaite mettre en écoute. Baud Player va alors demander les droits d'administrateurs pour enregistrer le port pour que le service puisse se lancer avec les droits utilisateurs.

Détail sur le nouveau choix des pistes aléatoire:
Baud Player possède un comportement d'historique : si on clique sur "précédent", alors Baud Player va jouer la piste précédente. Quand elle sera terminée, il va relire la piste qui était à la suite. En cas de lecture aléatoire, et qu'on est pas dans l'historique, alors Baud Player va chercher, dans la liste de lecture actuelle, toutes les pistes non lues (depuis le lancement de l'application) et éliminer toutes les pistes dont il sait que le fichier n'est pas accessible, et va choisir aléatoirement une piste parmi ces dernières. S'il n'y en avait aucune, alors il va prendre une piste aléatoirement parmi toutes les pistes de la liste de lecture.


Baud Player 3.9 ainsi qu'une documentation technique et le changelog sont disponible ici : http://www.beaudier.fr/projets/Baud%20Player%203/

Voici une présentation des interfaces:

Présentation du lecteur, avec une liste de résultat de recherche à gauche, une liste de lecture à droite. Une barre d'action en haut, ainsi que le déplacement au sein de la musique ou du volume.








Voici un des nouveaux menus, qui permettent la génération rapide de liste, sans jamais modifié votre liste de lecture.

Un nouvel onglet: Service WCF (opérationnels dans la version 3.11).

L'explorateur de bibliothèque, qui permet de voir sous la forme d'un explorateur de fichier, toutes les pistes référencées.

Les propriétés d'une piste, avec l'affichage des ID3Tag, du nombre de lecture, la pochette, et un menu de navigation qui permet d'afficher les propriétés de la piste suivante ou précédente.

dimanche 17 février 2008

Sudokuuuuuuuuuu


Un de mes amis, qui aime bien codé aussi (je lui ai donné le virus) a codé un jour en mIRC un résolveur de grille de sudoku. Chapeau.

J'ai décidé de faire la même chose, en C++. Je ne suis pas un expert en sudoku, j'ai cherché les techniques de résolutions manuelles. L'ordinateur est bien plus apte a stocker des grands tableaux de quelques int. D'ailleurs la grille est résolue en quelques millisecondes, quand elle est résolue.
En utilisant quelques technique de base pour le moment (mais je n'ai plus envie de continuer), les grilles facile et moyenne sont résolues.

Echecs


Après un certain absence dans la mise à jour de ce blog, voici un nouvel article. Non je n'ai pas glandé, j'ai approfondi mes connaissances en MFC.

J'ai décidé, sur un coup de tête, de coder une petite application pour jouer aux échecs, en vérifiant les déplacements des pièces etc. Pas d'intelligence artificielle, c'est un jeu à deux joueurs. Le but était de bien gérer le concept orienté objet, à savoir le polymorphisme.
Certes le damier n'est pas colorié, mais j'ai déjà eu assez de mal à mettre des icônes sur les boutons...

samedi 29 décembre 2007

Un peu de détente...

Détente car là je n'invente rien, je ne code rien, je voulais juste vous parler. Nouveauté Dailymotion.com invente le "videowall". C'est un rectangle contenant des vidéos mignatures, que l'on peut voir facilement, switch ect. J'ai créé ce wall à partir de mes vidéos favories chez dailymotion.

Blagues ?

J'étais d'humeur aujourd'hui. J'ai développé en une après-midi un site web en PHP, MySQL, AJAX. Ce site est une copie de bashfr, mais ne se limitant pas aux seuls quotes IRC, mais prend également les blagues diverses, les proverbes et les citations célèbres. Je me suis pas appliqué sur le graphisme, comme toujours, mais la simplicité et les fonctionnalités sont au rendez-vous, tout comme la sécurité. J'ai utilisé pour la première fois captcha (très facile d'utilisation), et j'ai créé un système complet de login (login, création de compte, envoie d'e-mail, activation de compte). Les blagues envoyées peuvent être modérées avec un lien prévu, ce qui donne 4 choix à l'utilisateur : demander une suppression (insulte, diffamatoire...), proposer un reclassement (changement de catégorie), proposer une correction orthographique ou indiquer un doublon. Je déteste les doublons.
Puis dernière chose, le classement : une blague possède un classement, calculé par le nombre de vote positif et le nombre de vote total. Ceci se fait en AJAX et une même personne ne peut voter qu'une seule fois par blague.

http://www.beaudier.fr/lol

Gagner quelques minutes sur les heures que je perds



C'était le but de ce "gros" script codé en mIRC qui m'allégeait le travail de ce jeu pénible et prenant. Il avait un buffer de 2 Mo, et écoutait systématiquement le presse-papier. Dès que l'on copiait le contenu d'une page d'Ogame, le script bufférisait le contenu. Une fois que l'on a copié tout ce que l'on voulait, le script analysait le buffer ligne à ligne. C'était des rapports d'espionage. Le but était d'éliminer les rapports inutiles (la planète visée ne contient pas assez de ressources pour l'attaquer ou est trop bien gardée), et n'afficher que les rapports suceptible de m'intéresser. Une fois la liste effectuée, il me demandait pour chacun d'eux ce que je voulais envoyer (la consomation de carburant, la durée du trajet par rapport à la distance et une estimation des pertes en utilisant speedsim m'était indiquée). A la fin, j'avais ma liste des planètes a attaquer (avec la flotte que j'ai choisi d'y envoyer). Les planètes trop bien gardée était stocké pour les "EDLMer" plus tard. Celles sans défense étaient gardée pour les raider à la sonde. Ce script n'est pas illégal étant donné qu'il ne se connecte pas au serveur. Voici quelques screenshots.


Egalement, j'ai été l'une des cibles prioritaires de nos ennemis qui voulaient me missiler mes planètes. Pour anticiper leur approche dans les systèmes environnants le mien (ou le rachat de missile de joueurs neutre), j'ai réalisé un autre script, se servant toujours du presse-papier des rapports d'espionnage, pour réaliser une cartographie des missiles, silo à missile et des ennemis, neutre ou alliés. Celà m'a permis de raider les installations ennemis avant de leur permettre d'avoir assez de missiles.


J'ai également réalisé ce petit calculateur de vitesse en C++ (de la même manière que speedsim) sauf qu'il calculait également la durée planète-lune, ce que ne faisait pas speedsim.


Sous Excel (avec l'aide de mIRC) j'ai réalisé des cartographies de phalanges ennemies...



Utile dans le début, j'ai réalisé un petit script mIRC qui calculait la prodution de mes usines, et calculait a quelle heure (en incluant les changements de vitesse de production, le manque énergétique, le pourcentage de production et les arrivages de transports de ressources alliés) les ressources demandées seront disponible, et beeper le cas échéant.


mIRC (qui aspire le presse-papier, détectant le classement statistiques) génère une liste des 1500 premiers joueurs de l'univers. En se souvenant de la dernière liste, il établie alors un différentielle entre les deux listes, voyant la progression des uns et des autres. Ce script utile permet d'une pars :
- détecter ceux qui progressent vite (gros coup, HoF ?)
- détecter ceux qui progressent vite en cheatant (apport régulier de ressources)
- détecter ceux qui ont beaucoup baissé (s'est fait recyclé)
- détecter les inactifs qui ne progressent pas
Puis la page HTML ainsi générée était envoyée sur mon serveur par FTP.
J'ai par la suite réalisé un script PHP cette fois ci qui lisait le fichier "presse-papier" que mIRC envoyait par FTP. Et PHP triait dynamiquement selon un formulaire html, les informations (permettant d'avoir la différence entre 2 listes aux choix), ect..



Comme vous pouvez le constater, Ogame a été une grande source d'idée de développement :)

Move your body





Etait un petit concours organisé par l'IUT département SRC de Troyes en mars 2005. J'étais alors qu'en terminal, mais poussé par des amis, j'ai participé au concours, même si celui-ci ne correspondait pas du tout à mes connaissances et mes capacités de développement. Il nous a été demandé en 24h de dessiner un logo pour une compagnie de voyage, de réaliser une animation (flash par exemple) et un site complet. Je ne connaissais pas PHP à l'époque, très peu Flash et aucunement Photoshop. Mon équipe (composé de mon meilleur ami et ma meilleure amie qui n'étaient pas informaticien loin de là) m'on aidé comme ils ont pu... C'était plutot dans la bonne humeur, et nous sommes repartis avec tshirt, autocollant Antec, nappe IDE fluoresante et même des néon tuning USB^^. Nous sommes arrivés 7e sur 8 il est vrai; mais il faut reconnaître que se mesurer face a des SRC seconde année n'a pas été facile. Il parait même que mon site a été l'un des meilleurs !