mtof ~ extra step for input
Coming from pure data there are so many odd things in max , the separation between integer and floats get used to
But also a conversion for values into signal for mtof~ ?
In P.d , mtof~ just converts the input to a signal~ , and max needs an extra step , sig~
It's odd things like these that make me scratch my head .
Why does phasor~ accepts non audio rate signanls at it's freq. input but mtof~ doesn't ?


I would not loose time comparing pd and max, and posting about it.
root max installation has 847 externals without node, js, mxj etc etc objects
pd vanilla about 140 ?
Quite few max externals exist since 1990 with unchanged behaviour,
some were added on the fly, others modified ... impossible to keep track
of all additions and changes.
Lucky old max users which could count that even 30 years old patchers
still can be ported to new max versions.
One can wish something else or in addition to what it allready does
from almost every single external.
like why do we not have signal version of expr or vexpr

P.S.

Sure both have their strengths.
Mtof~ was introduced around the time that audio was added ( from pure data ) .
The extra step of a sig~ or number~ feels kind of weird .
I agree totally, but got used that it works so, even that other signal objects
also accept float input.
there are really many similar examples , like this :

sampstoms~ outputs float only if input is a float,
signal input triggers both outputs...
pay extra
expr~ in rnbo

no vexpr~ however :(
Why does phasor~ accepts non audio rate signanls at it's freq. input but mtof~ doesn't ?
one surely could add the option to take messages, too, but in my opinion it is a rather rare case that you want to go to the signal domain exactly there. in many $synths you will have a portmento or vibrato function before you mtof, so you already have a signal - in other cases you would be fine with mtof´ing in data rate and go to signal later.
it is something different with a phase accumulator, which quite often is the very first signal generator in a signal chain (for example directly after a non-signal mtof. :) )
totally understandable that you miss pd´s expr~ and fexpr~ in MSP, but from what i see you plan to use gen~ anyway, this will give you the option back, more or less.
guess what max users think when they see the biquad~ in pd can not take signals...