ftp.nice.ch/pub/next/unix/audio/fugue.s.tar.gz#/fugue/soundint.c

This is soundint.c in view mode; [Download] [Up]

/* soundint.c -- interface to  sound.h */

#include "xlisp.h"

extern LVAL true;
#define cvboolean(i) ((i) ? true : NIL)

extern LVAL RSLT_sym;


#include "sound.h"

/* xlc_s_create -- interface to C routine s_create */
/**/
LVAL xlc_s_create()
{
    SoundPtr result;

    xllastarg();
    result = s_create();
    return cvsound(result);
}


/* xlc_s_copy -- interface to C routine s_copy */
/**/
LVAL xlc_s_copy()
{
    SoundPtr arg1 = getsound(xlgasound());
    SoundPtr result;

    xllastarg();
    result = s_copy(arg1);
    return cvsound(result);
}


/* xlc_s_extent -- interface to C routine s_extent */
/**/
LVAL xlc_s_extent()
{
    SoundPtr arg1 = getsound(xlgasound());
    double arg2 = 0.0;
    double arg3 = 0.0;
    LVAL result;

    xllastarg();
    s_extent(arg1, &arg2, &arg3);
    {	LVAL *next = &getvalue(RSLT_sym);
	*next = cons(NIL, NIL);
	car(*next) = cvflonum(arg2);	next = &cdr(*next);
	*next = cons(NIL, NIL);
	car(*next) = cvflonum(arg3);
    }
    result = getvalue(RSLT_sym);
    return result;
}


/* xlc_s_flatten -- interface to C routine s_flatten */
/**/
LVAL xlc_s_flatten()
{
    SoundPtr arg1 = getsound(xlgasound());
    SoundPtr result;

    xllastarg();
    result = s_flatten(arg1);
    return cvsound(result);
}


/* xlc_s_constant -- interface to C routine s_constant */
/**/
LVAL xlc_s_constant()
{
    double arg1 = getflonum(xlgaflonum());
    double arg2 = getflonum(xlgaflonum());
    SoundPtr result;

    xllastarg();
    result = s_constant(arg1, arg2);
    return cvsound(result);
}


/* xlc_s_compose -- interface to C routine s_compose */
/**/
LVAL xlc_s_compose()
{
    LVAL arg1 = xlgetarg();
    double arg2 = getflonum(xlgaflonum());
    SoundPtr result;

    xllastarg();
    result = s_compose(arg1, arg2);
    return cvsound(result);
}


These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.