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
» Calculatrice
par joeeee2017 Aujourd'hui à 20:25

» EPP_V01 éditeur pour Panoramic
par Minibug Hier à 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Hier à 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Hier à 15:58

» Planétarium virtuel.
par Pedro Alvarez Hier à 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 tag mp3

Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5
AuteurMessage
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 9 Oct 2014 - 21:23

Ben, tant qu' on entre pas dans des calculs de bits...tout va bien.
Je m' arrête à l' octet Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5990
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: tag mp3   Jeu 9 Oct 2014 - 22:29

ygeronimi a écrit:
Ben, tant qu' on entre pas dans des calculs de bits...tout va bien.
Je m' arrête à l' octet  

Hmmm ! Je pense qu’un petit tuto sur l’arithmétique binaire sera le bienvenu, n’est-ce-pas ?
Je fais y réfléchir.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



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

MessageSujet: Re: tag mp3   Jeu 9 Oct 2014 - 23:20

Je crois que ce serait une bonne idée, il me semble que beaucoup croient que c'est plus difficile que ça ne l'est en réalité, c'est vraiment très simple (pour des programmeurs, quand même) quand on a pigé Very Happy

Citation :
Je fais y réfléchir
eh papydall, tu fais tout de suite ou tu réfléchis d'abord ? Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 9 Oct 2014 - 23:28

@ Papydall,

je suis preneur de tout les cours possibles mais avec un langage dit "Courant" 
pas celui des notaires ou des maths sup , et, avec beaucoup de dessin ( j' adore les dessins  Laughing )

Si tu mets un signe ex : %xx  je veux savoir à quoi correspondent ces trois octets  Laughing

Mais tu sais qu' une rubrique t' es consacrée sur le site... " Les Cours"
lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 9 Oct 2014 - 23:35

@ JL35,

Finalement, c' est un double helas pour la balise "APETAGEX".
Si le fichier est long, c' est interminable.
que je parte de l' octet 0 ou de la fin.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Froggy One

avatar

Nombre de messages : 400
Date d'inscription : 06/01/2012

MessageSujet: Re   Ven 10 Oct 2014 - 9:41

Personnellement, lire un tuto sur l'arithmétique binaire me plairait bien !
Bonne journée !!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gaeldwest.wordpress.com
JL35



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

MessageSujet: Re: tag mp3   Ven 10 Oct 2014 - 14:01

@ygeronimi
je n'ai pas d'exemples de cette balise APETAGEX, dommage, mais effectivement, si tu ne la trouves pas dans les 1000 ou 2000 derniers octets, autant la laisser tomber.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 10 Oct 2014 - 21:05

Pour que ce soit temporellement acceptable, je passe par la fonction
de la dll de Klaus "SeachPattern..." qui agit un peu comme "Instr".
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8083
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 14 Oct 2014 - 13:11

Après tous ces jours de recherches et de discussions très instructives,
je vous livre mon petit programme pour analyser un fichier *.mp3.
Il utilise la dll de klaus pour un seul marqueur qui pourrait être long,très long à retrouver
sans elle.
 voilà le code :
Code:
dim f$,kgf$,no%,tf%,Tag2$,Tag1$,Tag3$,Audio1%,Tag3%,Tag1%,Marq$(300,2),i% ,Genre$(125)
dim mem%
f$="C:\Users\Yannick\Music\- Daniel Guichard\Finalement on s'habitue.mp3"
kgf$="C:\PROGRA~2\PANORA~1\Mes_Dlls\KGF\KGF.dll"
dll_on kgf$

no%=no%+1 : mem%=no%
memo no%
full_space no%
bar_both no%
font_name no%,"Courier"

' Création du tableau des genres
Create_Tab_Genre()
' Récupération de la taille du fichier
File_infos(f$)
item_add mem%, "Taille fichier : "+str$(tf%)+" octets"
item_add mem%,""
' Recherche de la présence de Tag id3v2
Find_id3v2(f$)
if Tag2$="ID3" : item_add mem%, "id3v2 : yes | 0":else :item_add mem%,"id3v2 : no  | ":end_if
' Recherche du départ de la bande son
Find_Audio(f$)
if Audio1%<>0 :item_add mem%, "Audio : yes | "+str$(audio1%) : else : item_add mem%,"Audio : no  | ":end_if
' Recherche de la présence de Tag id3v1
Find_id3v1(f$)
if Tag1$="TAG" : item_add mem%, "id3v1 : yes | "+str$(Tag1%):else : item_add mem%,"id3v1 : no  | ":end_if
' Recherche de la présence de Tag APE
Find_APE(f$)
If Tag3$="APETAGEX" : item_add mem%, "APE   : yes | "+str$(Tag3%):else:item_add mem%,"APE   : no  | ":end_if
item_add mem%,""
' Recherche de tous les marqueurs id3v2 si présence d' id3v2
if Tag2$="ID3"
   Find_marqueurs_id3v2(f$)
end_if
item_add mem%,""
' Extraction des données des marqueurs id3v2
if Tag2$="ID3"
   Extract_Marqueur_infos(f$)
   item_add mem%,""
end_if
' Extraction des données du Tag idv1
if Tag1$="TAG"
   item_add mem%,""
   Extract_id3v1(f$)
end_if
' Extraction du tag APE
if Tag3$="APETAGEX"
   item_add mem%,""
   Extract_APE(f$)
End_if
End
' ------------------------------------------------------------------------------
Sub Create_Tab_Genre()
   dim_local a$,x%
   restore
   while a$<>"Genres" : read a$ : end_while
   x%=x%-1
   while a$<>"Dance Hall"
      read a$
      x%=x%+1
      Genre$(x%)=a$
   end_while
End_sub

Sub File_infos(f$)
   no%=no%+1
   filebin_open_read no%,f$
   tf%=filebin_size(no%)
   filebin_close no%
   no%=no%-1
End_sub

Sub Find_id3v2(f$)
   dim_local x%,bloc%(3)
   no%=no%+1
   filebin_open_read no%,f$
   filebin_block_read no%,3,bloc%(0)
   for x%=0 to 2
      Tag2$=Tag2$+chr$(bloc%(x%))
   next x%
   filebin_close no%
   no%=no%-1
End_sub

Sub Find_Audio(f$)
   dim_local x%,bloc%(2)
   no%=no%+1
   filebin_open_read no%,f$
   for x%=0 to tf%
      filebin_position no%,x%
      filebin_block_read no%,2,bloc%(0)
      if hex$(bloc%(0))+hex$(bloc%(1))="FFFB"
         audio1%=x%
         exit_for
      end_if
   next x%
   filebin_close no%
   no%=no%-1
End_sub

Sub Find_id3v1(f$)
   dim_local x%,bloc%(128)
   no%=no%+1
   filebin_open_read no%,f$
   filebin_position no%,tf%-128
   filebin_block_read no%,128,bloc%(0)
   for x%=0 to 2
      Tag1$=Tag1$+chr$(bloc%(x%))
   next x%
   Tag1%=tf%-128
   filebin_close no%
   no%=no%-1
End_sub

Sub Find_APE(f$)
   dim_local res%,pattern$,nom$
   nom$=f$
   pattern$="APETAGEX"
   res% = dll_call3("SearchPatternInBinaryFile",adr(nom$),adr(pattern$),0)
   if res%<>0 : Tag3$="APETAGEX" : Tag3%=res% :end_if
End_sub

Sub Find_marqueurs_id3v2(f$)
   dim_local x%,bloc%(Audio1%),m$,liste_m$,a$,nbm%
   restore
   while a$<>"TAG" : read a$ : end_while
   read a$
   while a$<>"F" : read a$ : Liste_m$=Liste_m$+a$+"," : end_while
   no%=no%+1
   filebin_open_read no%,f$
   filebin_block_read no%,Audio1%,bloc%(0)
   for x%=0 to Audio1%-4
      m$=chr$(bloc%(x%))+chr$(bloc%(x%+1))+chr$(bloc%(x%+2))+chr$(bloc%(x%+3))
      if instr(liste_m$,m$)>0
         nbm%=nbm%+1
         if nbm%=1
            marq$(nbm%,0)=m$
            marq$(nbm%,1)=str$(x%)
         else
            marq$(nbm%,0)=m$
            marq$(nbm%,1)=str$(x%)
            marq$(nbm%-1,2)=str$(x%)
         end_if
      end_if
   next x%
   filebin_close no%
   no%=no%-1
End_sub

Sub Extract_Marqueur_infos(f$)
   dim_local x%,noctet%,info$,bloc%(100000),y%
   no%=no%+1
   filebin_open_read no%,f$
   for x%=1 to 300
      if marq$(x%,0)<>"" and marq$(x%,0)<>"APIC"
         if Marq$(x%,2)=""
            noctet%=(Audio1%-1)-(val(Marq$(x%,1))+4)
         else
            noctet%=val(Marq$(x%,2))-(val(Marq$(x%,1))+4)
         end_if
         filebin_position no%,(val(Marq$(x%,1))+4)
         filebin_block_read no%,noctet%,Bloc%(0)
         info$=""
         for y%=0 to noctet%-1
            if bloc%(y%)<>0 and bloc%(y%)<253
               info$=info$+chr$(bloc%(y%))
            end_if
         next y%
         info$=trim$(info$)
         item_add mem%, Marq$(x%,0)+" | "+Marq$(x%,1)+" | "+marq$(x%,2)+" | "+info$
      else
         if marq$(x%,0)="APIC"
            item_add mem%, Marq$(x%,0)+" | "+Marq$(x%,1)+" | "+marq$(x%,2)+" | Pochette CD"
         else
            exit_for
         end_if
      end_if
   next x%
   filebin_close no%
   no%=no%-1
End_sub

Sub Extract_id3v1(f$)
   dim_local x%,bloc%(128),a$
   no%=no%+1
   filebin_open_read no%,f$
   filebin_position no%,Tag1%
   filebin_block_read no%,128,bloc%(0)
   for x%=3 to 32 : a$=a$+chr$(bloc%(x%)): next x%
   a$=trim$(a$)
   item_add mem%,"Titre      | "+a$
   a$=""
   for x%=33 to 62 : a$=a$+chr$(bloc%(x%)): next x%
   a$=trim$(a$)
   item_add mem%,"Interprète | "+a$
   a$=""
   for x%=63 to 92 : a$=a$+chr$(bloc%(x%)): next x%
   a$=trim$(a$)
   item_add mem%,"Album      | "+a$
   a$=""
   for x%=93 to 96 : a$=a$+chr$(bloc%(x%)): next x%
   a$=trim$(a$)
   item_add mem%,"Année      | "+a$
   a$=""
   for x%=97 to 125 : a$=a$+chr$(bloc%(x%)): next x%
   a$=trim$(a$)
   item_add mem%,"Comm       | "+a$
   a$=""
   a$=chr$(bloc%(127))
   item_add mem%,"Piste      | "+a$
   a$=""
   a$=str$(bloc%(128))
   if val(a$)<126
      for x%=0 to 125
         if val(a$)=x%
            a$=Genre$(x%)
            exit_for
         end_if
      next x%
   else
      a$=""
   end_if
   item_add mem%,"Genre      | "+a$
   a$=""
   filebin_close no%
   no%=no%-1
End_sub

Sub Extract_APE(f$)
    dim_local x%,bloc%(1000000),info$
    filebin_open_read no%,f$
    filebin_position no%,Tag3%+3
    filebin_block_read no%,(tag1%-tag3%),bloc%(0)
    for x%=0 to (tag1%-tag3%): info$=info$+chr$(bloc%(x%)): next x%
    item_add mem%,"APE | "+info$
    filebin_close no%
End_sub

DATA "TAG"
DATA "AENC","APIC","COMM","COMR","ENCR","EQUA","ETCO","GEOB","GRID","IPLS","LINK"
DATA "MCDI","MLLT","OWNE","PRIV","PCNT","POPM","POSS","RBUF","RVAD","RVRB","SYLT"
DATA "SYTC","TALB","TBPM","TCOM","TCON","TCOP","TDAT","TDLY","TENC","TEXT","TFLT"
DATA "TIME","TIT1","TIT2","TIT3","TKEY","TLAN","TLEN","TMED","TOAL","TOFN","TOLY"
DATA "TOPE","TORY","TOWN","TPE1","TPE2","TPE3","TPE4","TPOS","TPUB","TRCK","TRDA"
DATA "TRSN","TRSO","TSIZ","TSRC","TSSE","TYER","TXXX","UFID","USER","USLT","WCOM"
DATA "WCOP","WOAF","WOAR","WOAS","WORS","WPAY","WPUB","WXXX"
' nouveaux tags (v2.4):
DATA "ASPI","EQU2","TMCL","TIPL","RVA2","TDRC","TDOR","SEEK","SIGN","TDEN","TDRL"
DATA "TDTG","TMCL","TMOO","TPRO","TSOA","TSOP","TSOT","TSST"
DATA "F"

Data "Genres"
Data "Blues"
Data "Classic Rock"
Data "Country"
Data "Dance"
Data "Disco"
Data "Funk"
Data "Grunge"
Data "Hip-Hop"
Data "Jazz"
Data "Metal"
Data "New Age"
Data "Oldies"
Data "Other"
Data "Pop"
Data "R&B"
Data "Rap"
Data "Reggae"
Data "Rock"
Data "Techno"
Data "Industrial"
Data "Alternative"
Data "Ska"
Data "Death Metal"
Data "Pranks"
Data "Soundtrack"
Data "Euro-Techno"
Data "Ambient"
Data "Trip-Hop"
Data "Vocal"
Data "Jazz+Funk"
Data "Fusion"
Data "Trance"
Data "Classical"
Data "Instrumental"
Data "Acid"
Data "House"
Data "Game"
Data "Sound Clip"
Data "Gospel"
Data "Noise"
Data "AlternRock"
Data "Bass"
Data "Soul"
Data "Punk"
Data "Space"
Data "Meditative"
Data "Instrumental Pop"
Data "Instrumental Rock"
Data "Ethnic"
Data "Gothic"
Data "Darkwave"
Data "Techno-Industrial"
Data "Electronic"
Data "Pop-Folk"
Data "Eurodance"
Data "Dream"
Data "Southern Rock"
Data "Comedy"
Data "Cult"
Data "Gangsta"
Data "Top 40"
Data "Christian Rap"
Data "Pop/Funk"
Data "Jungle"
Data "Native American"
Data "Cabaret"
Data "New Wave"
Data "Psychadelic"
Data "Rave"
Data "Showtunes"
Data "Trailer"
Data "Lo-Fi"
Data "Tribal"
Data "Acid Punk"
Data "Acid Jazz"
Data "Polka"
Data "Retro"
Data "Musical"
Data "Rock & Roll"
Data "Hard Rock"
Data "Folk"
Data "Folk-Rock"
Data "National Folk"
Data "Swing"
Data "Fast Fusion"
Data "Bebob"
Data "Latin"
Data "Revival"
Data "Celtic"
Data "Bluegrass"
Data "Avantgarde"
Data "Gothic Rock"
Data "Progressive Rock"
Data "Psychedelic Rock"
Data "Symphonic Rock"
Data "Slow Rock"
Data "Big Band"
Data "Chorus"
Data "Easy Listening"
Data "Acoustic"
Data "Humour"
Data "Speech"
Data "Chanson"
Data "Opera"
Data "Chamber Music"
Data "Sonata"
Data "Symphony"
Data "Booty Bass"
Data "Primus"
Data "Porn Groove"
Data "Satire"
Data "Slow Jam"
Data "Club"
Data "Tango"
Data "Samba"
Data "Folklore"
Data "Ballad"
Data "Power Ballad"
Data "Rhythmic Soul"
Data "Freestyle"
Data "Duet"
Data "Punk Rock"
Data "Drum Solo"
Data "A capella"
Data "Euro-House"
Data "Dance Hall"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: tag mp3   

Revenir en haut Aller en bas
 
tag mp3
Revenir en haut 
Page 5 sur 5Aller à la page : Précédent  1, 2, 3, 4, 5

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: