mirror of
https://github.com/ZDoom/fluidsynth.git
synced 2024-12-03 09:32:02 +00:00
commit
a0ec2c5932
23 changed files with 43 additions and 43 deletions
2
.github/workflows/sonarcloud.yml
vendored
2
.github/workflows/sonarcloud.yml
vendored
|
@ -85,7 +85,7 @@ jobs:
|
|||
ls -la ${{ github.workspace }}/build
|
||||
ls -la ${{ github.workspace }}/build/coverage
|
||||
|
||||
# The offical sonarsource/sonarcloud-github-action@v1.5 action does not work properly.
|
||||
# The official sonarsource/sonarcloud-github-action@v1.5 action does not work properly.
|
||||
# It keeps complaining that the build-wrapper.json cannot be found.
|
||||
# Hence, use a third party action to download and add sonar-scanner to PATH and then run it manually.
|
||||
- name: Setup sonarqube
|
||||
|
|
|
@ -283,7 +283,7 @@ if ( WIN32 )
|
|||
set ( windows-version "0x0400" )
|
||||
endif()
|
||||
endif ()
|
||||
message ( STATUS "Targetting Windows Version ${windows-version}" )
|
||||
message ( STATUS "Targeting Windows Version ${windows-version}" )
|
||||
add_definitions ( -D _WIN32_WINNT=${windows-version} )
|
||||
add_definitions ( -D WINVER=${windows-version} )
|
||||
list ( APPEND CMAKE_REQUIRED_DEFINITIONS "-DWINVER=${windows-version}" )
|
||||
|
|
|
@ -14,7 +14,7 @@ body
|
|||
}
|
||||
|
||||
|
||||
/* Reduce width of main content for more readibility */
|
||||
/* Reduce width of main content for more readability */
|
||||
div.contents,
|
||||
div.header
|
||||
{
|
||||
|
|
|
@ -21,7 +21,7 @@ int main()
|
|||
// array of buffers used to setup channel mapping
|
||||
float *dry[1 * 2], *fx[1 * 2];
|
||||
|
||||
// first make sure to zero out the sample buffers everytime before calling fluid_synth_process()
|
||||
// first make sure to zero out the sample buffers every time before calling fluid_synth_process()
|
||||
memset(left, 0, sizeof(left));
|
||||
memset(right, 0, sizeof(right));
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ The API contains the functions to query the type, the current value, the
|
|||
default value, the range and the "hints" of a setting. The range is the minimum
|
||||
and maximum value of the setting. The hints gives additional information about
|
||||
a setting. For example, whether a string represents a filename. Or whether a
|
||||
number should be interpreted on on a logarithmic scale. Check the settings.h
|
||||
number should be interpreted on a logarithmic scale. Check the settings.h
|
||||
API documentation for a description of all functions.
|
||||
|
||||
*/
|
||||
|
|
|
@ -74,9 +74,9 @@ extern "C" {
|
|||
* For further details please refer to fluid_synth_process().
|
||||
*
|
||||
* @parblock
|
||||
* @note Whereas fluid_synth_process() allows aliasing buffers, there is the guarentee that @p out
|
||||
* @note Whereas fluid_synth_process() allows aliasing buffers, there is the guarantee that @p out
|
||||
* and @p fx buffers provided by fluidsynth's audio drivers never alias. This prevents downstream
|
||||
* applications from e.g. applying a custom effect accidentially to the same buffer multiple times.
|
||||
* applications from e.g. applying a custom effect accidentally to the same buffer multiple times.
|
||||
* @endparblock
|
||||
*
|
||||
* @parblock
|
||||
|
|
|
@ -145,7 +145,7 @@ FLUIDSYNTH_API int fluid_midi_event_get_lyrics(fluid_midi_event_t *evt,
|
|||
* @defgroup midi_router MIDI Router
|
||||
* @ingroup midi_input
|
||||
*
|
||||
* Rule based tranformation and filtering of MIDI events.
|
||||
* Rule based transformation and filtering of MIDI events.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
|
|
@ -1137,7 +1137,7 @@ fluid_handle_reverbpreset(void *data, int ac, char **av, fluid_ostream_t out)
|
|||
/*
|
||||
The function is useful for reverb and chorus commands which have
|
||||
1 or 2 parameters.
|
||||
The function checks that there is 1 or 2 aguments.
|
||||
The function checks that there is 1 or 2 arguments.
|
||||
When there is 2 parameters it checks the first argument that must be
|
||||
an fx group index in the range[0..synth->effects_groups-1].
|
||||
|
||||
|
@ -1159,7 +1159,7 @@ static int check_fx_group_idx(int ac, char **av, fluid_ostream_t out,
|
|||
return -2;
|
||||
}
|
||||
|
||||
/* check optionnal first argument which is a fx group index */
|
||||
/* check optional first argument which is a fx group index */
|
||||
fx_group = -1;
|
||||
|
||||
if(ac > 1)
|
||||
|
|
|
@ -73,7 +73,7 @@ static const IID _IID_IAudioRenderClient =
|
|||
*
|
||||
* Current limitations:
|
||||
* - Only one stereo audio output.
|
||||
* - If audio.sample-format is "16bits", a convertion from float
|
||||
* - If audio.sample-format is "16bits", a conversion from float
|
||||
* without dithering is used.
|
||||
*
|
||||
* Available settings:
|
||||
|
|
|
@ -344,7 +344,7 @@ new_fluid_waveout_audio_driver2(fluid_settings_t *settings, fluid_audio_func_t f
|
|||
}
|
||||
|
||||
/* allocate the internal waveout buffers:
|
||||
The length of a single buffer in bytes is dependant of period_size.
|
||||
The length of a single buffer in bytes is dependent of period_size.
|
||||
*/
|
||||
lenBuffer = wfx.Format.nBlockAlign * period_size;
|
||||
/* create and clear the driver data */
|
||||
|
@ -394,7 +394,7 @@ new_fluid_waveout_audio_driver2(fluid_settings_t *settings, fluid_audio_func_t f
|
|||
FLUID_MEMSET(dev->drybuf, 0, sizeof(float*) * audio_channels * 2);
|
||||
for(i = 0; i < audio_channels * 2; ++i)
|
||||
{
|
||||
/* The length of a single buffer drybuf[i] is dependant of period_size */
|
||||
/* The length of a single buffer drybuf[i] is dependent of period_size */
|
||||
dev->drybuf[i] = FLUID_ARRAY(float, period_size);
|
||||
if(dev->drybuf[i] == NULL)
|
||||
{
|
||||
|
|
|
@ -29,11 +29,11 @@
|
|||
* pointers to a queue and re-add them in a separate thread. Lame-o API! :(
|
||||
*
|
||||
* Multiple/single devices handling capabilities:
|
||||
* This driver is able to handle multiple devices chosen by the user trough
|
||||
* This driver is able to handle multiple devices chosen by the user through
|
||||
* the settings midi.winmidi.device.
|
||||
* For example, let the following device names:
|
||||
* 0:Port MIDI SB Live! [CE00], 1:SB PCI External MIDI, default, x[;y;z;..]
|
||||
* Then the driver is able receive MIDI messages comming from distinct devices
|
||||
* Then the driver is able receive MIDI messages coming from distinct devices
|
||||
* and forward these messages on distinct MIDI channels set.
|
||||
* 1.1)For example, if the user chooses 2 devices at index 0 and 1, the user
|
||||
* must specify this by putting the name "0;1" in midi.winmidi.device setting.
|
||||
|
@ -95,8 +95,8 @@ struct fluid_winmidi_driver
|
|||
HANDLE hThread;
|
||||
DWORD dwThread;
|
||||
|
||||
/* devices informations table */
|
||||
int dev_count; /* device informations count in dev_infos[] table */
|
||||
/* devices information table */
|
||||
int dev_count; /* device information count in dev_infos[] table */
|
||||
device_infos_t dev_infos[1];
|
||||
};
|
||||
|
||||
|
@ -205,7 +205,7 @@ fluid_winmidi_callback(HMIDIIN hmi, UINT wMsg, DWORD_PTR dwInstance,
|
|||
* build a device name prefixed by its index. The format of the returned
|
||||
* name is: dev_idx:dev_name
|
||||
* The name returned is convenient for midi.winmidi.device setting.
|
||||
* It allows the user to identify a device index through its name or vise
|
||||
* It allows the user to identify a device index through its name or vice
|
||||
* versa. This allows the user to specify a multi device name using a list of
|
||||
* devices index (see fluid_winmidi_midi_driver_settings()).
|
||||
*
|
||||
|
@ -350,7 +350,7 @@ fluid_winmidi_parse_device_name(fluid_winmidi_driver_t *dev, char *dev_name)
|
|||
|
||||
/* look for a multi device naming */
|
||||
/* multi devices name "x;[y;..]". parse devices index: x;y;..
|
||||
Each ascii index are separated by a semicolon caracter.
|
||||
Each ascii index are separated by a semicolon character.
|
||||
*/
|
||||
FLUID_STRCPY(cpy_dev_name, dev_name); /* fluid_strtok() will overwrite */
|
||||
next_idx = cpy_dev_name;
|
||||
|
@ -496,7 +496,7 @@ new_fluid_winmidi_driver(fluid_settings_t *settings,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/* allocation of driver structure size dependant of max_devices */
|
||||
/* allocation of driver structure size dependent of max_devices */
|
||||
i = sizeof(fluid_winmidi_driver_t) + (max_devices - 1) * sizeof(device_infos_t);
|
||||
dev = FLUID_MALLOC(i);
|
||||
|
||||
|
|
|
@ -2285,7 +2285,7 @@ int fluid_player_set_loop(fluid_player_t *player, int loop)
|
|||
}
|
||||
|
||||
/**
|
||||
* update the MIDI player internal deltatime dependant of actual tempo.
|
||||
* update the MIDI player internal deltatime dependent of actual tempo.
|
||||
* @param player MIDI player instance
|
||||
*/
|
||||
static void fluid_player_update_tempo(fluid_player_t *player)
|
||||
|
|
|
@ -200,7 +200,7 @@ enum midi_sysex_tuning_msg_id
|
|||
MIDI_SYSEX_TUNING_BULK_DUMP = 0x01, /**< Bulk tuning dump response (non-realtime) */
|
||||
MIDI_SYSEX_TUNING_NOTE_TUNE = 0x02, /**< Tuning note change message (realtime) */
|
||||
MIDI_SYSEX_TUNING_BULK_DUMP_REQ_BANK = 0x03, /**< Bulk tuning dump request (with bank, non-realtime) */
|
||||
MIDI_SYSEX_TUNING_BULK_DUMP_BANK = 0x04, /**< Bulk tuning dump resonse (with bank, non-realtime) */
|
||||
MIDI_SYSEX_TUNING_BULK_DUMP_BANK = 0x04, /**< Bulk tuning dump response (with bank, non-realtime) */
|
||||
MIDI_SYSEX_TUNING_OCTAVE_DUMP_1BYTE = 0x05, /**< Octave tuning dump using 1 byte values (non-realtime) */
|
||||
MIDI_SYSEX_TUNING_OCTAVE_DUMP_2BYTE = 0x06, /**< Octave tuning dump using 2 byte values (non-realtime) */
|
||||
MIDI_SYSEX_TUNING_NOTE_TUNE_BANK = 0x07, /**< Tuning note change message (with bank, realtime/non-realtime) */
|
||||
|
@ -310,7 +310,7 @@ struct _fluid_player_t
|
|||
0, the player is driven by external tempo (exttempo)
|
||||
*/
|
||||
int sync_mode;
|
||||
/* miditempo: internal tempo comming from MIDI file tempo change events
|
||||
/* miditempo: internal tempo coming from MIDI file tempo change events
|
||||
(in micro seconds per quarter note)
|
||||
*/
|
||||
int miditempo; /* as indicated by MIDI SetTempo: n 24th of a usec per midi-clock. bravo! */
|
||||
|
|
|
@ -560,7 +560,7 @@ fluid_sequencer_get_tick(fluid_sequencer_t *seq)
|
|||
* the events are adjusted accordingly.
|
||||
*
|
||||
* @note May only be called from a sequencer callback or initially when no event dispatching happens.
|
||||
* Otherwise it will mess up your event timing, because you have zero contol over which events are
|
||||
* Otherwise it will mess up your event timing, because you have zero control over which events are
|
||||
* affected by the scale change.
|
||||
*/
|
||||
void
|
||||
|
@ -624,7 +624,7 @@ fluid_sequencer_process(fluid_sequencer_t *seq, unsigned int msec)
|
|||
|
||||
/**
|
||||
* @internal
|
||||
* only used privately by fluid_seqbind and only from sequencer callback, thus lock aquire is not needed.
|
||||
* only used privately by fluid_seqbind and only from sequencer callback, thus lock acquire is not needed.
|
||||
*/
|
||||
void fluid_sequencer_invalidate_note(fluid_sequencer_t *seq, fluid_seq_id_t dest, fluid_note_id_t id)
|
||||
{
|
||||
|
|
|
@ -84,7 +84,7 @@ static bool event_compare(const fluid_event_t& left, const fluid_event_t& right)
|
|||
// | NOTEON | 0 | 0 | 0 | 0 | 1 | 0 |
|
||||
// | X | 0 | 0 | 0 | 0 | 1 | 1 |
|
||||
//
|
||||
// The values in the diagonal (i.e. comparision with itself) must be true to make them become false after leaving this
|
||||
// The values in the diagonal (i.e. comparison with itself) must be true to make them become false after leaving this
|
||||
// function in order to satisfy the irreflexive requirement, i.e. assert(!(a < a))
|
||||
|
||||
leftIsBeforeRight =
|
||||
|
|
|
@ -110,8 +110,8 @@
|
|||
|
||||
/* SCALE_WET_WIDTH is a compensation weight factor to get an output
|
||||
amplitude (wet) rather independent of the width setting.
|
||||
0: the output amplitude is fully dependant on the width setting.
|
||||
>0: the output amplitude is less dependant on the width setting.
|
||||
0: the output amplitude is fully dependent on the width setting.
|
||||
>0: the output amplitude is less dependent on the width setting.
|
||||
With a SCALE_WET_WIDTH of 0.2 the output amplitude is rather
|
||||
independent of width setting (see fluid_chorus_set()).
|
||||
*/
|
||||
|
@ -134,7 +134,7 @@
|
|||
/* and max lfo speed (5 Hz) */
|
||||
#define RANGE_MOD_RATE (HIGH_MOD_RATE - LOW_MOD_RATE)
|
||||
|
||||
/* some chorus cpu_load measurement dependant of modulation rate: mod_rate
|
||||
/* some chorus cpu_load measurement dependent of modulation rate: mod_rate
|
||||
(number of chorus blocks: 2)
|
||||
|
||||
No stero unit:
|
||||
|
@ -560,7 +560,7 @@ static void update_parameters_from_sample_rate(fluid_chorus_t *chorus)
|
|||
Modulated delay line initialization.
|
||||
|
||||
Sets the length line ( alloc delay samples).
|
||||
Remark: the function sets the internal size accordling to the length delay_length.
|
||||
Remark: the function sets the internal size according to the length delay_length.
|
||||
The size is augmented by INTERP_SAMPLES_NBR to take account of interpolation.
|
||||
|
||||
@param chorus, pointer on chorus unit.
|
||||
|
@ -783,7 +783,7 @@ fluid_chorus_set(fluid_chorus_t *chorus, int set, int nr, fluid_real_t level,
|
|||
chorus->level = 0.1;
|
||||
}
|
||||
|
||||
/* update parameters dependant of sample rate */
|
||||
/* update parameters dependent of sample rate */
|
||||
update_parameters_from_sample_rate(chorus);
|
||||
|
||||
#ifdef DEBUG_PRINT
|
||||
|
@ -915,7 +915,7 @@ fluid_chorus_samplerate_change(fluid_chorus_t *chorus, fluid_real_t sample_rate)
|
|||
{
|
||||
chorus->sample_rate = sample_rate;
|
||||
|
||||
/* update parameters dependant of sample rate */
|
||||
/* update parameters dependent of sample rate */
|
||||
update_parameters_from_sample_rate(chorus);
|
||||
}
|
||||
|
||||
|
|
|
@ -210,8 +210,8 @@
|
|||
-----------------------------------------------------------------------------*/
|
||||
/* SCALE_WET_WIDTH is a compensation weight factor to get an output
|
||||
amplitude (wet) rather independent of the width setting.
|
||||
0: the output amplitude is fully dependant on the width setting.
|
||||
>0: the output amplitude is less dependant on the width setting.
|
||||
0: the output amplitude is fully dependent on the width setting.
|
||||
>0: the output amplitude is less dependent on the width setting.
|
||||
With a SCALE_WET_WIDTH of 0.2 the output amplitude is rather
|
||||
independent of width setting (see fluid_revmodel_update()).
|
||||
*/
|
||||
|
@ -363,7 +363,7 @@ static void set_fdn_delay_lpf(fdn_delay_lpf *lpf,
|
|||
/*-----------------------------------------------------------------------------
|
||||
Delay line :
|
||||
The delay line is composed of the line plus an absorbent low pass filter
|
||||
to get frequency dependant reverb time.
|
||||
to get frequency dependent reverb time.
|
||||
-----------------------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
|
@ -928,7 +928,7 @@ static void initialize_mod_delay_lines(fluid_late *late, fluid_real_t sample_rat
|
|||
int i;
|
||||
fluid_real_t mod_depth, length_factor;
|
||||
|
||||
/* update delay line parameter dependant of sample rate */
|
||||
/* update delay line parameter dependent of sample rate */
|
||||
late->samplerate = sample_rate;
|
||||
|
||||
/* compute mod_depth, length factor */
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
Each MIDI channel have a legato detector.
|
||||
|
||||
Note:
|
||||
Portamento is a feature independant of the legato detector. So
|
||||
Portamento is a feature independent of the legato detector. So
|
||||
portamento isn't part of the lagato detector. However portamento
|
||||
(when enabled) is triggered at noteOn (like legato). Like in legato
|
||||
situation it is usual to have a portamento from a note 'fromkey' to another
|
||||
|
|
|
@ -475,7 +475,7 @@ fluid_voice_calculate_gain_amplitude(const fluid_voice_t *voice, fluid_real_t ga
|
|||
}
|
||||
|
||||
/* Useful to return the nominal pitch of a key */
|
||||
/* The nominal pitch is dependant of voice->root_pitch,tuning, and
|
||||
/* The nominal pitch is dependent of voice->root_pitch,tuning, and
|
||||
GEN_SCALETUNE generator.
|
||||
This is useful to set the value of GEN_PITCH generator on noteOn.
|
||||
This is useful to get the beginning/ending pitch for portamento.
|
||||
|
|
|
@ -1210,7 +1210,7 @@ fluid_settings_str_equal(fluid_settings_t *settings, const char *name, const cha
|
|||
* @param settings a settings object
|
||||
* @param name a setting's name
|
||||
* @param def the default string value of the setting if it exists
|
||||
* @return FLUID_OK if a default vaule exists, FLUID_FAILED otherwise
|
||||
* @return FLUID_OK if a default value exists, FLUID_FAILED otherwise
|
||||
*
|
||||
* @note The returned string is not owned by the caller and should not be modified or freed.
|
||||
*/
|
||||
|
|
|
@ -1760,7 +1760,7 @@ fluid_long_long_t fluid_file_tell(FILE* f)
|
|||
#ifdef WIN32
|
||||
// On Windows, long is only a 32 bit integer. Thus ftell() does not support to handle files >2GiB.
|
||||
// We should use _ftelli64() in this case, however its availability depends on MS CRT and might not be
|
||||
// availble on WindowsXP, Win98, etc.
|
||||
// available on WindowsXP, Win98, etc.
|
||||
//
|
||||
// The web recommends to fallback to _telli64() in this case. However, it's return value differs from
|
||||
// _ftelli64() on Win10: https://github.com/FluidSynth/fluidsynth/pull/629#issuecomment-602238436
|
||||
|
|
|
@ -29,14 +29,14 @@ int main(void)
|
|||
TEST_ASSERT(count_loaded_samples(synth, id) == 123);
|
||||
TEST_ASSERT(fluid_samplecache_count_entries() == 1);
|
||||
|
||||
/* Attempt to pin and unpin an exising preset should succeed (but have no effect) */
|
||||
/* Attempt to pin and unpin an existing preset should succeed (but have no effect) */
|
||||
TEST_ASSERT(fluid_synth_pin_preset(synth, id, 0, 42) == FLUID_OK);
|
||||
TEST_ASSERT(count_loaded_samples(synth, id) == 123);
|
||||
|
||||
TEST_ASSERT(fluid_synth_unpin_preset(synth, id, 0, 42) == FLUID_OK);
|
||||
TEST_ASSERT(count_loaded_samples(synth, id) == 123);
|
||||
|
||||
/* Attempt to pin and unpin a non-existant preset should fail */
|
||||
/* Attempt to pin and unpin a non-existent preset should fail */
|
||||
TEST_ASSERT(fluid_synth_pin_preset(synth, id, 42, 42) == FLUID_FAILED);
|
||||
TEST_ASSERT(count_loaded_samples(synth, id) == 123);
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ void callback_stable_sort(unsigned int time, fluid_event_t *event, fluid_sequenc
|
|||
{
|
||||
static const int expected_type_order[] =
|
||||
{ FLUID_SEQ_NOTEOFF, FLUID_SEQ_NOTEON, FLUID_SEQ_SYSTEMRESET, FLUID_SEQ_UNREGISTERING
|
||||
/* technically, FLUID_SEQ_NOTEOFF and FLUID_SEQ_NOTEON are to follow, but we've already unregisted */ };
|
||||
/* technically, FLUID_SEQ_NOTEOFF and FLUID_SEQ_NOTEON are to follow, but we've already unregistered */ };
|
||||
|
||||
TEST_ASSERT(fluid_event_get_type(event) == expected_type_order[order++]);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue