static XEN g_find_dialog_widgets(void) { if (edit_find_dialog) return(XEN_CONS(XEN_WRAP_WIDGET(edit_find_dialog), XEN_CONS(XEN_WRAP_WIDGET(edit_find_text), XEN_CONS(XEN_WRAP_WIDGET(findnextB), XEN_CONS(XEN_WRAP_WIDGET(XmMessageBoxGetChild(edit_find_dialog, XmDIALOG_CANCEL_BUTTON)), /* find previous */ XEN_CONS(XEN_WRAP_WIDGET(XmMessageBoxGetChild(edit_find_dialog, XmDIALOG_OK_BUTTON)), /* cancel */ XEN_EMPTY_LIST)))))); return(XEN_EMPTY_LIST); }
static XEN g_mus_midi_read(XEN line, XEN bytes) /* returns list of midi bytes */ { #define H_mus_midi_read "(" S_mus_midi_read " line bytes): reads bytes from midi port, returns list" int i, len, err; unsigned char *buf; XEN lst = XEN_EMPTY_LIST; XEN_ASSERT_TYPE(XEN_INTEGER_P(line), line, XEN_ARG_1, S_mus_midi_read, "an integer"); XEN_ASSERT_TYPE(XEN_INTEGER_P(bytes), bytes, XEN_ARG_2, S_mus_midi_read, "an integer"); len = XEN_TO_C_INT(bytes); buf = (unsigned char *)CALLOC(len, sizeof(unsigned char)); err = mus_midi_read(XEN_TO_C_INT(line), buf, len); if (err == -1) { FREE(buf); return(XEN_FALSE); } for (i = err; i >= 0; i--) lst = XEN_CONS(C_TO_XEN_INT((int)buf[i]), lst); FREE(buf); return(lst); }