расчесывание коллов вместе - MaxMSP

Я работаю над проектом с MaxMSP, где у меня несколько коллов. Я хочу объединить все списки в одном столбце. Есть ли способ сделать это напрямую, не распаковывая и не перепаковывая все?

Для большей ясности предположим, что у меня есть два колла, первый из которых:

0, 2 1, 4 2, 4 …. 99, 9

в то время как второй:

100, 8 101, 4 … 199, 7

Я хотел бы, чтобы окончательный список был одним списком от 0 до 199.

Пожалуйста, имейте в виду, что я не хочу распаковывать все (например, с узи), потому что мои списки очень длинные, и я считаю, что для процессора проблематично использовать коллы с такими длинными списками. Вот почему я разбил свой огромный список на подсписки/подзаголовки в первую очередь

Надеюсь, это достаточно ясно.


person tim.a    schedule 29.04.2015    source источник


Ответы (2)


Если два столбца не имеют перекрывающихся индексов, вы можете просто сбросить один в другой, например:

----------begin_max5_patcher----------
524.3ocyU0tSiCCD72IOEQV7ybnZmFJ28pfPUNI6AlKwIxeTZEh28ydsCDNB
hzdGbTolTOd20yXOd6CoIjp98flj8irqxRRdHMIAg7.IwwIjN995VtFCizAZ
M+FfjGly.6MHdisaXDTZ6DxVvfYvhfCbS8sB4MaUPsIrhWxNeUdFsf5esFex
bPYW+bc5slwBQinhFbA6qt6aaFWwPXlCCPnxDxSEQaNzhnDhG3wzT+i7+R4p
AS1YziUvTV44W3+r1ozxUnrKNdYW9gKaIbuagdkpGTv.HalU1z26bl8cTpkk
GufK9eI35911LMT2ephtnbs+0l2ybu90hl81hNex241.hHd1usga3QgGUteB
qDoYQdDYLpqv3dJR2L+BNLQodjc7VajJzrqivgs5YSkMaprkjZwroVLI03Oc
0HtKv2AMac6etChsbiQIprlPKto6.PWEfa0zX5+i8L+TnzlS7dBEaLPC8GNN
OC8qkm4MLMKx0Pm21PWjugNuwg9A6bv8URqP9m+mJdX6weocR2aU0imPwyO+
cpHiZ.sQH4FQubRLtt+YOaItUzz.3zqFyRn4UsANtZVa8RYyKWo4YSwmFane
oXSwBXC6SiMaV.anmHaBlZ9vvNPoikDIhqa3c8J+vM43PgLLDqHQA6Diwisp
Hbkqimwc8xpBMc1e4EjPp8MfRZEw6UtU9wzeCz5RFED
-----------end_max5_patcher-----------     
person mzed    schedule 09.07.2015

Ответ mzed работает, как указано, если в списках нет перекрывающихся индексов, которых они не должны основываться на указанном вами дизайне.

Если вы рассматриваете свой «огромный список» как несколько списков или наоборот, это может помочь найти ответ. Некоторые могут задать вопрос: «Почему вы снова объединяете это?»

  • вы считаете, что ваша программа имеет один большой список
  • этот большой список на самом деле является интерфейсом, который обрабатывает то, как вы взаимодействуете с несколькими подсписками для повышения эффективности.
  • интерфейс сохранения ваших данных (списков) для хранения и поиска затем действует как один большой список, но работает с несколькими скрытыми
  • механизм вставки и извлечения для обработки нескольких списков, так как один список должен существовать для вашего интерфейса, а затем
  • сохранять и перезагружать подсписки по отдельности

Если вы завернете это в поли~, голос действует как подсписок, поэтому, когда я говорю голос, я в основном имею в виду подсписок: вы можете использовать универсальную отправку/получение в и из поли~ абстракции, которая содержит уникальный столбец вашего подсписка, voice# from poly~ может уникально добавляться к имени файла вашего подсписка, который читается/сохраняется для [coll] этого голоса.
При такой настройке вы можете указать количество подсписков (голосов) и длину основного списка, которые вы хотите в поли~ аргументы, такие как:

[poly~ sublist_manager.maxpat 10 1000] // 10 sublists emulating a 1000-length list

Математика для поиска по индексу:

//main variables for master list creation/usage
master_list_length = 1000
sublist_count = 10
sublist_length = master_list_length/sublist_count;

//variables created when inserting/looking up an index
sublist_number = (desired_index/sublist_count); //integer divide to get the base sublist you'll be performing the lookup in 
sublist_index = (desired_index%sublist_length); //actual index within your sublist to access

Если приведенный выше ^ ближе к тому, что вы ищете, я могу поработать над патчем для этого. ваше здоровье

person Jordan Stefanelli    schedule 11.04.2017