FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Mais qui a le focus ?
par Klaus Aujourd'hui à 11:48

» Mac OS X sierra
par Irikte Aujourd'hui à 11:38

» Concours de Morpions
par Froggy One Aujourd'hui à 10:29

» Synedit Parameters
par Jean Claude Aujourd'hui à 10:08

» Bienvenue à Irikte
par UltraVox Aujourd'hui à 10:04

» Recherche de traductions de mots (@Klaus).
par Klaus Aujourd'hui à 9:44

» Version instantanée V 0.9.28i10 du 24/06/2017
par Yannick Hier à 22:52

» Panoramic et ses curiosités
par Jack Hier à 8:15

» Utilitaire de suppression de fichiers
par Yannick Ven 23 Juin 2017 - 23:03

» Code à vérifier SVP (Oups ! résolu)
par Jean Claude Jeu 22 Juin 2017 - 21:16

» Compilateur FBPano
par jean_debord Jeu 22 Juin 2017 - 9:56

» Bienvenue à Virtualalan !
par UltraVox Jeu 22 Juin 2017 - 9:18

» ShortName$(F) [Cloturé]
par papydall Mer 21 Juin 2017 - 16:19

» Remplacer espace par tiret dans noms des dossiers / fichiers
par papydall Mer 21 Juin 2017 - 15:27

» Menu personalisé avec icones et menu contextuel
par Laurent (Minibug) Mer 21 Juin 2017 - 12:44

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

 Mp3 Cover Extractor

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Yannick

avatar

Nombre de messages : 7839
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Mp3 Cover Extractor   Jeu 23 Oct 2014 - 0:34

Je vous embête une dernière fois avec les *.mp3  Laughing
Ce coup ci c' est pour récupérer la pochette intégrée dans un fichier
et tout en Panoramic.
Code:
' attribution du nom de l' application
Application_title "Mp3 Cover Extractor"
' déclaration des variables globales événements
Dim clic%
' déclaration des variables globales d' adresses
dim dir_mp3$
dir_mp3$="C:\Users\"
' déclaration des variables globales fonctions
Dim file$,typ$,Img$
' déclarations des labels
Label Clic,L

' -----  Interface Utilisateur -------------------------------------------------
Caption 0,"Mp3 Cover Extractor"
Top 0,10 : Left 0,10 :Height 0,368 :Width 0,326
Font_name 0,"arial"
Main_menu 1
Sub_menu 2 : parent 2,1 : caption 2,"Fichier"
Sub_menu 3 : parent 3,2 : caption 3,"Ouvrir"      : On_click 3,Clic
Sub_menu 4 : parent 4,2 : caption 4,"Enregistrer" : Inactive 4 :On_click 4,Clic
Sub_menu 5 : parent 5,2 : caption 5,"-"
Sub_menu 6 : parent 6,2 : caption 6,"Quitter"    : On_click 6,Clic
Picture 7 : Top 7,5 : Left 7,5 : Height 7,300 : Width 7,300
End

' -----  Menu ------------------------------------------------------------------

Clic:
  clic%=Number_click
  Select clic%
      Case 3
        Select_file()
        if File$<>""
            Recup_info(File$)
        end_if
      Case 4
        Save()
      Case 6
        If file_exists(Img$)=1 : File_delete Img$ : End_if
        Terminate
  End_select
Return

' -----  Fonctions -------------------------------------------------------------

' Ouverture d' un fichier
Sub Select_file()
  Dim_local f$
  File$=""
  Open_dialog 8
  Dir_dialog 8,dir_mp3$
  Filter 8,"*.mp3|*.mp3"
  f$=File_name$(8)
  If f$<>"_"
      file$=f$
  End_if
  delete 8
End_sub

' Récupération des infos nécessaires sur le fichier ouvert
Sub Recup_info(F$)
  Dim_local x%,Tf%,bloc%(8),Mess$,dep%,fin%,nbrO%,suf$
  Mess$="Ce fichier ne contient pas la pochette de l' album !..."
  Img$="C:\Users\Yannick\Desktop\temp."
  Waiting()
  Pause 100
  Filebin_open_read 9,F$
  Tf%=Filebin_size(9)
  Filebin_position 9,0
  Filebin_block_read 9,3,bloc%(0)
 ' Recherche de l' image
 ' Recherche de tag de norme ID3 porteur d' une image puis,
 ' dans le cas positif, recherche du marqueur APIC signifiant
 ' la présence d' une image
  Caption 21,"Recherche de l' image..."
  display
  Position 22,1
  display
  If chr$(bloc%(0))+chr$(bloc%(1))+chr$(bloc%(2))="ID3"
      For x%=0 to Tf%
        Filebin_position 9,x%
        Filebin_block_read 9,4,bloc%(0)
        If chr$(bloc%(0))+chr$(bloc%(1))+chr$(bloc%(2))+chr$(bloc%(3))="APIC"
            dep%=x%
        Else
            If chr$(bloc%(0))+chr$(bloc%(1))=chr$(255)+chr$(251)
              fin%=x%
              If dep%=0
                  If Message_Warning_OK(Mess$+"( 2 )")=1 : End_if
              End_if
              Exit_for
            End_if
        End_if
      Next x%
  Else
      If Message_Warning_OK(Mess$+"( 1 )")=1 : End_if
      Exit_sub
  End_if

  If dep%>0
      Caption 21,"Recherche de la position de départ..."
      display
      Position 22,2
      display
    ' determination du type de fichier image et de son octet de départ
      For x%=dep% to fin%
        Filebin_position 9,x%
        Filebin_block_read 9,8,bloc%(0)
        If chr$(bloc%(0))+chr$(bloc%(1))=chr$(255)+chr$(216)
            dep%=x%
            typ$="jpg"
            Exit_for
        End_if
        If chr$(bloc%(0))+chr$(bloc%(1))+chr$(bloc%(2))+chr$(bloc%(3))+chr$(bloc%(4))+chr$(bloc%(5))+chr$(bloc%(6))+chr$(bloc%(7))=chr$(137)+chr$(80)+chr$(78)+chr$(71)+chr$(13)+chr$(10)+chr$(26)+chr$(10)
            dep%=x%
            typ$="png"
            Exit_for
        End_if
        If chr$(bloc%(0))+chr$(bloc%(1))="BM"
            dep%=x%
            typ$="bmp"
            Exit_for
        End_if
        If chr$(bloc%(0))+chr$(bloc%(1))+chr$(bloc%(2))="GIF"
            dep%=x%
            typ$="gif"
            Exit_for
        End_if
      Next x%
    Caption 21,"Recherche de la position de fin de l' image..."
    display
    Position 22,3
    display
  ' détermination de la fin du fichier image
    For x%=dep% to fin%
        Filebin_position 9,x%
        Filebin_block_read 9,8,bloc%(0)
        If chr$(bloc%(0))+chr$(bloc%(1))=chr$(255)+chr$(217) and typ$="jpg"
          fin%=x%+2
          Exit_for
        End_if
        If chr$(bloc%(0))+chr$(bloc%(1))+chr$(bloc%(2))+chr$(bloc%(3))+chr$(bloc%(4))+chr$(bloc%(5))+chr$(bloc%(6))+chr$(bloc%(7))=chr$(73)+chr$(69)+chr$(78)+chr$(68)+chr$(174)+chr$(66)+chr$(96)+chr$(130) and typ$="png"
          fin%=x%+8
          Exit_for
        End_if
    Next x%
  End_if
  Caption 21,"Extraction de l' image..."
  display
  Position 22,4
  display
  ' extraction de l' image et enregistrement dans un fichier
  nbrO%=fin%-dep%+1
  If variable("Tab%")=0 Then Dim Tab%(nbrO%)
  Filebin_position 9,dep%
  Filebin_block_read 9,nbrO%,Tab%(0)
  Img$=Img$+typ$
  Filebin_open_write 10,img$
  Filebin_block_write 10,nbrO%,Tab%(0)
  Filebin_close 10
  Filebin_close 9
  Hide 20
  suf$=File_extract_extension$(img$)
  If suf$=".jpg" Or suf$=".bmp"
      File_load 7,img$
  Else
      Message "L' extension du fichier est *."+typ$+chr$(13)+"Cette extension n' est pas reconnu par la visionneuse." +chr$(13)+"Cependant,vous pouvez la sauvegarder.
  End_if
  Stretch_on 7
  Active 4
  free Tab%
End_sub

Sub Waiting()
  If object_exists(20)=1
      Show 20
  Else
      Form 20 : Top 20,Top(0)+100 : Left 20,Left(0) : Height 20,100 : Width 20,Width(0)
      Caption 20,"Mp3 Cover Extractor"
      Alpha 21 : Parent 21,20 :Top 21,10 : Left 21,5
      Progress_bar 22 :Parent 22,20 : Top 22,30 : Left 22,5 : Width 22,Width(20)-26
  End_if
  Min 22,0 : Max 22,4 : Position 22,0
End_sub

Sub Save()
  Dim_local f$
  If file_exists(img$)=1
      L:
      f$=""
      Save_dialog 10
      Dir_dialog 10,":\"
      Filter 10,"*."+typ$+"|*."+typ$
      f$=File_name$(10)
      If Right$(f$,4)<>"."+typ$ : f$=f$+"."+typ$ : End_if
      If f$<>"_."+typ$
        If File_exists(f$)=0
            File_rename img$,f$
        Else
            Message "Ce fichier exite déjà !"
            delete 10
            goto L
        End_if
      End_if
      Delete 10
      Img$=""
  End_if
End_sub


Dernière édition par ygeronimi le Jeu 23 Oct 2014 - 4:40, édité 1 fois (Raison : correction d' un bug...ou deux...)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5882
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Mp3 Cover Extractor   Jeu 23 Oct 2014 - 1:21

En peu de lignes et en tout Panoramic, chapeau !
Tu es devenu imbattable dans la manipulation des fichiers binaires... Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7839
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 23 Oct 2014 - 1:31

J' ai trouvé un bug  Laughing
Rien de méchant mais j' aime pas cà.... bounce
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7839
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 23 Oct 2014 - 4:45

Bug corrigé !
Le code dans le post plus haut est à jour.

Il s' agissait des formats non pris en compte pour un "Picture" (*.png *.gif )
et du cas où l' on essayer d' enregistrer un fichier temp qui n' avait pas été créé  Very Happy .

Mp3 Cover extractor reconnait les formats *.jpg , *.bmp , *.png , *.gif
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Mp3 Cover Extractor   

Revenir en haut Aller en bas
 
Mp3 Cover Extractor
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Imandix cover : des présentations de DVD en 3D et en 2 clics
» 4$ rabais Cover Gril
» Afficher l'image "rang" au dessus de l'image "avatars" sans espacements.
» Cover letter
» FS EK HD 7950 Full cover block

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: