Bonjour
Peut-t-on assembler plusieurs “chord-seq” dans un autre “chord-seq”?
merci

Bonjour
Peut-t-on assembler plusieurs “chord-seq” dans un autre “chord-seq”?
merci

Bonjour Ruben,
La méthode “merger” réalise cette opération.
Dimitri

Merci Dimitri
Dimitri,
“merger” fond les “chord-seq” depuis le début, il ne les ajoute pas un après l’autre.

Despite my poor french I think this is what you are looking for…
n’est pas?
Michele

Thanks Michelle, very good, but I want
one sequence, one beside the other.
Ok, je n’avais pas compris la question.
Ce qu’il faut c’est donc concaténer les listes de notes, d’onset, de vélocités etc… en faisant attention à ajouter à la liste d’onset du chord-seq2 l’onset max du chord-seq1.
J’ai écris rapidement une petite lambda fonction (en espérant qu’il n’y ai pas d’erreur) à mettre dans un bloc lisp dans le patch, et à utiliser avec 2 chord-seq (ou plus grâce au reduce présenté par Michelle).
Dimitri.
append-chord-seq.lisp (468 Bytes)
…or just use concat.

Indeed… Moreover, my lisp function does append chord-seqs, but the last note of the first one will be played as a chord with the first note of the second (if its onset is 0)… I guess it’s not what Ruben wants!
pardon, je ne pas compris ce qu’il faut faire
tu peut m’envoyer un exemple.
Comment on lit ton fichier attaché ?
j’ai copié le code dans un fichier (.tex)
ensuite j’ai change le nom du fichier à (.omp)
pour après l’exporter depuis OM mais il charge pas.
Ma fonction fait (mal) ce que concat fait déjà. Comme l’a dit Michelle, autant utiliser concat.
Sinon, pour information, ce que j’ai joins à mon message est un fichier lisp. Il contient une fonction utilisable dans un patch.
Pour ce faire, ouvre ton patch où se trouvent tes objets chord-seq, double clic dans une zone vide, et tape “lisp”.
Un objet “lispfunction” va se créé. Ce genre d’objet permet de créer manuellement des fonctions.
Là chose à faire était donc d’ouvrir mon fichier append-chord-seq.lisp avec un éditeur de texte par exemple, de copier ce qu’il contient, et le coller dans l’éditeur de l’objet “lispfunction” créé dans le patch (pour accéder à l’éditeur, double clic sur l’objet, comme pour accéder à l’éditeur de n’importe quel objet).
Comme ma lambda fonction prend 2 arguments, une fois l’éditeur fermé, ton objet lispfunction aurait eu 2 entrées qui seraient apparues, sur lesquelles tu aurait branché tes chord-seq

This is the only way I can think to concatenate several “chord-seq” objet in midis and durations.

Ruben, I posted this image earlier, did you see it?

yes I saw, but the problem is that the duration valuesare not displayed correctly. Rhythm values have to be put back into another “chord-seq” to see them properly. I don’t know why.
ejemplo.omp (21.8 KB)
This is a bug in the concat-function.
It was changed in october to use get-obj-dur instead of extent to calculate the offset for the second sequence.
However, this was probably done to fix another bug, so ill need to check more before fixing it. We’ll roll up a bugfix soon, stay tuned.
For now you can use the attached version of the concat method (place the file in your workspace, inside the “user” folder, to have it loaded on startup)
Take care to remove it before testing coming bugfixes.
Thanks for the bug-report!
concat-fix.lisp (920 Bytes)
Dear Anders,
Indeed there’s a bug. But the bug is elsewhere. It’s related directly to the chord-seq. This issue , i have repeatedly signaled.
The trouble is , if someone change it it could have a major change in this object. So maybe we should take care of this issue with Jean and everybody in order to fix it correctly.
I think it’s directly related to the instantiation of chord-seq and it last duration according to the onsets. If you use a serie of onsets for example the last one is incoherent. I have plenty of examples that shows the problem.
Best
K
Hi Karim!
The code for this method (concat 2 sequences) in the current release is buggy, and will only work if the qvalue for the current container is 1.
If you have a minimal test-case or example, please send me one privately.
Cheers.
-anders