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
» Mah-Jong européen new-look
par jjn4 Aujourd'hui à 15:48

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par pascal10000 Aujourd'hui à 13:46

» a l'aide klaus
par Minibug Aujourd'hui à 11:42

» KGF_dll - nouvelles versions
par Minibug Aujourd'hui à 1:48

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Aujourd'hui à 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» API Windows
par Klaus Jeu 7 Déc 2017 - 21:03

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

» j'ai un petit problème
par JL35 Mer 6 Déc 2017 - 21:58

» source vumetre avec delphi
par Klaus Mar 5 Déc 2017 - 23:22

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 tag mp3

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5
AuteurMessage
Yannick

avatar

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

MessageSujet: re   Jeu 9 Oct 2014 - 22: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 : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: tag mp3   Jeu 9 Oct 2014 - 23: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 : 6017
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: tag mp3   Ven 10 Oct 2014 - 0: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 : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 10 Oct 2014 - 0: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 : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 10 Oct 2014 - 0: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 : 395
Date d'inscription : 06/01/2012

MessageSujet: Re   Ven 10 Oct 2014 - 10: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 : 6017
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: tag mp3   Ven 10 Oct 2014 - 15: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 : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 10 Oct 2014 - 22: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 : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 14 Oct 2014 - 14: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
Voir le sujet précédent Voir le sujet suivant 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: