mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-07 07:12:34 +02:00
250 lines
5.5 KiB
C
250 lines
5.5 KiB
C
/* c:\documents and settings\administrator\my documents\audacity\win\projects\libnyquist\/seqfnint.c -- interface to
|
|
* cmt/seqdecls.h, nyqsrc/seqext.h, cmt/seq.h,
|
|
* nyqsrc/seqinterf.h, cmt/seqread.h, cmt/seqmread.h,
|
|
* cmt/seqwrite.h, cmt/seqmwrite.h */
|
|
|
|
#ifndef mips
|
|
#include "stdlib.h"
|
|
#endif
|
|
#include "xlisp.h"
|
|
|
|
extern LVAL s_true;
|
|
#define cvboolean(i) ((i) ? s_true : NIL)
|
|
#define testarg2(e) (moreargs() ? (e) : (getflonum(xltoofew())))
|
|
#define xlgaanynum() (floatp(*xlargv) ? getflonum(nextarg()) : \
|
|
(fixp(*xlargv) ? (double) getfixnum(nextarg()) : \
|
|
getflonum(xlbadtype(*xlargv))))
|
|
#define getboolean(lval) ((lval) != NIL)
|
|
|
|
extern LVAL RSLT_sym;
|
|
|
|
|
|
#include "cmt/seqdecls.h"
|
|
|
|
#include "nyqsrc/seqext.h"
|
|
|
|
#include "cmt/seq.h"
|
|
|
|
/* xlc_seq_reset -- interface to C routine seq_reset */
|
|
/**/
|
|
LVAL xlc_seq_reset(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
|
|
xllastarg();
|
|
seq_reset(arg1);
|
|
return NIL;
|
|
}
|
|
|
|
|
|
/* xlc_seq_insert_ctrl -- interface to C routine insert_ctrl */
|
|
/**/
|
|
LVAL xlc_seq_insert_ctrl(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
long arg2 = getfixnum(xlgafixnum());
|
|
long arg3 = getfixnum(xlgafixnum());
|
|
long arg4 = getfixnum(xlgafixnum());
|
|
long arg5 = getfixnum(xlgafixnum());
|
|
long arg6 = getfixnum(xlgafixnum());
|
|
|
|
xllastarg();
|
|
insert_ctrl(arg1, arg2, arg3, arg4, arg5, arg6);
|
|
return NIL;
|
|
}
|
|
|
|
|
|
/* xlc_seq_insert_ramp -- interface to C routine insert_ctrlramp */
|
|
/**/
|
|
LVAL xlc_seq_insert_ramp(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
long arg2 = getfixnum(xlgafixnum());
|
|
long arg3 = getfixnum(xlgafixnum());
|
|
long arg4 = getfixnum(xlgafixnum());
|
|
long arg5 = getfixnum(xlgafixnum());
|
|
long arg6 = getfixnum(xlgafixnum());
|
|
long arg7 = getfixnum(xlgafixnum());
|
|
long arg8 = getfixnum(xlgafixnum());
|
|
long arg9 = getfixnum(xlgafixnum());
|
|
|
|
xllastarg();
|
|
insert_ctrlramp(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
|
return NIL;
|
|
}
|
|
|
|
|
|
/* xlc_seq_insert_macctrl -- interface to C routine insert_macctrl */
|
|
/**/
|
|
LVAL xlc_seq_insert_macctrl(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
long arg2 = getfixnum(xlgafixnum());
|
|
long arg3 = getfixnum(xlgafixnum());
|
|
long arg4 = getfixnum(xlgafixnum());
|
|
long arg5 = getfixnum(xlgafixnum());
|
|
long arg6 = getfixnum(xlgafixnum());
|
|
|
|
xllastarg();
|
|
insert_macctrl(arg1, arg2, arg3, arg4, arg5, arg6);
|
|
return NIL;
|
|
}
|
|
|
|
|
|
/* xlc_seq_insert_note -- interface to C routine insert_note */
|
|
/**/
|
|
LVAL xlc_seq_insert_note(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
long arg2 = getfixnum(xlgafixnum());
|
|
long arg3 = getfixnum(xlgafixnum());
|
|
long arg4 = getfixnum(xlgafixnum());
|
|
long arg5 = getfixnum(xlgafixnum());
|
|
long arg6 = getfixnum(xlgafixnum());
|
|
long arg7 = getfixnum(xlgafixnum());
|
|
|
|
xllastarg();
|
|
insert_note(arg1, arg2, arg3, arg4, arg5, arg6, arg7);
|
|
return NIL;
|
|
}
|
|
|
|
|
|
/* xlc_seq_copy -- interface to C routine seq_copy */
|
|
/**/
|
|
LVAL xlc_seq_copy(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
seq_type result;
|
|
|
|
xllastarg();
|
|
result = seq_copy(arg1);
|
|
return cvseq(result);
|
|
}
|
|
|
|
|
|
/* xlc_seq_create -- interface to C routine seq_create */
|
|
/**/
|
|
LVAL xlc_seq_create(void)
|
|
{
|
|
seq_type result;
|
|
|
|
xllastarg();
|
|
result = seq_create();
|
|
return cvseq(result);
|
|
}
|
|
|
|
|
|
#include "nyqsrc/seqinterf.h"
|
|
|
|
/* xlc_seq_next -- interface to C routine seq_next */
|
|
/**/
|
|
LVAL xlc_seq_next(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
boolean result;
|
|
|
|
xllastarg();
|
|
result = seq_next(arg1);
|
|
return cvboolean(result);
|
|
}
|
|
|
|
|
|
/* xlc_seq_get -- interface to C routine seq_get */
|
|
/**/
|
|
LVAL xlc_seq_get(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
long arg2 = 0;
|
|
long arg3 = 0;
|
|
long arg4 = 0;
|
|
long arg5 = 0;
|
|
long arg6 = 0;
|
|
long arg7 = 0;
|
|
long arg8 = 0;
|
|
LVAL result;
|
|
|
|
xllastarg();
|
|
seq_get(arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7, &arg8);
|
|
{ LVAL *next = &getvalue(RSLT_sym);
|
|
*next = cons(NIL, NIL);
|
|
car(*next) = cvfixnum(arg2); next = &cdr(*next);
|
|
*next = cons(NIL, NIL);
|
|
car(*next) = cvfixnum(arg3); next = &cdr(*next);
|
|
*next = cons(NIL, NIL);
|
|
car(*next) = cvfixnum(arg4); next = &cdr(*next);
|
|
*next = cons(NIL, NIL);
|
|
car(*next) = cvfixnum(arg5); next = &cdr(*next);
|
|
*next = cons(NIL, NIL);
|
|
car(*next) = cvfixnum(arg6); next = &cdr(*next);
|
|
*next = cons(NIL, NIL);
|
|
car(*next) = cvfixnum(arg7); next = &cdr(*next);
|
|
*next = cons(NIL, NIL);
|
|
car(*next) = cvfixnum(arg8);
|
|
}
|
|
result = getvalue(RSLT_sym);
|
|
return result;
|
|
}
|
|
|
|
|
|
#include "cmt/seqread.h"
|
|
|
|
/* xlc_seq_read -- interface to C routine seq_read */
|
|
/**/
|
|
LVAL xlc_seq_read(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
FILE * arg2 = getfile(xlgastream());
|
|
|
|
xllastarg();
|
|
seq_read(arg1, arg2);
|
|
return NIL;
|
|
}
|
|
|
|
|
|
#include "cmt/seqmread.h"
|
|
|
|
/* xlc_seq_read_smf -- interface to C routine seq_read_smf */
|
|
/**/
|
|
LVAL xlc_seq_read_smf(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
FILE * arg2 = getfile(xlgastream());
|
|
|
|
xllastarg();
|
|
seq_read_smf(arg1, arg2);
|
|
return NIL;
|
|
}
|
|
|
|
|
|
#include "cmt/seqwrite.h"
|
|
|
|
/* xlc_seq_write -- interface to C routine seq_write */
|
|
/**/
|
|
LVAL xlc_seq_write(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
FILE * arg2 = getfile(xlgastream());
|
|
int arg3 = getboolean(xlgetarg());
|
|
|
|
xllastarg();
|
|
seq_write(arg1, arg2, arg3);
|
|
return NIL;
|
|
}
|
|
|
|
|
|
#include "cmt/seqmwrite.h"
|
|
|
|
/* xlc_seq_write_smf -- interface to C routine seq_write_smf */
|
|
/**/
|
|
LVAL xlc_seq_write_smf(void)
|
|
{
|
|
seq_type arg1 = getseq(xlgaseq());
|
|
FILE * arg2 = getfile(xlgastream());
|
|
|
|
xllastarg();
|
|
seq_write_smf(arg1, arg2);
|
|
return NIL;
|
|
}
|
|
|
|
|