# 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
}
VATTNET VISKAR (uk) - Settler (2015)
Label : Century Media
Sortie du Scud : 16 Juin 2015
Pays : Royaume-Uni
Genre : Post Black atmosphérique
Type : Album
Playtime : 8 Titres - 39 Mins
En règle générale, lorsqu'on pratique un Black Metal cohésif et admis, les centres d'intérêt/obsessions sont toujours les mêmes. Nature, Paganisme, misanthropie, occultisme, nihilisme, satanisme, et je passe sous silence d'autres "ismes" beaucoup moins recommandables.
Mais il est aussi possible de se focaliser sur des thématiques moins usées, et voir plus loin, plus brillant, plus haut. C'est en quelque sorte la leçon indirecte que nous donnent des groupes comme VATTNET VISKAR qui ont opté pour des digressions moins convenues et systématiques.
La question est de savoir: font ils encore vraiment du BM ? En théorie oui, dans le fond, peut être, dans la forme, c'est discutable. Disons plutôt qu'ils utilisent des chemins qui arpent les terres désolées de cette musique sombre, tout en déviant régulièrement de leur parcours. Pour le meilleur ? C'est évident.
28 janvier 1986, la navette américaine Challenger explose à plus de 3200 kilomètres/heure, après seulement soixante treize secondes de vol. Soixante treize secondes, ce fut aussi la durée du rêve d'une jeune institutrice qui fut la première civile à participer à un projet spatial. La jeune Christa McAuliffe avait vu sa vie basculer le jour où elle avait été choisie parmi des milliers de prétendant(e)s, mais les étoiles quelle avait dans les yeux au moment du décollage n'eurent même pas le temps de se transformer en super nova...Quelques petites secondes de vie et d'euphorie, et puis... plus rien.
Aujourd'hui, on simule des conditions de pesanteur pour un shooting avec Kate Upton en bikini. C'est l'époque qui change, mais le destin de cette pauvre jeune institutrice n'a pas fini de hanter les mémoires, et Challenger, plus qu'une catastrophe, est devenu un symbole. Pour beaucoup, et surtout pour les Anglais de VATTNET VISKAR.
Ceux-ci, fondés en 2010, ont toujours pris les choses à contre-pied. Graphiquement bien sur, et le ciel restera leur limite dès le départ avec cette pochette sublime et céleste de Sky Swallower qui déjà indiquait des prises de liberté indéniables, et celle évidemment de Settler, pleine de joie, de bonheur et les yeux brillant de mille feux. Musicalement, la problématique est la même. Black sombre, âpre, mais aussi lumineux, pas vraiment Post car encore trop ancré dans la violence et la dureté de ton, mais trop vivant et expressif pour rentrer encore dans cette case restrictive. Settler marque un nouveau pas en avant, gigantesque celui ci, qui laisse les guitares lâcher les sempiternelles litanies acides du BM pour se vouloir Post, Ambient, Shoegaze et plus simplement... musicales.
Niveau production, l'enrobage est loin des parois de cavernes ou des murs de cathédrales maudites qui d'habitude sont le lot de tout groupe inspiré de la vague nordique. Le son se rapproche plus d'une approche à la PARADISE LOST ou même d'un paquet Sludge allégé de ses tonalités les plus graves et basses, mais quoi qu'il en soit, il sied à merveille ces compositions riches et de textures complexes.
Nick Thornbury explique la genèse de ce deuxième album en ces mots :
"J'ai fixé cette photo pendant des mois en jouant de la guitare. La pochette de l'album est une interprétation de cette photo, elle montre que même si quelque chose signifie beaucoup pour vous, tout ne se passera pas vraiment comme prévu. Mais l'album ne traite pas de la tragédie même de l'explosion de Challenger, mais plutôt de tout ce qu'il y a autour. Se dépasser pour être quelqu'un d'autre, quelqu'un de meilleur, une métamorphose qui touche presque au divin"
Avec l'aide de Sanford Parker à la console (LEVIATHAN), VATTNET VISKAR a en effet mis en application cette façon de penser, et s'est dépassé, à tous les niveaux. Mais loin de converger vers la tragédie vécue brièvement par l'équipage de Challenger, Nicholas et les siens s'apprêtent plutôt à récolter les fruits de leur travail acharné pour transcender les influences Black vers des cieux beaucoup plus éclairés et porteurs d'espoir. Chaque morceau a été mûrement pensé, même si l'arrière plan laisse penser à une inspiration instinctive. Le groupe aurait pu tomber dans le piège du "more is more" mais s'est au contraire focalisé sur l'instantanéité de l'évènement qui porte le fil conducteur de cet album, et ont opté pour une approche courte et concise.
Seul "Heirs" se permet un débordement, mais garde les stigmates de tous les autres titres. Ce délicat assemblage de blasts et de parties de guitare foncièrement Post Metal, voire Heavy Metal tout court, créé un décalage permanent entre l'inéluctabilité du destin mais aussi la possibilité que tout un chacun à de le changer, même pour un court instant. Ténèbres, lumières, espoir, fatalité, tout est là résumé en quelques riffs qui changent d'optique à intervalles réguliers, sans paraître hors contexte.
La grandiloquence est évidemment génératrice d'une ambiance larger than life, à l'image de cette mission adoptant une civile en son sein, mais même sous cet aspect là, le groupe n'en fait jamais trop. D'ailleurs, ils se sentent parfois plus pragmatiques qu'oniriques, à l'image du riff de "Colony", qui peut évoquer un Metal moderne légèrement alternatif ou un peu Progressif, qu'ils contrebalancent presque aussitôt du torrent de haine BM, "Impact" retranscrivant en musique le choc de la destruction d'une vie qui se brise en pleine ascension.
Et le final "Coldwar" de s'inscrire dans la continuité de cette dualité présente depuis les premières mesures de "Dawnlands", pratiquant la percussion d'une lucidité inhérente au Black et à l'espoir suscité par des mélodies évidentes auxquelles les anglais laissent mettre un terme à l'aventure, en forme de solo brillant comme une étoile qui explose de lumière avant de mourir.
Parler de Post quoi que ce soit est souvent réducteur pour décrire une oeuvre qui a été pensée, ressentie, et restituée avec le désir de schématiser simplement des conceptions vitales à la portée de tout esprit sensible. On y vient par facilité, par manque de vocabulaire musical, alors, je ne ferai pas cette erreur ici. Si la base de VATTNET VISKAR est toujours profondément enfoncée dans une terre désolée Black, les racines qui en émergent partent dans plusieurs directions possibles, et sont libres de s'orienter vers le soleil ou dans le sol. Metal, foncièrement, mais musique avant tout, et description personnelle d'un parcours qui peut s'apparenter à une prise de conscience. Nous sommes tous capables de nous transcender pour devenir un/une autre, celui que nous avons toujours rêvé d'être, il suffit d'oser faire un pas en avant pour ça. Au risque de le payer de sa propre vie.
Mais avoir connu le rêve et la liberté ne serait ce que l'espace d'un fugace instant n'est il pas plus valorisant qu'une existence passée à suivre la ligne ?
C'est ce que Settler semble vouloir nous dire, au travers de mélodies transperçant la violence ambiante.
Ajouté : Mercredi 02 Novembre 2016 Chroniqueur : Mortne2001 Score : Lien en relation: Vattnet Viskar Website Hits: 7104
|