Okay, I'll isolate it into a separate .pd.
While I'm doing it, I'll try and break it down in text form too.
loadbang
|
7 messageboxes which each create a single table. (ionian,dorian,phrygian,lydian,mixolydian,aeolian,locrian)
space for 7 tables
list 2 5 60(
|
unpack f f f
|
pd i-viiosc
|
output~
i-viiosc "is supposed to be" designed to receive three numbers - one to select one of the entries in a table, one to select the table, and one to provide the "basis", so to speak. So:
list 2 5 60(
would result in 2nd note selected from 5th table, and transposed by +60.
pd i-viiosc is the main issue. I have three inlets, one to receive the number-to-read-from-table, one to receive select-which-table, and one to receive the basis for the calculation.
i-viiosc also contains a simple
resultant-number-read-from-table + basisnote
|
mtof
|
osc~
|
outlet~
and that's it.
At first I thought a simple
select 1 2 3 4 5 6 7
would be enough, this would select which table to read. But then deciding how to "mute" the other tables while banging all of them with a specific table-content-number, became the issue. so now, instead of connecting the order-number-to-retrieve-from-table, i'm trying to go "well, I selected the 5th table, so bang that table to $0-table, and select the 3rd or 8th number from that table, and output that to (number-from-table + basis) and then mtof it.
I must be doing this wrong. I've tried to think about it for a while, but $0-table was the only solution I could come up with, that would allow me to have, say, 32 instances of pd i-viiosc in such a way that none of them touch eachother's tables (the 7 tables are not written to after loadbang).also, i realize that $0-table just won't work if it's not a separate .pd file, I was just trying to shove the whole thing into a single .pd.
outline:
basically if I can fetch a number from any of the seven tables, I'll then create another set of tables that will contain "which numbers to fetch". Let's say there's 4 numbers to fetch from one table, these 4 numbers will be split amongst 4 of those pd i-viioscs in such a way that can press a messagebox of numbers and out come 4 different notes, a 4 note chord, that is.
Then I'll start crafting a way to use a metronome counter to bang out specific notes from a master-table, which then toggle another scale-table's notes to come out to it's specific oscillators.
Basically the objective is to say:
1, 5, 7, 3
and those numbers will read from a table which 3 notes to come out, per number, and then talk to the scale-tables and output those notes. this would result in a chord-progression that could be controlled.