コード例 #1
0
ファイル: settings_dlg.c プロジェクト: epi/asap
int getSongDurationInternal(const ASAPInfo *info, int song, ASAP *asap)
{
	int duration = ASAPInfo_GetDuration(info, song);
	if (duration < 0) {
		if (asap != NULL)
			ASAP_DetectSilence(asap, silence_seconds);
		return 1000 * song_length;
	}
	if (asap != NULL)
		ASAP_DetectSilence(asap, 0);
	if (play_loops && ASAPInfo_GetLoop(info, song))
		return 1000 * song_length;
	return duration;
}
コード例 #2
0
	int get_song_duration(int song, bool play)
	{
		const ASAPInfo *info = ASAP_GetInfo(asap);
		int duration = ASAPInfo_GetDuration(info, song);
		if (duration < 0) {
			if (play)
				ASAP_DetectSilence(asap, silence_seconds);
			return 1000 * song_length;
		}
		if (play)
			ASAP_DetectSilence(asap, 0);
		if (play_loops && ASAPInfo_GetLoop(info, song))
			return 1000 * song_length;
		return duration;
	}
コード例 #3
0
ファイル: foo_asap.cpp プロジェクト: 070499/xbmc
	void decode_initialize(t_uint32 p_subsong, unsigned p_flags, abort_callback &p_abort)
	{
		int duration = module_info.durations[p_subsong];
		if (duration < 0) {
			if (silence_seconds > 0)
				ASAP_DetectSilence(&asap, silence_seconds);
			duration = 1000 * song_length;
		}
		if (play_loops && module_info.loops[p_subsong])
			duration = 1000 * song_length;
		ASAP_PlaySong(&asap, p_subsong, duration);
		ASAP_MutePokeyChannels(&asap, mute_mask);
	}