METAL IMPACT
P
U
B
Cliquez SVP P
U
B
L ultime Webzine orienté Metal qui se renouvelle au quotidien

MI Instagram | MI YouTube | MI Facebook
CD Reviews | DVD Reviews | Book Reviews | Interviews | Live Reports | Concours | Forums | Radio | Photos | M-I Tshirt | Contact | M-I Banner
Fermer/Ouvrir ce bloc Rechercher sur M-I


Avancee | Aidez-moi
Fermer/Ouvrir ce bloc M-I Membres
· Page d'accueil
· S'enregistrer
· Liste des Membres
· M-I sur Instagram
· M-I sur Facebook
· M-I sur YouTube
· M-I sur Twitter
· Top 15 des Rubriques
· M-I FAQ
· M-I Tshirt
Fermer/Ouvrir ce bloc Book Reviews Aléatoires
Voir les autres
Fermer/Ouvrir ce bloc Interviews Aléatoires
· DANKO JONES (ca…
· BLACK MIRRORS (…
· FIVE FINGER DEA…
· ELLIPSIS (FRA) …
· ORDEN OGAN (de)…
Voir les autres
Fermer/Ouvrir ce bloc CD Reviews Aléatoires
Voir les autres
Fermer/Ouvrir ce bloc Rejoins-nous sur Facebook
Fermer/Ouvrir ce bloc Live Reports Aléatoires
· GARMONBOZIA INC…
· SCORPIONS (de) …
· STRATOVARIUS (f…
· ICED EARTH (usa…
· IRON MAIDEN (uk…
Voir les autres
Fermer/Ouvrir ce bloc DVD Reviews Aléatoires
Voir les autres
Fermer/Ouvrir ce bloc Qui est en Ligne ?
Il y a actuellement 552 invités et 0 membres en ligne

Vous êtes un visiteur anonyme. Inscrivez-vous gratuitement en cliquant ici.

Fermer/Ouvrir ce bloc M-I Jeux

Deviens un pro de la batterie en cliquant ici ou (Entraîne toi sur la batterie de Danny Carey de TOOL)

P
U
B
Cliquez SVP P
U
B

# # XML_node.objet # # This object is an XML node representation # # /- name (string) # xml_node --- attributes (array) # \- children (array) or value (string) class xml_node { var $name; var $attributes = array(); var $children = array(); var $value = ""; function xml_node($name,$attributes,$children=array(),$value="") { $this->name = $name; if (is_array($attributes)) { $this->attributes = $attributes; } $this->children = $children; $this->value = $value; } } # # xml_tree class # # This object parses an XML stream and offers a tree composed by xml_nodes # class xml_tree { var $xml_stream; var $current_node; var $root_node; var $index; var $value; function xml_tree() { $this->root_node = new xml_node("__ROOT_NODE",array()); $this->current_node = $this->root_node; } function add_tree($xml_stream) { # Managing the parser $this->xml_stream = $xml_stream; $xml_parser = xml_parser_create(); xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,0); xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE,1); if (!xml_parse_into_struct($xml_parser,$this->xml_stream,$this->value,$this->index)) { xml_parser_free($xml_parser); die("XML Parse error"); } xml_parser_free($xml_parser); # Now, $this->value and $this->index are informed, we can use the get_node methode. $tab_result = $this->get_node(0,count($this->value) - 1); $this->root_node->children[] = $tab_result[0]; $this->current_node = $this->root_node; } function get_node($index_start,$index_stop) { #echo "


\n"; #echo "GET-NODE($index_start,$index_stop)
\n"; # What we are going to return is an array of xml_nodes $return_tab = array(); # depth is only here to check if everything is all right $tab_node = $this->value[$index_start]; $depth = $tab_node["level"]-1; # Now we have to be sure we do not forget a single node for ($index = $index_start;$index <= $index_stop;$index++) { #echo "\$index = $index
"; # get the current node $tab_node = $this->value[$index]; # what type of node is it ? switch($tab_node["type"]) { case "complete" : # Depth integrity check if ($tab_node["level"] != $depth+1) { die("ERREUR # contrainte d'intégrité au noeud complet $index, niveau $depth + 1 au lieu de ".$tab_node["level"]); } #echo "Noeud complet trouvé position $index TAG ".$tab_node["tag"]."
\n"; # Easy one, no children to manage, only a value... $return_tab[] = new xml_node($tab_node["tag"],$tab_node["attributes"],"",$tab_node["value"]); break; case "open" : # Depth integrity check if ($tab_node["level"] != $depth +1 ) { die("ERREUR # contrainte d'intégrité au noeud ouvert $index, niveau $depth au lieu de ".$tab_node["level"]); } # Open tag, we re-use this methode to return its children # Where is the correspondong close tag ? $node_index = $this->index[$tab_node["tag"]]; $flipped_node_index = array_flip($node_index); #echo "This ".$tab_node["tag"]." is at coords ".$flipped_node_index[$index]."
"; $i=1; do { $next_index = $node_index[$flipped_node_index[$index] + $i++]; $next_tag=$this->value[$next_index]; } while ($next_tag["level"]!=$tab_node["level"]); #echo "Ouverture de noeud détectée pos $index TAG ".$tab_node["tag"]."
\n   Parcours jusqu au $next_index
\n"; # good, we can now instanciate our node $return_tab[] = new xml_node($tab_node["tag"],$tab_node["attributes"],$this->get_node($index+1,$next_index),""); # As we called the get_node methode, we are sure that nodes have been parsed to the corresponding close tag $index = $next_index; break; case "close" : # Depth integrity check if ($tab_node["level"] != $depth ){ die("ERREUR # contrainte d'intégrité au noeud fermé $index, niveau $depth au lieu de ".$tab_node["level"]); } #echo "Fermeture de noeud detectée pos $index TAG ".$tab_node["tag"]."

\n"; # This ugly thing is useless because reaching a close tag means that $index==$index_stop but who knows ? =) # it will be skipped soon $index = $index_stop; break; default: die("Erreur de type de TAG non déterminé :'".$tab_node["type"]."'"); } } # We are out ... returns the array with collected children... return ($return_tab); } # this function browse the xml tree and set the current node to the selected node function give_node($path) { if ($path[0]=="/") { $current_node=$this->root_node; $path=substr($path,1); #echo "ABSOLUTE PATH GIVEN=$path
"; } else { $current_node = $this->current_node; } #echo "PATH GIVEN=$path
"; $tab_path = split("/",$path); foreach ($tab_path as $node_expr) { #echo "STUDYING EXPR='$node_expr'
"; $node = $current_node; $expr_tab = split("\?",$node_expr); $node_name = $expr_tab[0]; $attr_tab = 0; if (count($expr_tab)>1) { ##echo "TROUVE AU MOINS UNE CONDITION SUR LES ATTRIBUTS...
"; $attr_expr_tab=split(",",$expr_tab[1]); $attr_tab=array(); foreach($attr_expr_tab as $attr_expr) { $attr_split_expr=split("=",$attr_expr); $attr_tab[$attr_split_expr[0]]=$attr_split_expr[1]; } } $last=0; foreach ($node->children as $children) { #echo "COMPARING WITH '$children->name'
"; if ($children->name == $node_name) { ##echo "TROUVE NOEUD CORRESPONDANT $node_name
"; if (is_array($attr_tab)) { $node_attributes = $children->attributes; foreach ($attr_tab as $key=>$value) { if ($node_attributes[$key] == $value) { #echo "ATTRIBUTE & CHANGE CURRENT NODE TO ".$children->name."
"; $current_node = $children; $last = 1; } } } else { ##echo "CHILD=".$children->name."
"; #echo "CHANGE CURRENT NODE TO ".$children->name."
"; $current_node = $children; $last=1; } } if ($last) { break; } } if (!$last) { #echo "PATH ERROR $node_name
"; #die("MMmmmh It seems that this file is not a DIA XML format...sorry..."); return 0; } } return $current_node; } function browse_tree($path) { $node = $this->give_node($path); if (is_object($node)) { $this->current_node = $node; return 1; } return 0; } # this method dumps an html representation of the xml tree function xml_show($node = "",$level=0,$last=0) { if ($node=="") { $node=$this->root_node; } if (!is_object($node)) { die("ERROR : node is not an object"); } $line=""; for($i=1;$i<=$level;$i++) { if ((i==$level-1) and ($last)) { $line.="      "; } else { $line.="     |"; } if ($i==$level) { $line.="`-"; } } $line.=$node->name; #echo $line; $line.="".count($node->children).""; if (count($node->children)==1) { $line.=" (".$node->value.")
\n"; echo "$line"; } else { $line.="
\n"; echo "$line"; $i=1; foreach($node->children as $children) { if ($i==count($node->children)) { $this->xml_show($children,$level+1,1); } else { $this->xml_show($children,$level+1); } $i++; } } } #END_CLASS }

SPOCK’S BEARD (usa) - Spock’s Beard (2006)






Label : SPV / Wagram
Sortie du Scud : 17 novembre 2006
Pays : USA
Genre : Progressif
Type : Album
Playtime : 14 Titres - 77 Mins





Je suis gâté en ce moment, j’enfile perle sur perle sur le perchoir de ma perception. Après un PHENOMENA fleurant bon les fantaisies félines flirtant avec une philanthropie philharmonique fabuleuse, je me trouve face à un SPOCK’S BEARD dont le talent talonne terriblement les ténors ténébreux qui tentent triomphalement de terrasser la terreur disharmonique ambiante. A l’écoute de certains groupes, j’ai l’ouie telle la veuve dont la vue se révulse à la vue de la vulve d’une ulve ulcérée par les volutes vicieuses d’un varan vénéneux. Point n’est besoin ici de chausser ses lorgnons musicaux, la leçon est faite, c’est un fait, c’est la fête. SPOCK’S BEARD nous revient volontaire à l’heure de son neuvième album, véritable plaidoyer indiscutable d’un génie général qui anime une carrière animale toute dédiée au dédain du fast-food musical démagogique.

Le Lecteur : Euh, c'est-à-dire que la t'es lourd !
Moi : Ah ouais, c’est vrai !

Reprenons, jeune fat ! Cet album éponyme, le neuvième donc de la solide carrière des SPOCK’S, ne fera pas tache dans leur discographie, bien au contraire. On pourrait si on souhaitait faire simple, les comparer a une sorte de DREAM THEATER qui verserait plus dans la pop que le heavy. Ou un GENESIS des années 70, moins théâtral, mais ô combien plus mélodique et généreux. Si le rock progressif peut vite devenir pompeux et inutilement démonstratif, il peut aussi développer des trésors d’ingéniosité, d’altruisme musical, et ainsi, se transformer en boite de Pandore, et procurer des heures de plaisir. C’est exactement ce qui se passe avec cet album. De l’intro très 70’s « On A Perfect Day », qu’on croirait sortie de A Trick Of The Tail ou bien Fragile, au presque jazz rock « Wherever You Stand », en passant par l’épique « With Your Kiss » et ses onze minutes de délectation orale, passant en revue tous les styles musicaux, on nage en plein bonheur, jamais terni par une quelconque approximation, hésitation, ou remplissage de bande de fin de soirée. Le magnifique « Hereafter » sonne presque comme la bande originale du plus beau film du monde, réalisé par un ange touché par la grâce, mélangeant piano et voix, à l’unisson, hymne automnal d’une union entre une déesse et un héros grec maudits.
Quand à « As Far As The Mind Can See », le plat de résistance en 4 actes, c’est le résumé parfait de tout ce que le progressif a proposé de meilleur depuis presque 40 ans. Rencontre secrète entre GENESIS, KING CRIMSON, YES, ELP et MARILLION, on navigue en eaux claires, boussole au nord, sans savoir si l’on va atteindre son port de destination. Cet album s’écoute comme on lit un livre dont on souhaiterait qu’il ne finisse jamais, tellement il nous fait découvrir des horizons que l’on n’aurait même pas soupçonnés. C’est un coucher de soleil en été au coté de la femme qu’on aime. C’est le sourire d’un enfant qui caresse le visage de sa mère. C’est la chaleur d’un corps au creux d’un lit de désir. C’est tout et rien à la fois. Une poésie. Une rêve éveillé. Une pause salvatrice dans une vie trop difficile. Donnez m’en encore, je ne veux pas me réveiller…



Ajouté :  Vendredi 01 Décembre 2006
Chroniqueur :  Mortne2001
Score :
Lien en relation:  Spock's Beard Website
Hits: 12957
  
[ Réagissez sur le Forum ] [ Retour à l'index des CD Reviews ]

P
U
B
Cliquez SVP P
U
B
MI YouTube | MI Instagram | MI Facebook
CD Reviews | DVD Reviews | Book Reviews | Interviews | Live Reports | Concours | Forums | Radio | Photos | M-I Tshirt | Contact | M-I Banner
Metal-Impact est inscrit à la Commission nationale de l'informatique et des libertés (CNIL) sous le N° 818655. Conformément à la loi Informatique et Libertés en date du 6 janvier 1978, vous disposez d'un droit d'accès, de modification et de suppression des données qui vous concernent. Vous pouvez exercer ce droit en nous envoyant un courriel. Plus d'infos sur vos droits sur le site de la CNIL.
Page générée le 28/3/2024 à 18:54:00 en : 1,2552 secondes
| © Metal-Impact Since 2001 | Webmaster et Rédacteur en chef : Blasphy De Blasphèmar