⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 org_tritonus_lowlevel_alsa_alsaseq.c

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 C
📖 第 1 页 / 共 3 页
字号:
	else	{		nReturn = snd_seq_get_port_info(seq, nPort, portInfo);	}	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_get_[any]_port_info() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getPortInfo(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    getNextPort * Signature: (II[I)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_getNextPort(JNIEnv* env, jobject obj, jint nClient, jint nPort, jintArray anValues){	snd_seq_t*		seq;	snd_seq_port_info_t*	portInfo;	int			nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getNextPort(): begin\n"); }	seq = getHandle(env, obj);	snd_seq_port_info_alloca(&portInfo);	snd_seq_port_info_set_client(portInfo, nClient);	snd_seq_port_info_set_port(portInfo, nPort);	nReturn = snd_seq_query_next_port(seq, portInfo);	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getNextPort(): snd_seq_query_next_port() returns: %d\n", nReturn); }	if (nReturn < 0)	{		// -2 (no such file or directory): returned when no more port is available		if (nReturn != -2)		{			throwRuntimeException(env, "snd_seq_query_next_port() failed");		}	}	else	{		jint	pnValues[2];		checkArrayLength(env, anValues, 2);		pnValues[0] = snd_seq_port_info_get_client(portInfo);		pnValues[1] = snd_seq_port_info_get_port(portInfo);		(*env)->SetIntArrayRegion(env, anValues, 0, 2, pnValues);	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getNextPort(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    createPort * Signature: (Ljava/lang/String;IIIIII)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_createPort(JNIEnv* env, jobject obj, jstring strName, jint nCapabilities, jint nGroupPermissions, jint nType, jint nMidiChannels, jint nMidiVoices, jint nSynthVoices){	snd_seq_t*		seq;	snd_seq_port_info_t*	portInfo;	const char*		name;	int			nReturn;	int			nPort;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_createPort(): begin\n");	}	snd_seq_port_info_alloca(&portInfo);	seq = getHandle(env, obj);	// TODO: check if another action is required instead	// memset(&portInfo, 0, sizeof(portInfo));	name = (*env)->GetStringUTFChars(env, strName, NULL);	if (name == NULL)	{		throwRuntimeException(env, "GetStringUTFChars() failed");	}	snd_seq_port_info_set_name(portInfo, name);	(*env)->ReleaseStringUTFChars(env, strName, name);	snd_seq_port_info_set_capability(portInfo, nCapabilities);	snd_seq_port_info_set_port(portInfo, nGroupPermissions);	snd_seq_port_info_set_type(portInfo, nType);	snd_seq_port_info_set_midi_channels(portInfo, nMidiChannels);	snd_seq_port_info_set_midi_voices(portInfo, nMidiVoices);	snd_seq_port_info_set_synth_voices(portInfo, nSynthVoices);	//portInfo.write_use = 1;	// R/O attrs?	//portInfo.read_use = 1;	// errno = 0;	nReturn = snd_seq_create_port(seq, portInfo);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_create_port() failed");	}	nPort = snd_seq_port_info_get_port(portInfo);	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_createPort(): end\n"); }	return (jint) nPort;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    allocQueue * Signature: ()I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_allocQueue(JNIEnv* env, jobject obj){	snd_seq_t*	seq;	int		nQueue;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_allocQueue(): begin\n"); }	seq = getHandle(env, obj);	nQueue = snd_seq_alloc_queue(seq);	if (nQueue < 0)	{		throwRuntimeException(env, "snd_seq_alloc_queue() failed");	}// 	snd_seq_queue_timer_t*	timer;// 	const snd_timer_id_t*	id;// 	snd_seq_queue_timer_alloca(&timer);// 	snd_seq_get_queue_timer(seq, nQueue, timer);// 	id = snd_seq_queue_timer_get_id(timer);// 	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_allocQueue(): timer resolution: %d\n", snd_seq_queue_timer_get_resolution(timer)); }	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_allocQueue(): end\n"); }	return (jint) nQueue;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    freeQueue * Signature: (I)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_freeQueue(JNIEnv* env, jobject obj, jint nQueue){	snd_seq_t*	seq;	int		nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_freeQueue(): begin\n"); }	seq = getHandle(env, obj);	nReturn = snd_seq_free_queue(seq, nQueue);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_free_queue() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_freeQueue(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    getQueueUsage * Signature: (I)Z */JNIEXPORT jboolean JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueUsage(JNIEnv* env, jobject obj, jint nQueue){	snd_seq_t*	seq;	int		nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueUsage(): begin\n"); }	seq = getHandle(env, obj);	nReturn = snd_seq_get_queue_usage(seq, nQueue);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_get_queue_usage() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueUsage(): end\n"); }	return (jboolean) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    setQueueUsage * Signature: (IZ)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueUsage(JNIEnv* env, jobject obj, jint nQueue, jboolean bUsageAllowed){	snd_seq_t*	seq;	int		nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueUsage(): begin\n"); }	seq = getHandle(env, obj);	nReturn = snd_seq_set_queue_usage(seq, nQueue, bUsageAllowed);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_set_queue_usage() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueUsage(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    getQueueInfo * Signature: (ILorg/tritonus/lowlevel/alsa/AlsaSeq$QueueInfo;)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueInfo(JNIEnv* env, jobject obj, jint nQueue, jobject queueInfoObj){	snd_seq_t*		seq;	snd_seq_queue_info_t*	queueInfo;	int			nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueInfo(): begin\n"); }	seq = getHandle(env, obj);	queueInfo = getQueueInfoNativeHandle(env, queueInfoObj);	nReturn = snd_seq_get_queue_info(seq, nQueue, queueInfo);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_get_queue_info() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueInfo(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    setQueueInfo * Signature: (ILorg/tritonus/lowlevel/alsa/AlsaSeq$QueueInfo;)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueInfo(JNIEnv* env, jobject obj, jint nQueue, jobject queueInfoObj){	snd_seq_t*		seq;	snd_seq_queue_info_t*	queueInfo;	int			nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueInfo(): begin\n"); }	seq = getHandle(env, obj);	queueInfo = getQueueInfoNativeHandle(env, queueInfoObj);	nReturn = snd_seq_set_queue_info(seq, nQueue, queueInfo);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_set_queue_info() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueInfo(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    getQueueStatus * Signature: (ILorg/tritonus/lowlevel/alsa/AlsaSeq$QueueStatus;)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueStatus(JNIEnv* env, jobject obj, jint nQueue, jobject queueStatusObj){	snd_seq_t*		seq;	snd_seq_queue_status_t*	queueStatus;	int			nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueStatus(): begin\n"); }	seq = getHandle(env, obj);	queueStatus = getQueueStatusNativeHandle(env, queueStatusObj);	nReturn = snd_seq_get_queue_status(seq, nQueue, queueStatus);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_get_queue_status() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueStatus(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    getQueueTempo * Signature: (ILorg/tritonus/lowlevel/alsa/AlsaSeq$QueueTempo;)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueTempo(JNIEnv* env, jobject obj, jint nQueue, jobject queueTempoObj){	snd_seq_t*		seq;	snd_seq_queue_tempo_t*	pQueueTempo;	int			nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueTempo(): begin\n"); }	seq = getHandle(env, obj);	pQueueTempo = getQueueTempoNativeHandle(env, queueTempoObj);	nReturn = snd_seq_get_queue_tempo(seq, nQueue, pQueueTempo);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_get_queue_tempo() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueTempo(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    setQueueTempo * Signature: (ILorg/tritonus/lowlevel/alsa/AlsaSeq$QueueTempo;)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueTempo(JNIEnv* env, jobject obj, jint nQueue, jobject queueTempoObj){	snd_seq_t*		seq;	snd_seq_queue_tempo_t*	pQueueTempo;	int			nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueTempo(): begin\n"); }	seq = getHandle(env, obj);	pQueueTempo = getQueueTempoNativeHandle(env, queueTempoObj);	//fprintf(debug_file, "pQueueTempo: %p\n", pQueueTempo); fflush(debug_file);	nReturn = snd_seq_set_queue_tempo(seq, nQueue, pQueueTempo);	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueTempo(): snd_seq_set_queue_tempo() returns %d\n", nReturn); }	if (nReturn < 0)	{		//throwRuntimeException(env, "snd_seq_set_queue_tempo() failed");		throwRuntimeException(env, snd_strerror(nReturn));	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueTempo(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    getQueueTimer * Signature: (ILorg/tritonus/lowlevel/alsa/AlsaSeq$QueueTimer;)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueTimer(JNIEnv* env, jobject obj, jint nQueue, jobject queueTimerObj UNUSED){	snd_seq_t*		seq;	snd_seq_queue_timer_t*	pQueueTimer;	int			nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueTimer(): begin\n"); }	seq = getHandle(env, obj);	// TODO: implement timer API, then re-enable	pQueueTimer = NULL;	// getQueueTimerNativeHandle(env, queueTimerObj);	nReturn = snd_seq_get_queue_timer(seq, nQueue, pQueueTimer);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_get_queue_timer() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getQueueTimer(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    setQueueTimer * Signature: (ILorg/tritonus/lowlevel/alsa/AlsaSeq$QueueTimer;)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueTimer(JNIEnv* env, jobject obj, jint nQueue, jobject queueTimerObj UNUSED){	snd_seq_t*		seq;	snd_seq_queue_timer_t*	pQueueTimer;	int			nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueTimer(): begin\n"); }	seq = getHandle(env, obj);	// TODO:	pQueueTimer = NULL;	// getQueueTimerNativeHandle(env, queueTimerObj);	nReturn = snd_seq_set_queue_timer(seq, nQueue, pQueueTimer);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_set_queue_timer() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_setQueueTimer(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    getPortSubscription * Signature: (Lorg/tritonus/lowlevel/alsa/AlsaSeq$PortSubscribe;)I */JNIEXPORT jint JNICALLJava_org_tritonus_lowlevel_alsa_AlsaSeq_getPortSubscription(JNIEnv* env, jobject obj, jobject portSubscribeObj){	snd_seq_t*			seq;	snd_seq_port_subscribe_t*	pPortSubscribe;	int				nReturn;	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getPortSubscription(): begin\n"); }	seq = getHandle(env, obj);	pPortSubscribe = getPortSubscribeNativeHandle(env, portSubscribeObj);	nReturn = snd_seq_get_port_subscription(seq, pPortSubscribe);	if (nReturn < 0)	{		throwRuntimeException(env, "snd_seq_get_port_subscription() failed");	}	if (debug_flag) { (void) fprintf(debug_file, "Java_org_tritonus_lowlevel_alsa_AlsaSeq_getPortSubscription(): end\n"); }	return (jint) nReturn;}/* * Class:     org_tritonus_lowlevel_alsa_AlsaSeq * Method:    subscribePort * Signature: (Lorg/tritonus/lowlevel/alsa/AlsaSeq$PortSubscribe;)I */JNIEXPORT jint JNICALL

⌨️ 快捷键说明

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