begin process at 2012 02 10 04:15:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

AddOns

 > MVTR (MULTI VERSION TAG READER)

MVTR (MULTI VERSION TAG READER)


 Information sur la source

Note :
Aucune note
Catégorie :AddOns Niveau :Initié Date de création :01/08/2003 Date de mise à jour :01/08/2003 20:56:08 Vu :2 447

Auteur : Seregon

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Vala juste un ptit identifieur qui retourne les id3v2 tags d'un fichier mp3
Si le fichier ne comporte pas de tag v2.0, l'identifieur retournera les valeurs des tags v1.0
Si la valeur retournée est $false, c'est que le fichier n'existe pas
L'identifieur retourne null si le tag demandé n'existe pas
Le readme est inclu dans le code source.

Source

  • ;MVTR (Multi Version Tag Reader ^^;) v1.0 by Seregon
  • ;This snippet is for all those guys using dlls to retrieve id3v2 tags info ;)
  • ;How to use:
  • ;$idtag(path\file.mp3).title -> returns file's title
  • ;$idtag(path\file.mp3).artist -> returns file's artist
  • ;$idtag(path\file.mp3).album -> returns file's album
  • ;$idtag(path\file.mp3).year -> returns file's year
  • ;$idtag(path\file.mp3).genre -> returns file's genre
  • ;$idtag(path\file.mp3).time -> returns file's length
  • ;$idtag(path\file.mp3).kbps -> returns file's sound frequency
  • ;$idtag(path\file.mp3).version -> returns id3tag version
  • ;Documentation:
  • ;www.id3.org -> official website
  • ;www.id3.org/id3v2.3.0.html -> id3v2.3.0 structure
  • alias idtag {
  • if ($exists($1) == $false) { return $false }
  • else {
  • bread " $+ $1 $+ " 0 10 &idtag_1
  • if ($ascii($bvar(&idtag_1,1,3)) == ID3) {
  • bread " $+ $1 $+ " 10 $base($base($bvar(&idtag_1,7,1),10,2,7) $+ $base($bvar(&idtag_1,8,1),10,2,7) $+ $base($bvar(&idtag_1,9,1),10,2,7) $+ $base($bvar(&idtag_1,10,1),10,2,7),2,10) &idtag_2
  • if ($prop == title) { set -u %tit2 $base($base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TIT2).text + 4), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TIT2).text + 5), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TIT2).text + 6), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TIT2).text + 7), 1),10,16),16,10) | return $iif($bfind(&idtag_2,1,TIT2).text != 0, $ascii($bvar(&idtag_2, $calc($bfind(&idtag_2, 1, TIT2).text + 10), %tit2)), $null) }
  • if ($prop == artist) { set -u %tpe1 $base($base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TPE1).text + 4), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TPE1).text + 5), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TPE1).text + 6), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TPE1).text + 7), 1),10,16),16,10) | return $iif($bfind(&idtag_2,1,TPE1).text != 0, $ascii($bvar(&idtag_2, $calc($bfind(&idtag_2, 1, TPE1).text + 10), %tpe1)), $null) }
  • if ($prop == album) { set -u %talb $base($base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TALB) + 4), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TALB) + 5), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TALB) + 6), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TALB) + 7), 1),10,16),16,10) | return $iif($bfind(&idtag_2,1,TALB) != 0, $ascii($bvar(&idtag_2, $calc($bfind(&idtag_2, 1, TALB) + 10), %talb)), $null) }
  • if ($prop == year) { set -u %tyer $base($base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TYER) + 4), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TYER) + 5), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TYER) + 6), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TYER) + 7), 1),10,16),16,10) | return $iif($bfind(&idtag_2,1,TYER) != 0, $ascii($bvar(&idtag_2, $calc($bfind(&idtag_2, 1, TYER) + 10), %tyer)), $null) }
  • if ($prop == genre) { set -u %tcon $base($base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TCON) + 4), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TCON) + 5), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TCON) + 6), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TCON) + 7), 1),10,16),16,10) | return $iif($bfind(&idtag_2,1,TCON) != 0, $ascii($bvar(&idtag_2, $calc($bfind(&idtag_2, 1, TCON) + 10), %tcon)), $null) }
  • if ($prop == time) { return $remove($sound($1).length,$right($sound($1).length,3)) }
  • if ($prop == kbps) { return $sound($1).bitrate }
  • if ($prop == version) { return $base($bvar(&idtag_1,4,1),10,16) $+ $chr(46) $+ $base($bvar(&idtag_1,5,1),10,16) }
  • }
  • else {
  • if ($prop == title) { return $iif($sound($1).title == $false, $null, $sound($1).title) }
  • if ($prop == artist) { return $iif($sound($1).artist == $false, $null, $sound($1).artist) }
  • if ($prop == album) { return $iif($sound($1).album == $false, $null, $sound($1).album) }
  • if ($prop == year) { return $iif($sound($1).album == $false, $null, $sound($1).year) }
  • if ($prop == genre) { return $iif($sound($1).album == $false, $null, $sound($1).genre) }
  • if ($prop == time) { return $remove($sound($1).length,$right($sound($1).length,3)) }
  • if ($prop == kbps) { return $sound($1).bitrate }
  • if ($prop == version) { return 1.0 }
  • }
  • }
  • }
  • ;This id is used in the $idtag command. It converts several ascii values into caracters. For example, $ascii(72 101 108 108 111 32 84 104 101 114 101) will returns "Hello There"
  • alias ascii {
  • set -u %ascii.i 1
  • if ($prop == $null) {
  • while (%ascii.i <= $numtok($1,32)) { set -u %ascii %ascii $+ $iif($gettok($1,%ascii,32) != 32, $chr($gettok($1,%ascii,32)), $eval($chr(32),0)) | inc %ascii.i }
  • }
  • return $replace(%ascii, $eval($chr(32),0),$chr(32))
  • }
;MVTR (Multi Version Tag Reader ^^;) v1.0 by Seregon

;This snippet is for all those guys using dlls to retrieve id3v2 tags info ;)
;How to use:
;$idtag(path\file.mp3).title -> returns file's title
;$idtag(path\file.mp3).artist -> returns file's artist
;$idtag(path\file.mp3).album -> returns file's album
;$idtag(path\file.mp3).year -> returns file's year
;$idtag(path\file.mp3).genre -> returns file's genre
;$idtag(path\file.mp3).time -> returns file's length
;$idtag(path\file.mp3).kbps -> returns file's sound frequency
;$idtag(path\file.mp3).version -> returns id3tag version
;Documentation:
;www.id3.org -> official website
;www.id3.org/id3v2.3.0.html -> id3v2.3.0 structure

alias idtag {
  if ($exists($1) == $false) { return $false }
  else {
    bread " $+ $1 $+ " 0 10 &idtag_1
    if ($ascii($bvar(&idtag_1,1,3)) == ID3) {
      bread " $+ $1 $+ " 10 $base($base($bvar(&idtag_1,7,1),10,2,7) $+ $base($bvar(&idtag_1,8,1),10,2,7) $+ $base($bvar(&idtag_1,9,1),10,2,7) $+ $base($bvar(&idtag_1,10,1),10,2,7),2,10) &idtag_2
      if ($prop == title) { set -u %tit2 $base($base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TIT2).text + 4), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TIT2).text + 5), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TIT2).text + 6), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TIT2).text + 7), 1),10,16),16,10) | return $iif($bfind(&idtag_2,1,TIT2).text != 0, $ascii($bvar(&idtag_2, $calc($bfind(&idtag_2, 1, TIT2).text + 10), %tit2)), $null) }
      if ($prop == artist) { set -u %tpe1 $base($base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TPE1).text + 4), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TPE1).text + 5), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TPE1).text + 6), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TPE1).text + 7), 1),10,16),16,10) | return $iif($bfind(&idtag_2,1,TPE1).text != 0, $ascii($bvar(&idtag_2, $calc($bfind(&idtag_2, 1, TPE1).text + 10), %tpe1)), $null) }
      if ($prop == album) { set -u %talb $base($base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TALB) + 4), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TALB) + 5), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TALB) + 6), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TALB) + 7), 1),10,16),16,10) | return $iif($bfind(&idtag_2,1,TALB) != 0, $ascii($bvar(&idtag_2, $calc($bfind(&idtag_2, 1, TALB) + 10), %talb)), $null) }
      if ($prop == year) { set -u %tyer $base($base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TYER) + 4), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TYER) + 5), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TYER) + 6), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TYER) + 7), 1),10,16),16,10) | return $iif($bfind(&idtag_2,1,TYER) != 0, $ascii($bvar(&idtag_2, $calc($bfind(&idtag_2, 1, TYER) + 10), %tyer)), $null) }
      if ($prop == genre) { set -u %tcon $base($base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TCON) + 4), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TCON) + 5), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TCON) + 6), 1),10,16) $+ $base($bvar(&idtag_2, $calc($bfind(&idtag_2,1,TCON) + 7), 1),10,16),16,10) | return $iif($bfind(&idtag_2,1,TCON) != 0, $ascii($bvar(&idtag_2, $calc($bfind(&idtag_2, 1, TCON) + 10), %tcon)), $null) }
      if ($prop == time) { return $remove($sound($1).length,$right($sound($1).length,3)) }
      if ($prop == kbps) { return $sound($1).bitrate }
      if ($prop == version) { return $base($bvar(&idtag_1,4,1),10,16) $+ $chr(46) $+ $base($bvar(&idtag_1,5,1),10,16) }
    }
    else {
      if ($prop == title) { return $iif($sound($1).title == $false, $null, $sound($1).title) }
      if ($prop == artist) { return $iif($sound($1).artist == $false, $null, $sound($1).artist) }
      if ($prop == album) { return $iif($sound($1).album == $false, $null, $sound($1).album) }
      if ($prop == year) { return $iif($sound($1).album == $false, $null, $sound($1).year) }
      if ($prop == genre) { return $iif($sound($1).album == $false, $null, $sound($1).genre) }
      if ($prop == time) { return $remove($sound($1).length,$right($sound($1).length,3)) }
      if ($prop == kbps) { return $sound($1).bitrate }
      if ($prop == version) { return 1.0 }
    }
  }
}
;This id is used in the $idtag command. It converts several ascii values into caracters. For example, $ascii(72 101 108 108 111 32 84 104 101 114 101) will returns "Hello There"
alias ascii {
  set -u %ascii.i 1
  if ($prop == $null) {
    while (%ascii.i <= $numtok($1,32)) { set -u %ascii %ascii $+ $iif($gettok($1,%ascii,32) != 32, $chr($gettok($1,%ascii,32)), $eval($chr(32),0)) | inc %ascii.i }
  }
  return $replace(%ascii, $eval($chr(32),0),$chr(32))
}



 Sources du même auteur

SNIPPET: /DRAWMIX
Source avec Zip METEOCONSULT
Source avec Zip BATNAV: JEU DE BATAILLE NAVALE POUR MIRC
SNIPPET - /DRAWTRANSP
SNIPPET: INTERCONNECTION SYSTEM

 Sources de la même categorie

PACMAN MULTI-JOUEUR EN LIGNE par wims
PROXY&SOCKS SCANNER+LEECHER par independentt
GESTIONNAIRE DE HIGHLIGHT AVANCÉ AVEC IGNORE SALON OU PSEUDO par doob666
AUTOJOIN HTABLE MULTISERVER par doob666
TCL - AJOUT SUPPRESSION DE LOGS par Atok

Commentaires et avis

Commentaire de RysS le 01/08/2003 21:12:31

o lieu de faire

gnagnagnagna 1
gnagnagnagna 2
gnagnagnagna 3
gnagnagnagna 4

on fé un joli replace suivi de
gnagnagnagna N

ça mange pas de pain et c bien plus malin

Ps:il manque lecteur Unicode (que je n'ai toujours pas mis a jour sur ma version de reader

Commentaire de Kerrigan le 08/08/2003 18:19:52

c jolie mais ça existe deja dans le mirc, ceci dit c'est tres interessant comme ça on sait comment ça marche

Commentaire de RysS le 08/08/2003 18:26:30

un reader de tagV2 existe ds mIRC ? j'aimerai bien savoir ou

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales