# Copyright (C) 2002-2004 gregoire HUBERT.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Author : gregoire HUBERT
#
# 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;
}
}
# Copyright (C) 2003-2004 gregoire HUBERT.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Author : gregoire HUBERT
#
# 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
}
SIX INCH (fi) - Melancholic Whisper Of Life (2013)

Label : DA-Records s.n.c.
Sortie du Scud : 21 juin 2013
Pays : Finlande
Genre : Gothic Metal
Type : Album
Playtime : 12 Titres - 44 Mins
Chers lecteurs, c'est avec une immense fierté que votre webzine préféré vous présente SIX INCH, les gagnants des prestigieux "Akademy Awards"... euh... enfin les gagnants du mois de mars 2014 et dans l'une des... 125 catégories que proposent lesdits awards... Hum... Oui mais ils ont été désignés par un jury de professionnels réputés. Comment ça, des noms ? Vous n'avez pas fini avec votre curiosité mal placée ? Et le fait que vous n'ayez jamais entendu parler des Akademy Awards prouve seulement votre ignorance ! Ils ont gagné donc ce sont les meilleurs, point !
Bon, je vois que j'ai à faire à des sceptiques maladifs. Pour la n-ième fois de mon existence, je vais donc devoir me perdre en arguties afin de démontrer que 6 pouces, c'est énorme...
Mais commençons par les présentations. Ils sont 7 (chanteur, batteur, bassiste, claviériste, violoniste et 2 guitaristes), viennent de Finlande et donnent dans le Dark Rock (ou Goth Metal édulcoré suivant le respect que l'on a pour le genre). La première chose qui vient à l'esprit en lisant cette fiche d'identité est qu'en s'y mettant à 7, ces finlandais ne pourront que nous offrir une musique très riche. En effet, une première écoute révèle des compositions soigneusement construites, auxquelles chaque membre semble avoir apporté sa contribution, sans pour autant partir dans toutes les directions ou noyer l'auditeur sous un flot de notes. Assurément du travail de pro, y compris au niveau de la production, extrêmement léchée mais suffisamment transparente pour laisser s'exprimer les musiciens. Pour un premier LP c'est tout simplement remarquable. Et ce d'autant plus qu'il y a suffisamment de substance dans ces 12 compos pour que le soufflet ne retombe pas dès deuxième écoute (qui a dit EVANESCENCE ?). Il y a chez SIX INCH un indéniable sens de la mélodie mis au service d'une constante recherche d'efficacité, comme en témoigne parfaitement le brillant "Death Celebration" avec son intro toolienne, ses riffs puissants, son refrain intense et ses lignes de violon parfaitement intégrées à l'ensemble.
Mais entendons-nous bien : SIX INCH n'est pas et ne sera jamais le nouveau MY DYING BRIDE. Ceux qui recherchent un nouvel abysse où plonger avec délectation leur âme en peine feraient mieux de passer leur chemin. La noirceur affichée par cette formation tient plus du positionnement marketing que d'une sincère émotion. A cet égard, la vidéo illustrant le single "Wound torn bride" est tristement révélatrice : outre les habituels clichés gothiques de la jeune femme en noir qui s'arrache le coeur de désespoir, on y voit le chanteur arborant fièrement une fausse estafilade à la joue (allo Maman bobo!), un batteur qui ne semble pas quoi faire de ses baguettes, à tel point qu'on se demande si ce n'est pas un simple figurant, et le claviériste le plus poseur depuis son compatriote Henkka Seppälä (CHILDREN OF BODOM) : non seulement il lui pique son idée du clavier basculé vers le spectateur pour que tout le monde admire sa virtuosité (qui reste à démontrer), mais il ne peut s'empêcher d'aligner les poses affectées et les regards de lover lancés à la caméra... La crédibilité du combo en prend un sacré coup ! Des vidéos grotesques, le monde du Metal n'en manque pas, y compris chez les plus grands (c'est beau le colza en fleurs, hein Bruce ?). Mais quand ce que nous nommerons pudiquement un excès d'emphase transparaît aussi dans la musique, ça devient préoccupant. Et j'en connais plus d'un qui vont tiquer au refrain de ce morceau, même sans avoir vu la vidéo ou à l'écoute de l'unique instrumental, "my beloved" qui joue à l'excès la carte du thème enfantin/effrayant déjà entendu 10000 fois ailleurs. Cette volonté trop appuyée de chercher le hit fait que SIX INCH convainc, séduit même souvent, mais n'émeut jamais.
A bien y regarder, ce groupe, c'est un peu la plus belle fille du lycée : pas encore majeure mais déjà trop consciente de sa séduction, elle minaude et abuse de tous les artifices pour tirer avantage de ce pouvoir. Comme les autres, on assiste avec agacement à son petit numéro mais au fond, on ne peut s'empêcher de tomber sous le charme.
Ajouté : Mardi 20 Mai 2014 Chroniqueur : Cyco_Nico Score :     Lien en relation: Six Inch Website Hits: 10720
|