Les fichiers H2song sont des fichiers xml avec des balises assez facile à lire. On peut donc les éditer avec un éditeur de code ou de texte (geany ou wordpad etc.)
Après les en-têtes définissant la fonte sonore et les instruments utilisés, le matériau musical proprement dit se trouve dans deux sections :
Tout ce qui se trouve entre ces deux balises contient les notes, les effets et les sons choisis pour chaque pattern. Ils sont nommés ainsi :
<name>Pattern 1</name> (notez la majuscule)
Elle est délimitée par les balises
<patternSequence> </patternSequence>
<group>
<patternId>Pattern 1</patternId>
<patternId>Pattern 4</patternId>
</group>
Dans un premier essai j'ai testé l'assemblage de deux morceaux qui utilisent la même fonte sonore.
Pour assembler deux travaux ils faut commencer par les distinguer l'un de l'autre.
Vous pouvez utiliser n'importe quel mot à la place de "Pattern " à condition que tout les mots "Pattern " d'un fichier .h2song soient remplacés par le même mot, différent pour chaque autre fichier à fusionner.
renommer tous les "<name>Pattern " en "<name>morceauun "
renommer tous les "<patternID>Pattern " en "<patternID>morceauun "
et pareil pour le morceaudeux
renommer tous les "<name>Pattern " en "<name>morceaudeux "
renommer tous les "<patternID>Pattern " en "<patternID>morceaudeux "
Attention au nombre d'espaces après les noms : un seul sinon on a une erreur de syntaxe.
Une fois renommé on copie le bloc délimité par les balises <patternList></patternList>
du morceaudeux à la suite du morceauun
(juste avant la balise </patternList> )
C'est donc toute la série de blocs <pattern></pattern> qui est ajoutée au morceauun
On a donc fusionné les listes de pattern des deux morceaux
Pour fusionner les séquences on copie le bloc délimité entre les balises
<patternSequence></patternSequence>
du morceaudeux , juste avant la balise
</patternSequence> du morceauun
C'est donc toute la série de blocs <group> </group> qui est ajoutée au morceauun
On sauvegarde le code obtenu d'un autre nom "nouveaumorceau.h2song" et on l'ouvre avec Hydrogen music.
Tout cela ne fonctionne bien que si la liste des instruments, la section <instrumentList> </instrumentList>
est rigoureusement la même dans tous les morceaux à fusionner. En partitulier, la paire
<id> </id>
<name> </name>
Doit être la même. Si le numéro d'<id> ne correspond pas au son,
c'est un autre son qui sortira de la fusion.
On peut copier-coller une sélection de la grille de morceau (song) d'un endroit à l'autre
et d'une fenêtre Hydrogen à l'autre mais cela ne copie pas les patterns correspondants.
La solution est de cliquer du bouton droit sur chaque pattern du morceauun et d'exporter chaque pattern.
Ensuite, dans le morceaudeux on ajoute autant de lignes de patterns que nécessaire
avec le + situé en haut à gauche (nouveau motif - new pattern)
Ensuite, on clique du bouton droit sur chaque nouveau pattern pour charger chaque motif sauvegardé.
Enfin, on peut alors, en mode graphique, copier la sélection du morceauun dans le morceaudeux.
Ouf!