JérOli Media Player Auteurs : J.FELLUS & O.NESTY.

Slides:



Advertisements
Présentations similaires
Effectuer une recherche avancée sur EBSCOhost Champ de recherche unique Didacticiel support.ebsco.com.
Advertisements

Chapitre I : Systèmes d’exploitation
Chapitre 3: Système d’exploitation
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Guide rapide pour le gestionnaire Etape
Formation WIMS Jeudi 9 juillet 2009
convertisseur youtube en mp3
Module 7 : Résolution de noms NetBIOS à l'aide du service WINS
Identifier et évaluer un site internet
Comprendre l’ergonomie du module STSWEB
JAV - TD 6 Structures de données JAVA
VI50 – TP3 Introduction à Virtools. Virtools Virtools Media Design 3DS, Maya, Lightwave… Sound Design wav, mp3… Texture, 2D interface jpg, bmp… Specific.
Introduction à Virtools
ALLUMER L’ORDI 1 Appuyer sur le bouton du disque dur
Systèmes d’exploitation
Formation Microsoft® Office Access 2007
Module II : Les logiciels
ENVIRONNEMENT WINDOWS
Cours n°3 Les formulaires
Bibliothèque Patchouli
OMNIDIA 5.3. OMNIDIA 5.3 OMNIDIA 5.3 OMNIDIA 5.3.
1 Procédure pour lUSB BOX. 2 Contenu du kit accessoire disponible déc/2007: * notice de montage (avec implantation / véhicule) * guide dutilisation *
Déclaration dimpôt Particularité Droits dadministrateur nécessaires pour effectuer correctement les mises à jour Choix de paramétrage …
Nouveau blog. WordPress connexion Nommez votre blog.
Module 1 : Préparation de l'administration d'un serveur
OUTILS PRÉPARATION DE RENTRÉE La récupération de la liste des élèves présents dans lapplication SCONET.
Publispostage Menu Outils / Lettres et publipostage
FICHIERS : Définition : Algorithme général:
Guide à l'usage des élèves
Console MMC de Windows 2000 Présenté par Suzanne Savoie Cours 4.
Conception, création et animation d’une classe virtuelle
Initiation aux bases de données et à la programmation événementielle
Module 12 : Surveillance des ressources et des performances
Projet de bases de données. Déroulement du projet Planification sur 7 semaines : •Semaine 1: conception de la base de données •Semaines 2 à 5 : développement.
Inscription via Cliquez pour changer de langue Fonctions disponibles Descriptions des masques - Menu fermé (640x480) + Menu ouvert (800x600) Cliquez.
UTILISATION DE LINUX. LINUX 2 UTILISATION DE LINUX Différences Windows-Linux Le prix La licence Le choix des distributions Les applications Les utilisateurs.
On voit rien, hein ? Ça marche pas, peut-être ? Bon ! j’y suis, coco j’ai ouvert Power Point ! Bravo, applaudissez !!!
Gestion des fichiers et dossiers
TYPO 3 Site uved 14 avril 2006.
Windows 7 et son explorateur
Présentation sur ordinateur Quelques éléments sur ce qu’est une présentation.
LES INFOS de Philippe et Patrick Journal d'informations en ligne Infospp.free.fr Mai 2006.
Arbre GénéalogiqueDiagramme de Classes Comment la visualisation d’une hiérarchie de classes facilitera le travail de notre client ?
Numérisation cd audio Atelier numériser un cd audio sur son ordinateur Graver ma compil de musique Transférer mes pistes audio sur mon mp3.
Interface Graphique Logiciel de dictées Trenza et Miguet 2006.
Systèmes d’exploitation
Une nouvelle manière de visualiser le fichier de contrôle de System Automation LUDIWAC ® Helcia Conseil.
En route vers le déploiement . . .
Master 1 SIGLIS Systèmes d’Information pour l’entreprise – Java RMI Stéphane Tallard Mise en œuvre de l’exemple Bonjour RMI Master 1 SIGLIS1 Intégration.
Comprendre l’ergonomie du module STSWEB. La page d’accueil de STSWEB Code et Nom de l’établissement Version du module Campagne en cours Année affichée.
Simulateur de microcontrôleur Intel 80C51
Chapitre 1 : systèmes d’exploitation
Réunions Choisir votre vue Skype Entreprise
Comprendre l’ergonomie du module STSWEB. La page d’accueil de STSWEB Code et Nom de l’établissement Version du module Campagne en cours Année affichée.
MINUTES DU LANGAGE 1- Je choisis un sujet
Programmation mobile: Android
QCM VBA.
FENÊTRE D’ACCEUIL OFFRANT DIFFÉRENTS MODULES Une quantité impressionnante d'information.
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Générateur d’applications WEB de gestion de données Module List.
WINDOWS SEVEN.
FORMULAIRES FOMULAIRE Permet à l’utilisateur d’entrer des renseignements le concernant. Utilisation –Inscription sur un site –Mise à jour d’une base.
Sommaire : -A propos des images importées -Les boutons et l’interactivité dans la scène -Textes dynamiques -Les clips (les liaisons) -Les sons -Les composants.
Kunsite and diamond ring. Disposition de titre et de contenu avec liste  Ajoutez votre première puce ici  Ajoutez votre deuxième puce ici  Ajoutez.
Introduction au HTML Qu’est ce que le HTML ?
Formation K-sup Niv 1 Février 2009 CRISI - COM. Programme formation (1 ère ½ journée) _ Fonctionnement de K-Sup _ Création de la structure du site de.
KOSMOS 1 Les activités de l’enseignant Module 6 1.Le cahier de textes des classes 2.Le travail à faire et les corrections 3.Le classeur pédagogique 4.Les.
Disposition de titre et de contenu avec liste  Ajouter votre premier point ici  Ajouter votre deuxième point ici  Ajouter votre troisième point ici.
Disposition du titre Sous-titre.
Disposition du titre Sous-titre.
Transcription de la présentation:

JérOli Media Player Auteurs : J.FELLUS & O.NESTY

A quoi ça sert ???? JérOli Media Player

A quoi ça sert ???? 1.Gestionnaire de PlayList JérOli Media Player

A quoi ça sert ???? 1.Gestionnaire de PlayList 2.Outil de Recherche de Mp3 dans larborescence JérOli Media Player

A quoi ça sert ???? 1.Gestionnaire de PlayList 2.Outil de Recherche de Mp3 dans larborescence 3.Player JérOli Media Player

Exemples de fonctionnement

Approche : « Je cherche tous les morceaux dOscar Peterson qui datent de plus de 10 ans »

Exemples de fonctionnement Approche : « Jai entendu parler de Songs in the key of life, je ne sais pas si cest le nom de lalbum ou le titre dune chanson… que me propose le JérOli Media Player ??? »

Exemples de fonctionnement Actions sur la PlayList

Exemples de fonctionnement Ecoute tranquille de musiques tout en faisant autre chose

Dissection du JérOli Media Player Ses aspects Internes

Gestionnaire : classes principales

C Main : Point de démarrage du programme C

Gestionnaire : classes principales CCApplication : classe principale d'une application CC Main : Point de démarrage du programme

Gestionnaire : classes principales CC Application : classe principale d'une application CC Interface Configuration Player PlayList en Cours Main : Point de démarrage du programme

Gestionnaire : classes principales CCApplication : classe principale d'une application CC Interface Configuration Player PlayList en Cours Méthodes : Ajouter à la PlayList Retirer … Charger une PlayList Look&Feel Main : Point de démarrage du programme

Gestionnaire : classes principales CCApplication : classe principale d'une application CC CCConfig : classe qui va gérer les fonctions de configurations Main : Point de démarrage du programme

Gestionnaire : classes principales CCApplication : classe principale d'une application CC CCConfig : classe qui va gérer les fonctions de configurations CCPlayList : Liste de MP3Desc Main : Point de démarrage du programme C

Gestionnaire : classes principales CCApplication : classe principale d'une application CC CCConfig : classe qui va gérer les fonctions de configurations CCPlayList : Liste de MP3Desc Méthode : Add, remove … IsPlaying? Déplacement de MP3 Navigation (précédent, suivant, stop, play) Main : Point de démarrage du programme C

Gestionnaire : classes principales CCApplication : classe principale d'une application CC CCConfig : classe qui va gérer les fonctions de configurations CC PlayList : Liste de MP3Desc Méthode : Add, remove … IsPlaying? Déplacement de MP3 Navigation (précédent, suivant, stop, play) Player C Main : Point de démarrage du programme

Gestionnaire : classes principales CIInterface Interface textuelle Interface Graphique Gestion du Splash Screen Mode Quick Play !

Gestionnaire : classes principales CIInterface Interface textuelle Interface Graphique Fenêtre Principale Fenêtre Quick Play !

Gestionnaire.repertoire Classes qui gèrent le contenu de larborescence C Répertoire (Arborescence) C Vecteur de Données (tableau dynamique de MP3Desc ) C Méthode : Filtrage Tri Random [Debug]

Gestionnaire.repertoire Classes qui gèrent le contenu de larborescence C Répertoire (Arborescence) C CC MP3Desc (Description dun fichier Mp3) * tag ID3 Lire le tag (sous forme compacte « byte[ ] ») via un Tag Reader * Récupérer les champs * Passer à travers des filtres * Comparaison par critères (critère vector)

Aspect Visuel…

Interface Graphique Aspect Visuel…

Interface Graphique Aspect Visuel… CC WSplashScreen : gère la fenêtre de chargement

Interface Graphique Aspect Visuel… CCWConfig : gère toute la fenêtre de configuration CC WSplashScreen : gère la fenêtre de chargement

Interface Graphique Aspect Visuel… CCWConfig : gère toute la fenêtre de configuration CC CCWFenetrePrincipale : gère toute la fenêtre principale WSplashScreen : gère la fenêtre de chargement

Interface Graphique Aspect Visuel… CCWConfig : gère toute la fenêtre de configuration CC CCWFenetrePrincipale : gère toute la fenêtre principale CCWQuickPlay : gère toute la fenêtre Quick Play ! WSplashScreen : gère la fenêtre de chargement

Interface Graphique Aspect Visuel… CCWConfig : gère toute la fenêtre de configuration CC CCWFenetrePrincipale : gère toute la fenêtre principale CCWQuickPlay : gère toute la fenêtre Quick Play ! WSplashScreen : gère la fenêtre de chargement CCWRechecheRapide : Affiche le résultat de la recherche rapide

Aspect Visuel…

Composants Aspect Visuel…

Composants Aspect Visuel… CC CCritèreTri : gère le choix des Critères de recherche

Composants Aspect Visuel… CCCInfos : gère le tableau dinformation CC CCritèreTri : gère le choix des Critères de recherche

Composants Aspect Visuel… CCCInfos : gère le tableau dinformation CC CCCPlaylist : gère la Liste de chansons CCritèreTri : gère le choix des Critères de recherche

Composants Aspect Visuel… CCCInfos : gère le tableau dinformation CC CCCPlaylist : gère la Liste de chansons CCCTitreBlock : Affiche le titre de chaque module CCritèreTri : gère le choix des Critères de recherche

ORGANISATION DE LARBORESCENCE Tri & Filtrage

ETAPE 1 : FILTRAGE REPERTOIREMP3DESC Visible ? FILTRE Filtrer

ETAPE 1 : FILTRAGE Classe Filtre : Méthode dexécution du filtre C

ETAPE 1 : FILTRAGE N x nbFiltres comparaisons à effectuer (nbFiltres << N) C = o(N)

ETAPE 2 : TRI PAR CRITERES REPERTOIREVector CRITERES Vector MP3DESC Sort ( ) Custom COMPARATOR Custom compareTo ( ) method Visible ?

ETAPE 2 : TRI PAR CRITERES Classe Filtre : Méthode dexécution du filtre C

ETAPE 2 : TRI PAR CRITERES Classe MP3Desc : méthode de comparaison par critères C

ETAPE 2 : TRI PAR CRITERES compareTo() : nbCriteres comparaisons à effectuer (dans le pire des cas) sort() : algorithme issu de la bibliothèque de classes standard – complexité en n.log(n) nbCriteres << N C = o(N.log(N))

lBound : int rBound : int Parent : MP3Node ETAPE 3 : AFFICHAGE HIERARCHIQUE CRepertoireTree ( ~Jtree) DefaultTreeModel MP3TreeModel Repertoire MP3Node

ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 AX1 AX2 AY1 BX3 BX4 BY1 BY2 CX1 CX5 CX12 CY1 CZ109 CZ110

ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 AX1 AX2 AY1 BX3 BX4 BY1 BY2 CX1 CX5 CX12 CY1 CZ109 CZ110

ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 AX1 AX2 AY1 BX3 BX4 BY1 BY2 CX1 CX5 CX12 CY1 CZ109 CZ110

ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 AX1 AX2 AY1 BX3 BX4 BY1 BY2 CX1 CX5 CX12 CY1 CZ109 CZ110 Root

ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 AX1 AX2 AY1 BX3 BX4 BY1 BY2 CX1 CX5 CX12 CY1 CZ109 CZ110 Root 0 1 2

ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 X1 X2 Y1 X3 X4 Y1 Y2 X1 X5 X5 Y1 Z109 Z Root A B C

ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 X1 X2 Y1 X3 X4 Y1 Y2 X1 X5 X5 Y1 Z109 Z Root A B C

ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 X1 X2 Y1 X3 X4 Y1 Y2 X1 X5 X5 Y1 Z109 Z Root A B C

ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE X3 X4 Y1 Y2 X1 X5 X5 Y1 Z109 Z Root A B C X Y 0 1

ETAPE 3 : AFFICHAGE HIERARCHIQUE Repertoire MP3Node lBound rBound Childs

ETAPE 3 : AFFICHAGE HIERARCHIQUE Repertoire MP3 A MP3 B MP3 C MP3 D MP3 E MP3 F MP3 G MP3 H MP3 I MP3 J MP3 K MP3 L MP3 M MP3Node lBound rBound Childs GetChildCount () Nombre de valeurs différentes dans [ lBound,rBound ] GetChild(int i) Parcours jusquà trouver i valeur différentes et retourne lindice courant GetParent () Chaque nœud garde une trace de son père TreeModel overrides parent

ETAPE 3 : AFFICHAGE HIERARCHIQUE On doit accéder n x nbCriteres fois à un mp3 du répertoire nbCriteres << n C = o(N)

Complexité finale de lopération Filtrage + Tri C = o(N) + o(N.log(N)) + o(N) C ~ o ( N.log(N) )

Les Librairies Externes Jlayer : le player TinyLAF : les thèmes de linterface Graphique

Les points Négatifs… Pas de Menu Clic-Droit pourtant implémenter Après avoir fait « suivant » la chanson daprès ne se joue pas Pas de lecture de durée pas dindication davancement dans la lecture pas de bouton « pause » fonctionnel ! Pas dinterface Textuelle Problème de superposition de fenêtres

Les plus de notre projet… Quick Play ! Recherche Rapide Capacités de Filtrage et Tri avancées Plusieurs thèmes Redimensionnement pratique de chaque module Portabilité des PlayLists générées par notre application vers dautres plus connues comme Real Player, etc.

Les futures mises à jour de notre projet… Tag ID3 v1.1, v2 Edition des tags Durée, avancement Le Drag N Drop

Remerciements P.LAROQUE & JL.BOURDON (pour le cours de JAVA) B.DERDOURI & M.NAÏMI (pour le cours de calcul de la complexité) V.SANS (pour le cours dUML) Les Concepteurs de la JAVADOC

Modèle UML de notre projet interfaceMode (boolean) Application thread PlayerInterface menuPrincipal InterfaceTexte fenetrePrincipale InterfaceGraphique Root (String) Repertoire configData (Map<String,String) Config Tag (byte[]) isVisible (boolean) MP3Desc fromEnd (boolean) tagSize (int) TagReader Name (String) Opération (String) Value (Object) Filtre Criteres (String[]) CriteresVector Name (String) Size (int) Sortable (boolean) Field isPlaying (boolean) Filename (String) Playlist FILTRER

To be continue…