Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
void
init(void)
{
	src_init();
	dst_init();
	mid_init();
}
Ejemplo n.º 3
0
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;
        }
    }
Ejemplo n.º 4
0
/* 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);
}