org_tritonus_lowlevel_alsa_alsaseqevent.c

来自「kaffe Java 解释器语言,源码,Java的子集系统,开放源代码」· C语言 代码 · 共 634 行 · 第 1/2 页

C
634
字号
/* *	org_tritonus_lowlevel_alsa_AlsaSeqEvent.c *//* *  Copyright (c) 1999 - 2001 by Matthias Pfisterer <Matthias.Pfisterer@gmx.de> * *   This program is free software; you can redistribute it and/or modify *   it under the terms of the GNU Library General Public License as published *   by the Free Software Foundation; either version 2 of the License, or *   (at your option) any later version. * *   This program is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *   GNU Library General Public License for more details. * *   You should have received a copy of the GNU Library General Public *   License along with this program; if not, write to the Free Software *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#include "common.h"#include "org_tritonus_lowlevel_alsa_AlsaSeqEvent.h"HandleFieldHandler(snd_seq_event_t*)snd_seq_event_t*getEventNativeHandle(JNIEnv* env, jobject obj){	return getHandle(env, obj);}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    malloc * Signature: ()I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_malloc(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	int			nReturn;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_malloc(): begin\n"); }	handle = (snd_seq_event_t*) calloc(1, sizeof(snd_seq_event_t));	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_malloc(): handle: %p\n", handle); }	setHandle(env, obj, handle);	if (handle != NULL)	{		nReturn = 0;	}	else	{		nReturn = -1;	}	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_malloc(): end\n"); }	return nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    free * Signature: ()V */JNIEXPORT void JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_free(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_free(): begin\n"); }	handle = getHandle(env, obj);	if (snd_seq_ev_is_variable(handle))	{		free(handle->data.ext.ptr);	}	free(handle);	setHandle(env, obj, NULL);	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_free(): end\n"); }}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    getType * Signature: ()I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getType(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	int			nReturn;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getType(): begin\n"); }	handle = getHandle(env, obj);	nReturn = handle->type;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getType(): end\n"); }	return nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    getFlags * Signature: ()I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getFlags(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	int			nReturn;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getFlags(): begin\n"); }	handle = getHandle(env, obj);	nReturn = handle->flags;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getFlags(): end\n"); }	return nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    getTag * Signature: ()I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getTag(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	int			nReturn;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getTag(): begin\n"); }	handle = getHandle(env, obj);	nReturn = handle->tag;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getTag(): end\n"); }	return nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    getQueue * Signature: ()I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getQueue(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	int			nReturn;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getQueue(): begin\n"); }	handle = getHandle(env, obj);	nReturn = handle->type;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getQueue(): end\n"); }	return nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    getTimestamp * Signature: ()J */JNIEXPORT jlong JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getTimestamp(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	jlong			lTimestamp;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getTimestamp(): begin\n"); }	handle = getHandle(env, obj);	if ((handle->flags & SND_SEQ_TIME_STAMP_MASK) == SND_SEQ_TIME_STAMP_TICK)	{		lTimestamp = handle->time.tick;	}	else	// time	{		lTimestamp = (jlong) handle->time.time.tv_sec * (jlong) 1000000000 + (jlong) handle->time.time.tv_nsec;	}	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getTimestamp(): end\n"); }	return lTimestamp;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    getSourceClient * Signature: ()I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getSourceClient(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	int			nReturn;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getSourceClient(): begin\n"); }	handle = getHandle(env, obj);	nReturn = handle->source.client;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getSourceClient(): end\n"); }	return nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    getSourcePort * Signature: ()I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getSourcePort(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	int			nReturn;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getSourcePort(): begin\n"); }	handle = getHandle(env, obj);	nReturn = handle->source.port;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getSourcePort(): end\n"); }	return nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    getDestClient * Signature: ()I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getDestClient(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	int			nReturn;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getDestClient(): begin\n"); }	handle = getHandle(env, obj);	nReturn = handle->dest.client;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getDestClient(): end\n"); }	return nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    getDestPort * Signature: ()I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getDestPort(JNIEnv* env, jobject obj){	snd_seq_event_t*	handle;	int			nReturn;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getDestPort(): begin\n"); }	handle = getHandle(env, obj);	nReturn = handle->dest.port;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getDestPort(): end\n"); }	return nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeqEvent * Method:    getNote * Signature: ([I)V */JNIEXPORT void JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getNote(JNIEnv* env, jobject obj, jintArray anValues){	snd_seq_event_t*	handle;	jint*			panValues;	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getNote(): begin\n"); }	handle = getHandle(env, obj);	checkArrayLength(env, anValues, 5);	panValues = (*env)->GetIntArrayElements(env, anValues, NULL);	if (panValues == NULL)	{		throwRuntimeException(env, "GetIntArrayElements() failed");	}	panValues[0] = handle->data.note.channel;	panValues[1] = handle->data.note.note;	panValues[2] = handle->data.note.velocity;	panValues[3] = handle->data.note.off_velocity;	panValues[4] = handle->data.note.duration;	(*env)->ReleaseIntArrayElements(env, anValues, panValues, 0);	if (debug_flag) { fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeqEvent_getNote(): end\n"); }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?