Csound Csound-dev Csound-tekno Search About

[Csnd] question on macro variables

Date2012-08-01 19:53
FromStefan Thomas
Subject[Csnd] question on macro variables
Dear community,
I've looked at Ian Mc Curdy's  modeSynth-udo collection.
He defines there some udos making use of macros macros. Below there I've quoted some code.
What I think I've understood is that MODE_PARTIAL is a shorthand for the the code, following between the two #-signs and (FRQ) is it's argument. What I don't unterstand is the meaning of the $M_PI-Variable. I have no idea what it could mean and I don't see, where it is defined.
Here is the code of Ian:

opcode    dahina, a, akk
    ain, kbasfrq, kq    xin
    amix    init    0
#define    MODE_PARTIAL(FRQ)
    #
    kfrq    =    kbasfrq*$FRQ
    if sr/kfrq>=$M_PI then
     asig    mode    ain, kfrq, kq
     amix    =    amix + asig
    endif
    #
    $MODE_PARTIAL(1   )
    $MODE_PARTIAL(2.89)
    $MODE_PARTIAL(4.95)
    $MODE_PARTIAL(6.99)
    $MODE_PARTIAL(8.01)
    $MODE_PARTIAL(9.02)
        xout    amix/6
        clear    amix
endop