# 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
}
ESKIMO CALLBOY (de) - We Are The Mess (2014)

Label : Redfield Records
Sortie du Scud : 10 janvier 2014
Pays : Allemagne
Genre : Partycore
Type : Album
Playtime : 12 Titres - 34 Mins
J'ai saigné. Une fois, deux fois.
J'ai vomi. Une fois, deux fois.
Puis au final, c'est pas si grave. Ce n'est que de la musique.
Le problème, c'est que ça fait parfois beaucoup trop de guiliguilis dans le ventre, trop de rage contenue dans la gorge pour la musique qu'on aime tous ici. Et de voir les ESKIMO CALLBOY continuer à sévir en toute impunité, verser une fois de trop dans ce Shakeyourbootycore dégradant, c'est juste un acte métallicide bête et méchant. Mais c'est de bonne guerre, et quitte à être ulcéré, autant ne pas leur laisser le privilège d'avoir en main un des clous de notre cercueil. L'évidence même, c'est que ces six Allemands ont tout compris. Absolument tout. Ils ont compris que la culture du vide ferait vivre leur business, et qu'un noyau dur de groupies sera toujours là, à attendre bien sagement qu'on leur balance de généreuses pelletées de cette soupe Liebig fluorescente dans leurs bouches grandes ouvertes. Ils ont compris que cette jeunesse, à l'heure où elle sort, veut arriver le plus vite possible au seuil 0 de la pyramide humaine, ce stade si particulier où seul le vêtement sépare l'homme de l'animal. Et dans un élan de générosité à peine intéréSSé, ESKIMO CALLBOY leur offre la déchéance sur un plateau de bric et de broc.
Sauf qu'à l'inverse de la dernière fois où j'ai failli faire un AVC en écrivant sur Bury Me In Vegas (pour finalement parvenir à plutôt apprécier "Is Anyone Up", comme quoi...), je vais vous raconter pourquoi We Are The Mess mérite d'être salué et récolte une note aussi élevée. Je ne parle pas au nom de l'ouverture d'esprit ou d'un quelconque concept de vérité universelle (dédicace aux hipsters qui vont me cramer sur Deezer, ça va votre chaude-pisse ?), par contre, il y a effectivement une infime (infâme ?) dose de morale à cette histoire. ASKING ALEXANDRIA ? Stérile. ATTACK ATTACK ! Aseptisé. La différence, c'est qu'à l'inverse de ses glorieux ainés, ESKIMO CALLBOY ne se prend pas au sérieux l'espace de trente secondes, que ce disque est un foutoir général permanent qui porte vachement bien son nom et que quitte à vouloir se masturber sur un concept éloigné de coolitude, mieux vaut le faire avec de vrais talents labélisés NRJ12. Chronique de la haine ordinaire ? Pas tant que ça figurez-vous. Car il serait tout aussi intelligent de foutre la paix aux préjugés sur des garçons qui doivent être le charme et la classe incarnée, sur des motivations impossibles à prouver et sur un talent qui n'est pas le mien à un dixième (Dieu merci) pour enfin nous concentrer sur la musique. Le charme n°1 de We Are The Mess, c'est bien sur cette bonne humeur communicative qui galope au rythme de samples Trance, de passes Dubstep, de breakdowns Metalcore, de pléthore de voix barrées, d'invités prestigieux, de refrains putassiers, de canulars téléphoniques hilarants ("#elchtransformer", symptomatique des neurones perdus en route) et de paroles satiriques, hommage littéraire à notre fierté nationale commune : le mondialement célèbre "Fuck Me, I'm Famous". Des culs, des chattes, booze et baise font lit commun au plus grand bonheur des associations féministes qui ne manqueront pas de tomber avec la sévérité qu'on leur connaît sur cette prose un peu miso. Isabelle Alonso, si tu me lis, n'oublie pas de taper "Attila band" sur Google. Ça, c'est pour la forme, car dans le fond, ESKIMO CALLBOY assume toujours autant sa différence et en joue avec ce culot caractéristique qui faisait de Bury Me In Vegas un premier album hyperglucidique. Qu'on se le dise, son successeur n'est pas beaucoup plus évolué, mais à l'instar du petit polisson en quête d'identité comportementale qui a toujours voulu savoir quel goût a le caca, on se surprendra peut-être à apprécier "We Are The Mess" et son refrain racoleur, "Party At The Horror House" et son riff bien Rock N' Roll ou la déjà-incontournable "Jagger Swagger" sur laquelle on retrouve BastiBasti de CALLEJON et l'Américain Deuce pour une sorte de "Porn From Spain, Part 2" du pauvre. Sinon, la production est excellente, bien artificielle, boostée aux hormones. Chaque instrument peut s'épanouir librement au cœur d'une cacophonie junkie délirante ("Final Dance" frôle la perfection). Seul véritable défaut : la fête perd de son intensité sur les derniers instants ("Voodoo Circle", bof et "Broadway's Gonna Kill Us", trop Pop). A moins qu'elle n'ait commencé à s'étioler au moment où les mecs ont eu l'idée de former le groupe ?
Il faut vraiment être totalement hermétique à l'évolution pour ne pas trouver le côté attachant de ce second album décalé et, soyons francs, réussi ! ESKIMO CALLBOY commence à empiler les tubes comme ses membres empilent les meufs et les MST. Plus sérieusement maintenant (et c'est quand même bien de l'être un petit peu), ce que nous apprennent ces garçons, c'est qu'une carrière comme la leur n'aurait jamais pu s'épanouir dans l'Hexagone. VS se serait chargé de leur compte depuis longtemps. Comme d'hab, l'Allemagne possède une longueur d'avance dans les mentalités, et nous offre la chance unique de pouvoir nous faire les dents en attendant le grand retour de BETRAYING THE MARTYRS. C'est pour cette raison précise que cette chronique est d'une méchanceté gratuite, d'une mauvaise foi sans nom. Je connais le profil de ceux qui ont applaudi des deux mains les termes orduriers de ce torchon, et l'important était avant tout de leur faire plaisir. Ma tâche accomplie, il faut que je vous avoue avant de nous quitter que les quatre étoiles reçues par We Are The Mess ne doivent rien au cynisme, à l'arrogance, à la bêtise-crasse, à l'hypocrisie, encore moins au hasard, et que peut-être que le petit pourcent de sincérité que contient ce papier (au demeurant pas du tout assumé) se love dans cette dernière phrase...
Ajouté : Samedi 23 Août 2014 Chroniqueur : Stef. Score :     Lien en relation: Eskimo Callboy Website Hits: 8376
|