-
gentleclockdivider
@oid said:
No, it is just a message, to be a symbol it would need the symbol selector.
Torres says:
Yes, it is a symbol, hence, it is the selector of the message, so "c3 d3 e3" is a message whose selector is "c3" and the actual message is "d3 e3".I wrote :
The message c3 f3 a3 , the first selector is c3 and thus this message is an implicit symbol , correct ?So It's not implicit but c3 is a symbol .
@toress
Why would I bring this up , because this is the topic for it , no ?
And because I am writng my note notation/ rests like this : c3---f#4---g3--- ,
edit : can't (yet ) get the multiquote to work . -
gentleclockdivider
@oid said:
@gentleclockdivider said:
The message c3 f3 a3 , the first selector is c3 and thus this message is an implicit symbol , correct ?
No, it is just a message, to be a symbol it would need the symbol selector. We have three selectors; float, symbol and list, when an object gets a message it checks for those selectors to make sure it is getting the correct type of data, if it lacks one of those selectors it treats it as a method like 'set' so your [list store] knows it should set its internal state instead of operate on the data and produce output. The alternative would be to have reserved words which you would have to escape or add a selector to, so if you wanted a [list] to store the message [set 1 2 3( you would have to do [list set 1 2 3( or [\set 1 2 3(. The pd way avoids reserved words which means we don't have memorize a long list of reserved words, just the three selectors and the mostly consistent ways they are handled.
Next , the message c3,f3,a3 , three messages after each other each with a symbol identifier
None of those have a symbol selector, those are just three messages. You can run those through a [symbol] instead of a [list] and for this sort of thing that is a good idea, explicitly states that it is a symbol so you don't have to trace the patch to figure out what is going on.
But the manual clearly states that the first atom in a message is the selector , and for mesage c3 d3 e3 , the first atom is c3 .
Isn't c3 a symbol , it starts with the letter C ?
When the message is separated by commas , and send though a list , the console clearly shows these are seperate symbols , why then ?
To be fair , I think pure data is a million times more complex than supercollider or anything else I have worked withManual :
quoteMessages contain a selector followed by any number of arguments. The selector is a symbol that defines the message type. The arguments are anything that follows and may be symbols or numbers (aka atoms). For instance "list a b c" has a "list" selector, which defines the "list" data type, and "a b c" is the actual message. This message is only composed of symbols but a list message can combine two or more symbols and/or floats.
unquote
-
gentleclockdivider
I've read the updated manual back and forth but there are still some things unclear to me .
Take the following example
The message c3 f3 a3 , the first selector is c3 and thus this message is an implicit symbol , correct ?It's not a list because the list gatom does not understand it ., neither does the symbol gatom , so is it an unindentified message ?
Putting the same message through a list and the listbox understands it ( since the message starts with a symbol atom, a list must be explicitly given )
Next , the message c3,f3,a3 , three messages after each other each with a symbol identifier
Putting these through a list and we get again 3 successive messages each with a symbol identifier , the symbol gatom only understands it after list processing ( obviously only one element is shown since the message is separated )
-
gentleclockdivider
@porres said:
So
I did read the manual , read the bang book , miller s puckette electronic music journal , Kreidler etc..
Please don't think I just glanse over certain sections , it's just that certain parts are used more heavily then others .and other areas are easier forgotten when not in rotation/practised ,, an some parts (selector identifier ) are still a bit of a grey area to me .
So please stop assuming I didn't read the manual , I would have never been able to make the stuff of the past year without reading the manual ( and I am talking purely about scheduling and events , not audio dsp )
I respect all the hard work you have done and still do ( mutable port is awesome 0 ) , you have made your point countless times ( and I won't be posting on facebook anymore )
I have no problem helping people out ( did that for decades on the reaktor forum ) , I ve been helped countless of times on the supercollider forum ( yes I did read the immense manual ) no one made a problem out of it .
For some reason you have a problem with it , I stopped crossposting like you suggested but you can't make me stop asking questions , be it here or on discord , and No I won't crosspost ( since you're everywhere you will probably notice ) -
gentleclockdivider
@whale-av said:
@gentleclockdivider Put a [list] before your [set $1 $2 $3 $4 $5(
David.And apparently that's also the solution to my previous question .
So what comes out ouf the route if it's is not a list , becasue we need to insert a list object to see it in the list box ?
I just keep struggling with these small things like forever
-
gentleclockdivider
I mean , does anyone understand why some of the thing just don't make any sense to me
-
gentleclockdivider
How can I actually see the routed list in a list box without using list store ?
Using the symbol just shows the first element ,
In max , we can just use the right inlet of a message box
I coul d use the set $1 $2 $3 $4 etc.. message but that's a lot of typework
And just noticed that set $1 $2 $3 $4 discards the first element
-
gentleclockdivider
Oh yes I use route - text define etc..and am aware of the list trim feature
It's just that these small differences between max and pure where imho Max feels easier to use .
Why does max select object just accepts messages like kick ,- ,hat etc...? -
gentleclockdivider
Sometimes pure data is really doing my head in and feels so counterintuitive
At the leftt there are three message boxes "-" "kick" and "hat " ..in Pure data world these are are (implicit)symbols.
The select module however does not identify these because there is NO symbol selector , this feels so counter intuitive .
When sending a list through a list store and retrieve the individual elements , a symbol selector is automatically added since the select module accepts these
-
gentleclockdivider
O.k. message received
Will work on it -
gentleclockdivider
@porres
I post on multiple forums because that way I get answers more quickly , I don't have a favourit channel and dislike favourism in general .
Whenever a question is answered on an forum , I reply on the other forums that it has been solved .
BTW, You're in no position of authority whatsoever to decide what I can and can not do , give me a break .
I also share a lot of stuff , so instead of focussing on the negative , focus on the positive..and stop harassing me -
-
gentleclockdivider
I am doing the same thing in max msp , and there it's even worse
5 milliseconds seems to be the fastest attack stage , unless scheduler is run in audio thread , then it's 1 ms
Iow pure data is far better ( scheduler always runs on audio thread ) -
gentleclockdivider
I am having an issue building an adsr with line~ objects when the attack stage is below 1.46 millisec
If it's higher then that , everything works perfectly , also when it's equal to zero
Structure is verry simple
When toggle is on a bang is send to the first stage , attack level is always 1 , attack time is at the same time adjusting a delay
value for the initial bang to be delayed to trigger stage 2
Stage 2 is decay time going to sus level and stays there until the toggle is turned off which then sends a bang to the release stage
As I said , everything works perfectly except when attack time is below 1,46 millisecond .
I suspect the delay module (repsonsible for the decay time and sus level ) can not process such short times
-
gentleclockdivider
I would like to have solution how to have a certain percentage of bangs
Say , counter-modulo goes to 100 , into moses set to 60
While I do get a range of 0- 60 at the left , 60-100 at the right ,it's not what I want
All good I think
Random 100 into comparison < 60 will do the trick -
gentleclockdivider
Awesome , that's it
THe first solution is the most elegant , writing $0-name as an argument in the symbol object
I wonder , is there also an option to get it into the symbol object by other means and not by writing it as an argument ? -
gentleclockdivider
I created a small utility , midi cc to note names
First of all ,I know that message objects don't like $0-.
But I need the $0-name into the "text get" object right inlet and this inlet expects a symbol name ( to adress the text define $0-miditopitch )
So normally I would type symbol + name in the message object but since there is a $0 in the name it doesn't work .
Can't really use send object either .
I tried using the symbol object and bang out $0 into a symbol box , no luck (right part of screen )
-
gentleclockdivider
Sorry , if it was not clear .
It was indeed an abstraction ( calling another pd patch ) and not a subpatch -
gentleclockdivider
I am havng an issue here
A subpatcher with two arrays called $0-regina and $0-felina for locality
I can switch between the tables by using float $0 and then into set message "$1-felina" "$1-regina"
The issue however , once outside the subpatcher , I can not send color and width data to the tables using a send module called "$0-regina" , "$0-felina"
Inside the patcher it works
Help appreciated
Here's the subpatcher
```
Insert Code Here
-
gentleclockdivider
@porres said:
@gentleclockdivider said:
The uzi spits outs values 1-64
you probably want 0-63, and help file of [uzi] tells you how to set from 0 with the 2nd argument, The trigger part is bad, you should have just first sent it to the right then to the left, but I just simplified the whole thing by just using [expr] to do it all... I am also using [loop] from ELSE which I think has a better desing and works best
Thanks
I dont know why you say the trigger part is bad .
Sure I could have send it first to the right inlet of write and then left (which I have don previously ) , but using a TBF for the index I am sure that value at the left input ( float module ) will be triggered by tbf