2019-09-26 22:16:32 +00:00
/*
* * music_config . cpp
2019-09-29 20:01:19 +00:00
* * This forwards all CVAR changes to the music system .
2019-09-26 22:16:32 +00:00
* *
* * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* * Copyright 1999 - 2016 Randy Heit
* * Copyright 2005 - 2019 Christoph Oelckers
* * All rights reserved .
* *
* * Redistribution and use in source and binary forms , with or without
* * modification , are permitted provided that the following conditions
* * are met :
* *
* * 1. Redistributions of source code must retain the above copyright
* * notice , this list of conditions and the following disclaimer .
* * 2. Redistributions in binary form must reproduce the above copyright
* * notice , this list of conditions and the following disclaimer in the
* * documentation and / or other materials provided with the distribution .
* * 3. The name of the author may not be used to endorse or promote products
* * derived from this software without specific prior written permission .
* *
* * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ` ` AS IS ' ' AND ANY EXPRESS OR
* * IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE IMPLIED WARRANTIES
* * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED .
* * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT , INDIRECT ,
* * INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING , BUT
* * NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE ,
* * DATA , OR PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY
* * THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT
* * ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF
* * THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
* * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* *
*/
2019-09-29 20:01:19 +00:00
2019-09-30 00:31:12 +00:00
# include <stdint.h>
# include <mutex>
# include <string>
2019-09-29 20:01:19 +00:00
# include "c_cvars.h"
2019-09-29 23:34:16 +00:00
# include "s_music.h"
2019-09-29 18:01:57 +00:00
# include "zmusic/zmusic.h"
2019-09-26 22:16:32 +00:00
2019-09-27 20:19:00 +00:00
//==========================================================================
//
// ADL Midi device
//
//==========================================================================
2019-09-26 19:29:06 +00:00
2019-09-29 18:01:57 +00:00
# define FORWARD_CVAR(key) \
decltype ( * self ) newval ; \
2020-01-01 19:47:33 +00:00
auto ret = ChangeMusicSetting ( zmusic_ # # key , mus_playing . handle , * self , & newval ) ; \
2019-09-29 18:01:57 +00:00
self = ( decltype ( * self ) ) newval ; \
2019-10-14 22:23:03 +00:00
if ( ret ) S_MIDIDeviceChanged ( - 1 ) ;
2019-09-29 18:01:57 +00:00
# define FORWARD_BOOL_CVAR(key) \
int newval ; \
2020-01-01 19:47:33 +00:00
auto ret = ChangeMusicSetting ( zmusic_ # # key , mus_playing . handle , * self , & newval ) ; \
2019-09-29 18:01:57 +00:00
self = ! ! newval ; \
2019-10-14 22:23:03 +00:00
if ( ret ) S_MIDIDeviceChanged ( - 1 ) ;
2019-09-26 19:29:06 +00:00
2019-09-29 18:01:57 +00:00
# define FORWARD_STRING_CVAR(key) \
2020-01-01 19:47:33 +00:00
auto ret = ChangeMusicSetting ( zmusic_ # # key , mus_playing . handle , * self ) ; \
2019-10-14 22:23:03 +00:00
if ( ret ) S_MIDIDeviceChanged ( - 1 ) ;
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , adl_chips_count , 6 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 19:29:06 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( adl_chips_count ) ;
2019-09-26 19:29:06 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , adl_emulator_id , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 19:29:06 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( adl_emulator_id ) ;
2019-09-26 19:29:06 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , adl_run_at_pcm_rate , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 19:29:06 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_BOOL_CVAR ( adl_run_at_pcm_rate ) ;
2019-09-26 19:29:06 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , adl_fullpan , 1 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 19:29:06 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_BOOL_CVAR ( adl_fullpan ) ;
2019-09-26 19:29:06 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , adl_bank , 14 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 19:29:06 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( adl_bank ) ;
2019-09-26 19:29:06 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , adl_use_custom_bank , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 19:29:06 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_BOOL_CVAR ( adl_use_custom_bank ) ;
2019-09-26 23:51:05 +00:00
}
2019-09-26 22:16:32 +00:00
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( String , adl_custom_bank , " " , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:51:05 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_STRING_CVAR ( adl_custom_bank ) ;
2019-09-26 19:29:06 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , adl_volume_model , 3 /*ADLMIDI_VolumeModel_DMX*/ , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 19:29:06 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( adl_bank ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-27 20:19:00 +00:00
//==========================================================================
//
// Fluidsynth MIDI device
//
//==========================================================================
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( String , fluid_lib , " " , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_STRING_CVAR ( fluid_lib ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( String , fluid_patchset , " gzdoom " , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_STRING_CVAR ( fluid_patchset ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , fluid_gain , 0.5 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_gain ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , fluid_reverb , false , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_BOOL_CVAR ( fluid_reverb ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , fluid_chorus , false , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_BOOL_CVAR ( fluid_chorus ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , fluid_voices , 128 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_voices ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , fluid_interp , 1 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_interp ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , fluid_samplerate , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_samplerate ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , fluid_threads , 1 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_threads ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , fluid_reverb_roomsize , 0.61f , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_reverb_roomsize ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , fluid_reverb_damping , 0.23f , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_reverb_damping ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , fluid_reverb_width , 0.76f , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_reverb_width ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , fluid_reverb_level , 0.57f , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_reverb_level ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , fluid_chorus_voices , 3 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_chorus_voices ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , fluid_chorus_level , 1.2f , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_chorus_level ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , fluid_chorus_speed , 0.3f , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_chorus_speed ) ;
2019-09-26 22:16:32 +00:00
}
// depth is in ms and actual maximum depends on the sample rate
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , fluid_chorus_depth , 8 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_chorus_depth ) ;
2019-09-26 22:16:32 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , fluid_chorus_type , 0 /*FLUID_CHORUS_DEFAULT_TYPE*/ , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 22:16:32 +00:00
{
2019-09-29 18:01:57 +00:00
FORWARD_CVAR ( fluid_chorus_type ) ;
2019-09-26 19:29:06 +00:00
}
2019-09-26 20:30:07 +00:00
2019-09-26 23:01:52 +00:00
2019-09-27 20:19:00 +00:00
//==========================================================================
//
// OPL MIDI device
//
//==========================================================================
2019-09-26 23:01:52 +00:00
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , opl_numchips , 2 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:01:52 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( opl_numchips ) ;
2019-09-26 23:01:52 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , opl_core , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:01:52 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( opl_core ) ;
2019-09-26 23:01:52 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , opl_fullpan , true , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:01:52 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( opl_fullpan ) ;
2019-09-26 23:01:52 +00:00
}
2019-09-27 20:19:00 +00:00
//==========================================================================
//
// OPN MIDI device
//
//==========================================================================
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , opn_chips_count , 8 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:51:05 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( opn_chips_count ) ;
2019-09-26 23:51:05 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , opn_emulator_id , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:51:05 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( opn_emulator_id ) ;
2019-09-26 23:51:05 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , opn_run_at_pcm_rate , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:51:05 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( opn_run_at_pcm_rate ) ;
2019-09-26 23:51:05 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , opn_fullpan , 1 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:51:05 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( opn_fullpan ) ;
2019-09-26 23:51:05 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , opn_use_custom_bank , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:51:05 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( opn_use_custom_bank ) ;
2019-09-26 23:51:05 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( String , opn_custom_bank , " " , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:51:05 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_STRING_CVAR ( opn_custom_bank ) ;
2019-09-27 00:31:27 +00:00
}
2019-09-27 20:19:00 +00:00
//==========================================================================
//
// GUS MIDI device
//
//==========================================================================
2019-09-27 00:31:27 +00:00
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( String , midi_config , " gzdoom " , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 00:31:27 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_STRING_CVAR ( gus_config ) ;
2019-09-27 00:31:27 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , midi_dmxgus , false , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL ) // This was 'true' but since it requires special setup that's not such a good idea.
2019-09-27 00:31:27 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( gus_dmxgus ) ;
2019-09-27 00:31:27 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( String , gus_patchdir , " " , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 00:31:27 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_STRING_CVAR ( gus_patchdir ) ;
2019-09-27 00:31:27 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , midi_voices , 32 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 00:31:27 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( gus_midi_voices ) ;
2019-09-27 00:31:27 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , gus_memsize , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 00:31:27 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( gus_memsize ) ;
2019-09-27 00:31:27 +00:00
}
//==========================================================================
//
2019-09-29 20:01:19 +00:00
// Timidity++ device
2019-09-27 00:31:27 +00:00
//
//==========================================================================
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , timidity_modulation_wheel , true , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( timidity_modulation_wheel ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , timidity_portamento , true , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( timidity_portamento ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , timidity_reverb , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( timidity_reverb ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , timidity_reverb_level , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( timidity_reverb_level ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , timidity_chorus , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( timidity_chorus ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , timidity_surround_chorus , false , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( timidity_surround_chorus ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , timidity_channel_pressure , false , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( timidity_channel_pressure ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , timidity_lpf_def , true , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( timidity_lpf_def ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , timidity_temper_control , true , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( timidity_temper_control ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , timidity_modulation_envelope , true , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( timidity_modulation_envelope ) ;
2019-09-26 23:01:52 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , timidity_overlap_voice_allow , true , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-26 23:01:52 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( timidity_overlap_voice_allow ) ;
2019-09-26 23:01:52 +00:00
}
2019-09-27 20:19:00 +00:00
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , timidity_drum_effect , false , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( timidity_drum_effect ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Bool , timidity_pan_delay , false , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( timidity_pan_delay ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , timidity_drum_power , 1.0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL ) /* coef. of drum amplitude */
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( timidity_drum_power ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 20:01:19 +00:00
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Int , timidity_key_adjust , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( timidity_key_adjust ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 20:01:19 +00:00
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , timidity_tempo_adjust , 1 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( timidity_tempo_adjust ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , min_sustain_time , 5000 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( min_sustain_time ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( String , timidity_config , " gzdoom " , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 20:19:00 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_STRING_CVAR ( timidity_config ) ;
2019-09-27 20:19:00 +00:00
}
2019-09-27 22:10:39 +00:00
//==========================================================================
//
// WildMidi
//
//==========================================================================
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( String , wildmidi_config , " " , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 22:10:39 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_STRING_CVAR ( wildmidi_config ) ;
2019-09-27 22:10:39 +00:00
}
2019-09-29 20:01:19 +00:00
CUSTOM_CVAR ( Bool , wildmidi_reverb , false , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 22:10:39 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( wildmidi_reverb ) ;
2019-09-27 22:10:39 +00:00
}
2019-09-29 20:01:19 +00:00
CUSTOM_CVAR ( Bool , wildmidi_enhanced_resampling , true , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-27 22:10:39 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_BOOL_CVAR ( wildmidi_enhanced_resampling ) ;
2019-09-27 22:10:39 +00:00
}
2019-09-28 22:41:13 +00:00
//==========================================================================
//
2019-09-28 14:50:00 +00:00
// This one is for Win32 MMAPI.
2019-09-28 22:41:13 +00:00
//
//==========================================================================
2019-09-28 14:50:00 +00:00
2019-09-29 20:01:19 +00:00
CUSTOM_CVAR ( Bool , snd_midiprecache , false , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
{
FORWARD_BOOL_CVAR ( snd_midiprecache ) ;
}
2019-09-28 18:33:25 +00:00
2019-09-28 22:41:13 +00:00
//==========================================================================
//
2019-09-28 18:33:25 +00:00
// GME
2019-09-28 22:41:13 +00:00
//
//==========================================================================
2019-09-28 18:33:25 +00:00
2019-09-29 18:01:57 +00:00
CUSTOM_CVAR ( Float , gme_stereodepth , 0.f , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-28 18:33:25 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( gme_stereodepth ) ;
}
//==========================================================================
//
// sndfile
//
//==========================================================================
CUSTOM_CVAR ( Int , snd_streambuffersize , 64 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
{
FORWARD_CVAR ( snd_streambuffersize ) ;
2019-09-28 18:33:25 +00:00
}
2019-09-28 22:41:13 +00:00
//==========================================================================
//
// Dumb
//
//==========================================================================
2019-09-29 20:01:19 +00:00
CUSTOM_CVAR ( Int , mod_samplerate , 0 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-28 22:41:13 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( mod_samplerate ) ;
2019-09-28 22:41:13 +00:00
}
2019-09-29 20:01:19 +00:00
CUSTOM_CVAR ( Int , mod_volramp , 2 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
{
FORWARD_CVAR ( mod_volramp ) ;
}
2019-09-28 22:41:13 +00:00
2019-09-29 20:01:19 +00:00
CUSTOM_CVAR ( Int , mod_interp , 2 /*DUMB_LQ_CUBIC*/ , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-28 22:41:13 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( mod_interp ) ;
2019-09-28 22:41:13 +00:00
}
2019-09-29 11:06:40 +00:00
2019-09-29 20:01:19 +00:00
CUSTOM_CVAR ( Bool , mod_autochip , false , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
{
FORWARD_BOOL_CVAR ( mod_autochip ) ;
}
2019-09-29 11:06:40 +00:00
2019-09-29 20:01:19 +00:00
CUSTOM_CVAR ( Int , mod_autochip_size_force , 100 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
{
FORWARD_CVAR ( mod_autochip_size_force ) ;
}
CUSTOM_CVAR ( Int , mod_autochip_size_scan , 500 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
{
FORWARD_CVAR ( mod_autochip_size_scan ) ;
}
CUSTOM_CVAR ( Int , mod_autochip_scan_threshold , 12 , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
{
FORWARD_CVAR ( mod_autochip_scan_threshold ) ;
}
CUSTOM_CVAR ( Float , mod_dumb_mastervolume , 1.f , CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_VIRTUAL )
2019-09-29 11:06:40 +00:00
{
2019-09-29 20:01:19 +00:00
FORWARD_CVAR ( mod_dumb_mastervolume ) ;
2019-09-29 11:06:40 +00:00
}