Exemplo n.º 1
0
/*
 * Play files in sequence.
 */
void
OGG_Sequence(void)
{
	if (strcmp(ogg_sequence->string, "next") == 0)
	{
		OGG_Open(REL, 1);
	}

	else if (strcmp(ogg_sequence->string, "prev") == 0)
	{
		OGG_Open(REL, -1);
	}

	else if (strcmp(ogg_sequence->string, "random") == 0)
	{
		OGG_Open(ABS, randk() % ogg_numfiles);
	}

	else if (strcmp(ogg_sequence->string, "loop") == 0)
	{
		OGG_Open(REL, 0);
	}

	else if (strcmp(ogg_sequence->string, "none") != 0)
	{
		Com_Printf("Invalid value of ogg_sequence: %s\n", ogg_sequence->string);
		Cvar_Set("ogg_sequence", "none");
	}
}
Exemplo n.º 2
0
/*
 * Play Ogg Vorbis file (with name only).
 */
qboolean
OGG_OpenName(char *filename)
{
	char *name; /* File name. */
	int i;		/* Loop counter. */

	/* If the track name is '00', and ogg_ignoretrack0 is set to 0, stop playback */
	if ((!strncmp(filename, "00", sizeof(char) * 3)) && ogg_ignoretrack0->value == 0)
	{
		OGG_PauseCmd();
		return false;
	}

	name = va("%s/%s.ogg", OGG_DIR, filename);

	for (i = 0; i < ogg_numfiles; i++)
	{
		if (strcmp(name, ogg_filelist[i]) == 0)
		{
			break;
		}
	}

	if (i < ogg_numfiles)
	{
		return OGG_Open(ABS, i);
	}

	else
	{
		Com_Printf("OGG_OpenName: '%s' not in the list.\n", filename);
		return false;
	}
}
Exemplo n.º 3
0
Arquivo: snd_ogg.c Projeto: ZwS/qudos
/*
==========
OGG_ParseCmd

Parse play controls.
==========
*/
void OGG_ParseCmd(char *arg)
{
	int n;

	switch (arg[0]) {
	case '#':
		n = atoi(arg+1) - 1;
		OGG_Open(ABS, n);
		break;
	case '?':
		OGG_Open(ABS, rand() % ogg_numfiles);
		break;
	case '>':
		if (strlen(arg) > 1)
			OGG_Open(REL, atoi(arg+1));
		else
			OGG_Open(REL, 1);
		break;
	case '<':
		if (strlen(arg) > 1)
			OGG_Open(REL, -atoi(arg+1));
		else
			OGG_Open(REL, -1);
		break;
	default:
		OGG_OpenName(arg);
		break;
	}
}
Exemplo n.º 4
0
/*
 * Parse play controls.
 */
void
OGG_ParseCmd(char *arg)
{
	int n;
	cvar_t *ogg_enable;

	ogg_enable = Cvar_Get("ogg_enable", "1", CVAR_ARCHIVE);

	switch (arg[0])
	{
		case '#':
			n = (int)strtol(arg + 1, (char **)NULL, 10) - 1;
			OGG_Open(ABS, n);
			break;
		case '?':
			OGG_Open(ABS, randk() % ogg_numfiles);
			break;
		case '>':

			if (strlen(arg) > 1)
			{
				OGG_Open(REL, (int)strtol(arg + 1, (char **)NULL, 10));
			}

			else
			{
				OGG_Open(REL, 1);
			}

			break;
		case '<':

			if (strlen(arg) > 1)
			{
				OGG_Open(REL, -(int)strtol(arg + 1, (char **)NULL, 10));
			}

			else
			{
				OGG_Open(REL, -1);
			}

			break;
		default:

			if (ogg_enable->value != 0)
			{
				OGG_OpenName(arg);
			}

			break;
	}
}
Exemplo n.º 5
0
Arquivo: snd_ogg.c Projeto: ZwS/qudos
/*
==========
OGG_OpenName

Play Ogg Vorbis file (with name only).
==========
*/
qboolean OGG_OpenName(char *filename)
{
	char	*name;	/* File name. */
	int	 i;	/* Loop counter. */

	name = va("%s/%s.ogg", OGG_DIR, filename);

	for (i = 0; i < ogg_numfiles; i++)
		if (strcmp(name, ogg_filelist[i]) == 0)
			break;

	if (i < ogg_numfiles)
		return (OGG_Open(ABS, i));
	else {
		Com_Printf("OGG_OpenName: '%s' not in the list.\n", filename);
		return (false);
	}
}