/* * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code 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 General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions.
*/
#ifndef PORTS_INCLUDED #define PORTS_INCLUDED
#include"SoundDefs.h" // for memset #include <string.h> #include"Configure.h"// put flags for debug msgs etc. here #include"Utilities.h" #include <com_sun_media_sound_PortMixer.h>
/* *********************** PORT TYPES (for all platforms) ******************************* */
/* controlID: unique ID for this control * type: string that is used to construct the BooleanControl.Type, or CONTROL_TYPE_MUTE * creator: pointer to the creator struct provided by PORT_GetControls * returns an opaque pointer to the created control
*/ typedefvoid* (*PORT_NewBooleanControlPtr)(void* creator, void* controlID, char* type);
/* type: string that is used to construct the CompoundControl.Type * controls: an array of opaque controls returned by the CreateXXXControlPtr functions * controlCount: number of elements in controls * creator: pointer to the creator struct provided by PORT_GetControls * returns an opaque pointer to the created control
*/ typedefvoid* (*PORT_NewCompoundControlPtr)(void* creator, char* type, void** controls, int controlCount);
/* controlID: unique ID for this control * type: string that is used to construct the FloatControl.Type, or one of * CONTROL_TYPE_BALANCE, CONTROL_TYPE_MASTER_GAIN, CONTROL_TYPE_PAN, CONTROL_TYPE_VOLUME * creator: pointer to the creator struct provided by PORT_GetControls * returns an opaque pointer to the created control
*/ typedefvoid* (*PORT_NewFloatControlPtr)(void* creator, void* controlID, char* type, float min, float max, float precision, constchar* units);
/* control: The control to add to current port * creator: pointer to the creator struct provided by PORT_GetControls * returns TRUE or FALSE
*/ typedefint (*PORT_AddControlPtr)(void* creator, void* control);
// struct for dynamically instantiating the controls from platform dependent code // without creating a dependency from the platform code to JNI
// the following methods need to be implemented by the platform dependent code
INT32 PORT_GetPortMixerCount();
INT32 PORT_GetPortMixerDescription(INT32 mixerIndex, PortMixerDescription* description); void* PORT_Open(INT32 mixerIndex); void PORT_Close(void* id);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.