Drumsynth: make rendering use the mixer samplerate instead of hard coded 44100.

This commit is contained in:
Raine M. Ekman
2014-03-04 22:00:02 +02:00
parent 16a3248aa1
commit fed2c6b4ac
3 changed files with 5 additions and 4 deletions

View File

@@ -28,11 +28,12 @@
#define _DRUMSYNTH_H__
#include <stdint.h>
#include "lmms_basics.h"
class DrumSynth {
public:
DrumSynth() {};
int GetDSFileSamples(const char *dsfile, int16_t *&wave, int channels);
int GetDSFileSamples(const char *dsfile, int16_t *&wave, int channels, sample_rate_t Fs);
private:
float LoudestEnv(void);

View File

@@ -593,7 +593,7 @@ f_cnt_t SampleBuffer::decodeSampleDS( const char * _f,
sample_rate_t & _samplerate )
{
DrumSynth ds;
f_cnt_t frames = ds.GetDSFileSamples( _f, _buf, _channels );
f_cnt_t frames = ds.GetDSFileSamples( _f, _buf, _channels, _samplerate );
if ( frames > 0 && _buf != NULL )
{

View File

@@ -46,7 +46,7 @@ using namespace std;
#define DWORD __u32
#define WAVE_FORMAT_PCM 0x0001
const int Fs = 44100;
// const int Fs = 44100;
const float TwoPi = 6.2831853f;
const int MAX = 0;
const int ENV = 1;
@@ -255,7 +255,7 @@ float DrumSynth::GetPrivateProfileFloat(const char *sec, const char *key, float
// an associative array or something once we have a datastructure to load in to.
// llama
int DrumSynth::GetDSFileSamples(const char *dsfile, int16_t *&wave, int channels)
int DrumSynth::GetDSFileSamples(const char *dsfile, int16_t *&wave, int channels, sample_rate_t Fs)
{
//input file
char sec[32];