@Liquidyzer This contains all of the patches below and a sample..... open sample.zip
The first example...... open_sample.pd
Basically "open" is just dropped..... you could put "list" instead, or "woof"....... or any symbol (try it if you don't believe me).
The "open" or "woof" says to Pd "this is a list" The message then sends a list of one atom....... "track1.wav" which replaces $1.
Without the "list" tag the next message box complains..... the $1 expects an atom from a list.
Yes, it's not obvious, but it is documented in many help files in the Pd installation.
A series of symbols and floats that starts with a float is automatically a "list".
So [1 woof 3( is a list and all the atoms are passed onwards and can be translated by $1 $2 and $3.
But [track1.wav( is a symbol........ not a list. By putting more than one symbol it becomes a list as with [open track1.wav(........ but "open" is translated as a "tag" that says...... this is a list....... and so is not passed onwards. "track1.wav" is passed onwards as the list.
You can do the same thing with [pack s]...... packing the symbol "track1.wav" into a list.
You don't need to include $1 (track1.wav) in the array name, but it helps if you want to write many samples to many arrays, and know which one is which....... or using [pack s $0] you can get $0 into the array name as you wished...... open_sample3.pd