Make MIDI playback work on the Simulator, with sound etc. The #define stuff is a bit
dirty but it works right now. Simulator sound quality is actually better due to increased CPU resources. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11987 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
dab59c9f70
commit
9cf76179ce
1 changed files with 22 additions and 9 deletions
|
@ -78,13 +78,26 @@ PLUGIN_IRAM_DECLARE
|
|||
|
||||
|
||||
#define FRACTSIZE 10
|
||||
#define SAMPLE_RATE 22050 // 44100 22050 11025
|
||||
#define MAX_VOICES 14 // Note: 24 midi channels is the minimum general midi
|
||||
|
||||
#ifndef SIMULATOR
|
||||
#define SAMPLE_RATE 22050 // 44100 22050 11025
|
||||
#define MAX_VOICES 14 // Note: 24 midi channels is the minimum general midi
|
||||
// spec implementation
|
||||
#else // Simulator requires 44100, and we can afford to use more voices
|
||||
#define SAMPLE_RATE 44100
|
||||
#define MAX_VOICES 48
|
||||
#endif
|
||||
|
||||
|
||||
#define BUF_SIZE 512
|
||||
#define NBUF 2
|
||||
|
||||
#undef SYNC
|
||||
|
||||
#ifdef SIMULATOR
|
||||
#define SYNC
|
||||
#endif
|
||||
|
||||
struct MIDIfile * mf IBSS_ATTR;
|
||||
|
||||
int numberOfSamples IBSS_ATTR;
|
||||
|
@ -133,10 +146,10 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
|
|||
rb->profstop();
|
||||
#endif
|
||||
|
||||
#ifndef SIMULATOR
|
||||
//#ifndef SIMULATOR
|
||||
rb->pcm_play_stop();
|
||||
rb->pcm_set_frequency(44100); // 44100
|
||||
#endif
|
||||
rb->pcm_set_frequency(SAMPLE_RATE); // 44100
|
||||
//#endif
|
||||
|
||||
#if defined(HAVE_ADJUSTABLE_CPU_FREQ)
|
||||
rb->cpu_boost(false);
|
||||
|
@ -221,10 +234,10 @@ int midimain(void * filename)
|
|||
if (initSynth(mf, "/.rockbox/patchset/patchset.cfg", "/.rockbox/patchset/drums.cfg") == -1)
|
||||
return -1;
|
||||
|
||||
#ifndef SIMULATOR
|
||||
//#ifndef SIMULATOR
|
||||
rb->pcm_play_stop();
|
||||
rb->pcm_set_frequency(SAMPLE_RATE); // 44100 22050 11025
|
||||
#endif
|
||||
//#endif
|
||||
|
||||
/*
|
||||
* tick() will do one MIDI clock tick. Then, there's a loop here that
|
||||
|
@ -255,9 +268,9 @@ int midimain(void * filename)
|
|||
} while(notesUsed == 0);
|
||||
|
||||
synthbuf();
|
||||
#ifndef SIMULATOR
|
||||
//#ifndef SIMULATOR
|
||||
rb->pcm_play_data(&get_more, NULL, 0);
|
||||
#endif
|
||||
//#endif
|
||||
|
||||
int vol=0;
|
||||
|
||||
|
|
Loading…
Reference in a new issue