const char *MusicDriver_LibTimidity::Start(const char * const *param) { _midi.status = MIDI_STOPPED; _midi.song = NULL; if (mid_init(param == NULL ? NULL : const_cast<char *>(param[0])) < 0) { /* If init fails, it can be because no configuration was found. * If it was not forced via param, try to load it without a * configuration. Who knows that works. */ if (param != NULL || mid_init_no_config() < 0) { return "error initializing timidity"; } } DEBUG(driver, 1, "successfully initialised timidity"); _midi.options.rate = 44100; _midi.options.format = MID_AUDIO_S16LSB; _midi.options.channels = 2; #if defined(PSP) _midi.options.buffer_size = PSP_NUM_AUDIO_SAMPLES; #else _midi.options.buffer_size = _midi.options.rate; #endif #if defined(PSP) pspAudioInit(); pspAudioSetChannelCallback(_midi.options.channels, &AudioOutCallback, NULL); pspAudioSetVolume(_midi.options.channels, PSP_VOLUME_MAX, PSP_VOLUME_MAX); #endif /* PSP */ return NULL; }
void init(void) { src_init(); dst_init(); mid_init(); }
void MidiPlugin::MidiPluginPrivate::init() { if (active++ > 0) return; if (initialized) { cleanupTimer->stop(); return; } // Load .cfg foreach (QString configPath, Qtopia::installPaths()) { configPath += QLatin1String("etc/timidity/timidity.cfg"); qLog(Media) << "MidiDecoder::MidiDecoder(); searching for config -" << configPath; if (QFileInfo(configPath).exists()) { qLog(Media) << "MidiDecoder::MidiDecoder(); found timidity.cfg"; if (mid_init(configPath.toLocal8Bit().data()) == -1) qLog(Media) << "MidiDecoder::MidiDecoder(); Invalid config file"; initialized = true; break; } }
/* initialize the new element * instantiate pads and add them to element * set functions * initialize structure */ static void gst_timidity_init (GstTimidity * filter, GstTimidityClass * g_class) { GstElementClass *klass = GST_ELEMENT_GET_CLASS (filter); /* initialise timidity library */ if (mid_init ((char *) TIMIDITY_CFG) == 0) { filter->initialized = TRUE; } else { GST_WARNING ("can't initialize timidity with config: " TIMIDITY_CFG); } filter->sinkpad = gst_pad_new_from_template (gst_element_class_get_pad_template (klass, "sink"), "sink"); gst_pad_set_activatepull_function (filter->sinkpad, gst_timidity_activatepull); gst_pad_set_activate_function (filter->sinkpad, gst_timidity_activate); gst_pad_set_setcaps_function (filter->sinkpad, gst_pad_set_caps); gst_pad_use_fixed_caps (filter->sinkpad); gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad); filter->srcpad = gst_pad_new_from_template (gst_element_class_get_pad_template (klass, "src"), "src"); gst_pad_set_query_function (filter->srcpad, gst_timidity_src_query); gst_pad_set_event_function (filter->srcpad, gst_timidity_src_event); gst_pad_use_fixed_caps (filter->srcpad); gst_pad_set_setcaps_function (filter->srcpad, gst_pad_set_caps); gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad); filter->song_options->buffer_size = 2048; filter->song_options->rate = 44100; filter->song_options->format = MID_AUDIO_S16LSB; filter->song_options->channels = 2; gst_timidity_set_song_options (filter, filter->song_options); gst_segment_init (filter->o_segment, GST_FORMAT_DEFAULT); }