コード例 #1
0
ファイル: audio_manager.cpp プロジェクト: Gordath/mars2030
void AudioManager::play_sample_playlist(SamplePlaylist *playlist, float volume)
{
	AudioSource *src;

	if (!playlist->started){
		src = request_source(&playlist->source_idx);
		if (src){
			playlist->it = playlist->samples.begin();
			src->set_sample((*playlist->it));
			src->set_volume(volume);
			src->set_playback_volume(volume);
			src->play();
			playlist->it++;
			playlist->started = true;
		}
	}
	else{
		src = get_audio_source(playlist->source_idx);
		if (src && !src->is_playing()){
			if (!(playlist->it == playlist->samples.end())){
				src->set_sample((*playlist->it));
				src->set_volume(volume);
				src->set_playback_volume(volume);
				src->play();
				playlist->it++;
			}
		}
	}

	if (playlist->loop && playlist->it == playlist->samples.end())
		playlist->it = playlist->samples.begin();
}
コード例 #2
0
ファイル: audio_manager.cpp プロジェクト: Gordath/mars2030
void AudioManager::stop_source(int source_idx)
{
	if (source_idx < 0)
		return;

	AudioSource *src = get_audio_source(source_idx);
	if (src && src->is_playing())
		src->stop();
}
コード例 #3
0
ファイル: switch.c プロジェクト: ChakaZulu/tuxbox_apps
void routing_show() {
  int count,i;

  for(count=1;count<=3;count++) {
    printf("%3s: ",dests[count-1]);
    i=get_audio_source(count);
    printf("Audio: ");
    if (count == 1) printf("%3s ",srcs_tv[i]);
    else if (count == 2) printf("%3s ",srcs_vcr[i]);
    else if (count == 3) printf("%3s ",srcs_aux[i]);
    printf("(%d) ",i);
    i=get_video_source(count);
    printf(",Video: ");
    if (count == 1) printf("%3s ",srcs_tv[i]);
    else if (count == 2) printf("%3s ",srcs_vcr[i]);
    else if (count == 3) printf("%3s ",srcs_aux[i]);
    printf("(%d)",i);
    printf("\n");
  }
}