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 + -
显示快捷键?