Enlightenment CVS committal
Author : tsauerbeck
Project : misc
Module : eplayer
Dir : misc/eplayer/src
Modified Files:
eplayer.c eplayer.h
Log Message:
applied Dan Sinclair's patch
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/eplayer.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -3 -r1.39 -r1.40
--- eplayer.c 14 Feb 2004 11:00:38 -0000 1.39
+++ eplayer.c 16 Feb 2004 16:43:02 -0000 1.40
@@ -2,7 +2,7 @@
/* Edje Overhaul startnig phase 4 - Started 7/30/03 */
/*
- * $Id: eplayer.c,v 1.39 2004/02/14 11:00:38 tsauerbeck Exp $
+ * $Id: eplayer.c,v 1.40 2004/02/16 16:43:02 tsauerbeck Exp $
*/
#include <config.h>
@@ -150,7 +150,7 @@
return !!player->output;
}
-static ePlayer *eplayer_new(const char **args) {
+static ePlayer *eplayer_new() {
ePlayer *player;
char cfg_file[PATH_MAX + 1];
@@ -159,8 +159,6 @@
memset(player, 0, sizeof(ePlayer));
- player->args = args;
-
/* load config */
config_init(&player->cfg);
@@ -177,6 +175,12 @@
"falling back to default settings!\n");
}
+ return player;
+}
+
+static int eplayer_setup(ePlayer *player) {
+ assert(player);
+
load_input_plugins(player);
if (!load_output_plugin(player)) {
@@ -184,14 +188,14 @@
player->cfg.output_plugin);
eplayer_free(player);
- return NULL;
+ return false;
}
pthread_mutex_init(&player->playback_next_mutex, NULL);
pthread_mutex_init(&player->playback_stop_mutex, NULL);
- player->playback_stop = 1;
+ player->playback_stop = true;
- return player;
+ return true;
}
/**
@@ -279,7 +283,7 @@
player->cfg.theme);
assert(player->playlist);
- for (i = 1; player->args[i]; i++)
+ for (i = player->opt_start; player->args[i]; i++)
playlist_load_any(player->playlist, player->args[i], i > 1);
debug(DEBUG_LEVEL_INFO, "Got %i playlist entries\n",
@@ -294,13 +298,17 @@
return 0; /* stop idler */
}
-static void handle_args(int argc, char **argv) {
+static void handle_args(int argc, const char **argv, ePlayer *player) {
int o;
struct option opts[] = {{"help", no_argument, 0, 'h'},
{"version", no_argument, 0, 'v'},
+ {"output", required_argument, 0, 'o'},
+ {"engine", required_argument, 0, 'e'},
+ {"theme", required_argument, 0, 't'},
{NULL, 0, NULL, 0}};
- while ((o = getopt_long(argc, argv, "hv", opts, NULL)) != -1) {
+ while ((o = getopt_long(argc, (char **) argv, "hvo:e:t:", opts,
+ NULL)) != -1) {
switch (o) {
case 'h':
printf("Usage: eplayer"
@@ -312,22 +320,42 @@
"Copyright (C) 2003-2004 ePlayer project\n\n");
exit(1);
break;
+ case 'o':
+ snprintf(player->cfg.output_plugin,
+ sizeof(player->cfg.output_plugin), optarg);
+ break;
+ case 'e':
+ snprintf(player->cfg.evas_engine,
+ sizeof(player->cfg.evas_engine), optarg);
+ break;
+ case 't':
+ snprintf(player->cfg.theme,
+ sizeof(player->cfg.theme), optarg);
+ break;
default:
break;
}
}
+
+ player->args = argv;
+ player->opt_start = optind;
}
int main(int argc, const char **argv) {
ePlayer *player;
- handle_args(argc, (char **) argv);
-
lt_dlinit();
- if (!(player = eplayer_new(argv)))
+ if (!(player = eplayer_new()))
return 1;
+ handle_args(argc, argv, player);
+
+ if (!eplayer_setup(player)) {
+ eplayer_free(player);
+ return 1;
+ }
+
if (!ui_init(player)) {
eplayer_free(player);
return 1;
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/eplayer.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- eplayer.h 1 Feb 2004 12:03:53 -0000 1.25
+++ eplayer.h 16 Feb 2004 16:43:02 -0000 1.26
@@ -2,7 +2,7 @@
#define __EPLAYER_H
/*
- * $Id: eplayer.h,v 1.25 2004/02/01 12:03:53 tsauerbeck Exp $
+ * $Id: eplayer.h,v 1.26 2004/02/16 16:43:02 tsauerbeck Exp $
*/
#include <Ecore.h>
@@ -30,7 +30,6 @@
Ecore_Evas *ee;
Evas_Object *edje;
Evas_Object *playlist; /* playlist container */
- /*int playlist_font_size;*/
} Gui;
typedef struct {
@@ -41,6 +40,7 @@
typedef struct _ePlayer {
const char **args;
+ int opt_start;
PlayList *playlist;
Ecore_Timer *time_timer;
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs