# 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
}
MICHAEL MONROE (usa) - Blackout States (2015)

Label : Spinefarm Records
Sortie du Scud : 9 octobre 2015
Pays : Finlande
Genre : Hard Rock
Type : Album
Playtime : 12 Titres - 38 Mins
Une légende, comme ça le matin, vous êtes preneur ? Evidemment, c'est le genre de chose qui ne se refuse pas. Et quand je parle de légende, je pèse mes mots, une vraie, Rock N'Roll et tout le barda, enfin le genre de musicien que tout le monde respecte et qui a influencé un bon paquet de suiveurs et d'addicts en tous genres.
Michael MONROE, oui le mec blond un peu hirsute, que vous avez sans doute connu si vous avez mon âge avec sa tribu nordique, HANOÏ ROCKS. Ce mec à la voix éraillée, au look dépenaillé, qui traîne son regard vitreux sur les scènes, mais qui envoie du bois.
On le sait, à part le Rock, rien ne compte pour lui. Avec son ancien groupe, en solo, il a toujours tout donné à la cause, et en 2015, à 53 balais, il est toujours là. Et en forme.
Le mec a toujours su s'entourer de zicos qui assurent, il à même débauché des faces connues, comme ce branleur kohlisé de Dregen sur le dernier album et les dernières tournées. Oui, il veut du sauvage, du frais, ce qu'il était dans les années 80 quand il braillait "Up Around The Bend" ou "Teenangels Outsiders" avec son partner in crime Andy McCoy, qui n'allait pas tarder à se barre pour fonder les CHERRY BOMBZ avec Anita.
Bon le passé c'est bien mais Michael ne capitalise pas dessus, sinon, à quoi bon sortir des albums en solo ? On le sait, Horns and Halos était plutôt pas mal dans le style, mais c'était il y a deux ans, et ça aussi c'est révolu. Non, pour rendre hommage au bonhomme, il faut parler au présent, puisqu'il est toujours là, et qu'il a gardé la pêche intacte.
Comme au premier jour ? Presque. Les intonations sardoniques et sexy se sont faites un peu plus mature, mais la bougeotte lui chatouille encore les guiboles. Et pas la peine de tergiverser, Blackout States est une fois de plus un sacré concentré d'adrénaline juvénile, rempli de hits teen qui vous font dodeliner de la tronche, du début à la fin. Mais que sait-il faire d'autre que ce Rock gentiment Hard qui vous ronge les neurones et vous fait reluquer vos vieilles fringues avec nostalgie ?
Rien, mais il le fait tellement bien qu'on s'en fout complètement.
L'équipe à un peu changé, et on retrouve dans son crew Steve Conte (DOLLS, COMPANY OF WOLVES) et Rich Jones (AMEN) aux guitares, Sami Yaffa (HANOI ROCKS, NEW YORK DOLLS) à la basse, et Karl Rockfist (DANZIG) au kit, pour une virée supervisée par Chips Kiesbye (HELLACOPTERS) de son Göteborg suédois. Mais rassurez vous les chauvins, le mixage lui a été finalisé at home, à Helsinki par Petri Majuri, alors tout va bien...
Le but du jeu ? Pas de temps à perdre, nothing to lose, et on trace, on lâche des riffs couillus, on chante un peu narquois mais fidèle, et on prouve à tous les branleurs qu'on était là avant tout le monde. On le savait déjà, mais Blackout States le prouve avec encore moins de tact, l'influence de Monroe sur la jeune génération est énorme. Une simple oreille jetée sur des morceaux comme "R.L.F." ou "Old King's Road" suffit à comprendre où ont chopé leur inspiration des combos comme les BACKYARD BABIES (et ça n'est pas par hasard si Dregen a joué les porte flingue de luxe pour lui). Ce Rock un peu Punky, à mi chemin entre la fin des années 70 et le revival Glam des 80's, toujours aussi essentiel aujourd'hui, et même plus énergique qu'à l'époque. OK, d'aucuns diront que tout ça sonne évident, et un peu simpliste, mais le Rock N'Roll, c'est viscéral, ça vient des tripes, et c'est jeune, pour toujours. Trop vieux ? Alors cassez-vous, et devenez raisonnables.
Monroe n'en a cure, les bonnes résolution, la maturité, c'est pas pour lui ça. Sinon, comment justifierait-il un morceau aussi Lemmyesque que "Good Old Bad Days", qu'on jurerait exécuté par Fast Eddie et Phil ? Et puis vous croyez que s'il n'avait pas confiance en lui, il oserait balancer un statement aussi ferme et définitif que :
"Je recommande vraiment Blackout States a tous ceux qui sont preneurs d'un Rock énergique, vrai, authentique, qui sonne mieux que jamais"
Et puis il en rajoute une couche tiens :
"Je suis très excité par cet album. Il contient tous les ingrédients d'un album de Rock parfait, des chansons aux mélodies fortes avec des paroles qui ont du sens et qui évitent les clichés, jouées par un groupe qui tue".
Et c'est vrai qu'il tue ce groupe. On retrouve l'impulsion qui transformait dans les early 80's HANOÏ ROCKS en machine de guerre N'roll, et même ce putain de sax qui rendait presque cet instrument attachant, comme sur "The Bastard's Bash" que les BABIES auraient pu composer.
Même lorsqu'il se la joue romantique, ça ne dure pas trop longtemps. Avec ses deux minutes et quelques, et son intro acoustique love, le morceau éponyme ne tient pas la ligne des greens and blues très longtemps, et lâche la sauce comme si les DOLLS et les STONES se passaient la main.
En moins de trois quarts d'heure, pas le temps de jouer les crooners, on rocke et puis c'est tout. Et le plus beau, c'est que le quinqua ne lâche pas l'affaire et ne sème aucune ballade sur sa route. Jusqu'au final "Six Feet In The Ground" ça pulse, ça racle, et ça riffe touffu, avec palm mute, accords lâchés à la RAMONES, et le Glam, toujours le Glam avec cette voix toujours aussi sex, et cette fronderie typiquement Teen qui perce à travers le regard bleu azur du leader.
Il le dit en intro "This Ain't No Love Song", pas comme Lydon non, plus franc, moins railleur, mais ça trace sans se poser de question, et ces putains de refrains qui vous restent dans les oreilles... Merde, c'est bon, c'est instinctif, c'est immédiat, comme une connerie qu'on balance sans réfléchir à une femme ou un pote... C'est Rock N'Punk, c'est HANOÏ mais Mike avant tout, et même en fouinant, pas la peine de chercher un poids mort, il n'y en a pas.
Même le mid tempo crache son venin, et "Permanent Youth", c'est plus qu'une saillie au riff gluant, c'est un aveu, on ne vieillit jamais quand on croit à ce qu'on fait, c'est comme ça. Alors oui, j'en vois déjà qui se foutent de sa gueule, avec ses cheveux en pétard et ses yeux charbonneux... Trop vieux le mec ? Il a plus de jus que vous bande de bâtards...
Et puis Rock, on l'est ou pas, lui il l'est, et il l'est. Et Blackout States c'est pas grand chose, juste du tout bon pour les parties, du contemporain aux chorus qu'on reprend en choeur, et qui fait chaud au coeur. Young at heart?
Mais on est toujours jeune quand on refuse de vieillir et qu'on garde la foi...
Ajouté : Samedi 04 Juin 2016 Chroniqueur : Mortne2001 Score :      Lien en relation: Michael Monroe Website Hits: 7638
|