summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2009-11-26 15:29:20 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2009-11-26 15:29:20 +0000
commit24054df7ea8081b4a4b9875344b37458ec8502a5 (patch)
tree5bfa94e8ac0899b30a8456f5faf188392a78d1ce /plugins
parent93e34824a3aaa71b3d9f423311c7ca1f67f4fd73 (diff)
downloadpcsxr-24054df7ea8081b4a4b9875344b37458ec8502a5.tar.gz
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@38278 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'plugins')
-rw-r--r--plugins/dfcdrom/Makefile.am12
-rw-r--r--plugins/dfcdrom/Makefile.in126
-rw-r--r--plugins/dfcdrom/cdr-linux.c17
-rw-r--r--plugins/dfcdrom/cdr.h31
-rw-r--r--plugins/dfcdrom/cdrcfg-0.1df/callbacks.c210
-rw-r--r--plugins/dfcdrom/cdrcfg-0.1df/callbacks.h18
-rw-r--r--plugins/dfcdrom/cdrcfg-0.1df/cfg-gtk2.c62
-rw-r--r--plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2 (renamed from plugins/dfcdrom/cdrcfg-0.1df/cfgCdr.glade)209
-rw-r--r--plugins/dfcdrom/cdrcfg-0.1df/interface.c340
-rw-r--r--plugins/dfcdrom/cdrcfg-0.1df/interface.h6
-rw-r--r--plugins/dfcdrom/cdrcfg-0.1df/main.c257
-rw-r--r--plugins/dfcdrom/cdrcfg-0.1df/support.c147
-rw-r--r--plugins/dfcdrom/cdrcfg-0.1df/support.h44
-rw-r--r--plugins/dfcdrom/cfg.c12
-rw-r--r--plugins/dfinput/Makefile.am2
-rw-r--r--plugins/dfinput/Makefile.in2
16 files changed, 425 insertions, 1070 deletions
diff --git a/plugins/dfcdrom/Makefile.am b/plugins/dfcdrom/Makefile.am
index a0ecdd0c..3c42214a 100644
--- a/plugins/dfcdrom/Makefile.am
+++ b/plugins/dfcdrom/Makefile.am
@@ -9,11 +9,13 @@ libDFCdrom_la_LDFLAGS = -module -avoid-version -lpthread
INCLUDES = -DPIXMAPDIR=\"${datadir}/pixmaps/\" \
-DLOCALE_DIR=\"${datadir}/locale/\" \
-DDATADIR=\"${datadir}/psemu/\" \
- $(GTK2_CFLAGS) \
+ $(GTK2_CFLAGS) $(GLADE2_CFLAGS) \
-I../../libpcsxcore -I../../include
bin_PROGRAMS = cfgDFCdrom
-cfgDFCdrom_SOURCES = cdrcfg-0.1df/cfg-gtk2.c cdrcfg-0.1df/main.c \
- cdrcfg-0.1df/support.c cdrcfg-0.1df/interface.c \
- cdrcfg-0.1df/callbacks.c
-cfgDFCdrom_LDADD = $(GTK2_LIBS)
+cfgDFCdrom_SOURCES = cdrcfg-0.1df/main.c
+cfgDFCdrom_LDADD = $(GTK2_LIBS) $(GLADE2_LIBS)
+
+glade_DATA = cdrcfg-0.1df/dfcdrom.glade2
+gladedir = $(datadir)/psemu/
+EXTRA_DIST = $(glade_DATA)
diff --git a/plugins/dfcdrom/Makefile.in b/plugins/dfcdrom/Makefile.in
index 4b7bce73..7bde668c 100644
--- a/plugins/dfcdrom/Makefile.in
+++ b/plugins/dfcdrom/Makefile.in
@@ -15,6 +15,7 @@
@SET_MAKE@
+
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -50,7 +51,8 @@ am__vpath_adj = case $$p in \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
+ "$(DESTDIR)$(gladedir)"
libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
libDFCdrom_la_LIBADD =
@@ -61,11 +63,10 @@ libDFCdrom_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(libDFCdrom_la_LDFLAGS) $(LDFLAGS) -o $@
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
-am_cfgDFCdrom_OBJECTS = cfg-gtk2.$(OBJEXT) main.$(OBJEXT) \
- support.$(OBJEXT) interface.$(OBJEXT) callbacks.$(OBJEXT)
+am_cfgDFCdrom_OBJECTS = main.$(OBJEXT)
cfgDFCdrom_OBJECTS = $(am_cfgDFCdrom_OBJECTS)
am__DEPENDENCIES_1 =
-cfgDFCdrom_DEPENDENCIES = $(am__DEPENDENCIES_1)
+cfgDFCdrom_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -80,6 +81,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(libDFCdrom_la_SOURCES) $(cfgDFCdrom_SOURCES)
DIST_SOURCES = $(libDFCdrom_la_SOURCES) $(cfgDFCdrom_SOURCES)
+gladeDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(glade_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -238,14 +241,14 @@ libDFCdrom_la_LDFLAGS = -module -avoid-version -lpthread
INCLUDES = -DPIXMAPDIR=\"${datadir}/pixmaps/\" \
-DLOCALE_DIR=\"${datadir}/locale/\" \
-DDATADIR=\"${datadir}/psemu/\" \
- $(GTK2_CFLAGS) \
+ $(GTK2_CFLAGS) $(GLADE2_CFLAGS) \
-I../../libpcsxcore -I../../include
-cfgDFCdrom_SOURCES = cdrcfg-0.1df/cfg-gtk2.c cdrcfg-0.1df/main.c \
- cdrcfg-0.1df/support.c cdrcfg-0.1df/interface.c \
- cdrcfg-0.1df/callbacks.c
-
-cfgDFCdrom_LDADD = $(GTK2_LIBS)
+cfgDFCdrom_SOURCES = cdrcfg-0.1df/main.c
+cfgDFCdrom_LDADD = $(GTK2_LIBS) $(GLADE2_LIBS)
+glade_DATA = cdrcfg-0.1df/dfcdrom.glade2
+gladedir = $(datadir)/psemu/
+EXTRA_DIST = $(glade_DATA)
all: all-am
.SUFFIXES:
@@ -346,13 +349,9 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callbacks.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdr.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfg-gtk2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfg.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/interface.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/support.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -375,20 +374,6 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-cfg-gtk2.o: cdrcfg-0.1df/cfg-gtk2.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cfg-gtk2.o -MD -MP -MF $(DEPDIR)/cfg-gtk2.Tpo -c -o cfg-gtk2.o `test -f 'cdrcfg-0.1df/cfg-gtk2.c' || echo '$(srcdir)/'`cdrcfg-0.1df/cfg-gtk2.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cfg-gtk2.Tpo $(DEPDIR)/cfg-gtk2.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cdrcfg-0.1df/cfg-gtk2.c' object='cfg-gtk2.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cfg-gtk2.o `test -f 'cdrcfg-0.1df/cfg-gtk2.c' || echo '$(srcdir)/'`cdrcfg-0.1df/cfg-gtk2.c
-
-cfg-gtk2.obj: cdrcfg-0.1df/cfg-gtk2.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cfg-gtk2.obj -MD -MP -MF $(DEPDIR)/cfg-gtk2.Tpo -c -o cfg-gtk2.obj `if test -f 'cdrcfg-0.1df/cfg-gtk2.c'; then $(CYGPATH_W) 'cdrcfg-0.1df/cfg-gtk2.c'; else $(CYGPATH_W) '$(srcdir)/cdrcfg-0.1df/cfg-gtk2.c'; fi`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/cfg-gtk2.Tpo $(DEPDIR)/cfg-gtk2.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cdrcfg-0.1df/cfg-gtk2.c' object='cfg-gtk2.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cfg-gtk2.obj `if test -f 'cdrcfg-0.1df/cfg-gtk2.c'; then $(CYGPATH_W) 'cdrcfg-0.1df/cfg-gtk2.c'; else $(CYGPATH_W) '$(srcdir)/cdrcfg-0.1df/cfg-gtk2.c'; fi`
-
main.o: cdrcfg-0.1df/main.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT main.o -MD -MP -MF $(DEPDIR)/main.Tpo -c -o main.o `test -f 'cdrcfg-0.1df/main.c' || echo '$(srcdir)/'`cdrcfg-0.1df/main.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/main.Tpo $(DEPDIR)/main.Po
@@ -403,53 +388,28 @@ main.obj: cdrcfg-0.1df/main.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o main.obj `if test -f 'cdrcfg-0.1df/main.c'; then $(CYGPATH_W) 'cdrcfg-0.1df/main.c'; else $(CYGPATH_W) '$(srcdir)/cdrcfg-0.1df/main.c'; fi`
-support.o: cdrcfg-0.1df/support.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT support.o -MD -MP -MF $(DEPDIR)/support.Tpo -c -o support.o `test -f 'cdrcfg-0.1df/support.c' || echo '$(srcdir)/'`cdrcfg-0.1df/support.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/support.Tpo $(DEPDIR)/support.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cdrcfg-0.1df/support.c' object='support.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o support.o `test -f 'cdrcfg-0.1df/support.c' || echo '$(srcdir)/'`cdrcfg-0.1df/support.c
-
-support.obj: cdrcfg-0.1df/support.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT support.obj -MD -MP -MF $(DEPDIR)/support.Tpo -c -o support.obj `if test -f 'cdrcfg-0.1df/support.c'; then $(CYGPATH_W) 'cdrcfg-0.1df/support.c'; else $(CYGPATH_W) '$(srcdir)/cdrcfg-0.1df/support.c'; fi`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/support.Tpo $(DEPDIR)/support.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cdrcfg-0.1df/support.c' object='support.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o support.obj `if test -f 'cdrcfg-0.1df/support.c'; then $(CYGPATH_W) 'cdrcfg-0.1df/support.c'; else $(CYGPATH_W) '$(srcdir)/cdrcfg-0.1df/support.c'; fi`
-
-interface.o: cdrcfg-0.1df/interface.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT interface.o -MD -MP -MF $(DEPDIR)/interface.Tpo -c -o interface.o `test -f 'cdrcfg-0.1df/interface.c' || echo '$(srcdir)/'`cdrcfg-0.1df/interface.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/interface.Tpo $(DEPDIR)/interface.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cdrcfg-0.1df/interface.c' object='interface.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o interface.o `test -f 'cdrcfg-0.1df/interface.c' || echo '$(srcdir)/'`cdrcfg-0.1df/interface.c
-
-interface.obj: cdrcfg-0.1df/interface.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT interface.obj -MD -MP -MF $(DEPDIR)/interface.Tpo -c -o interface.obj `if test -f 'cdrcfg-0.1df/interface.c'; then $(CYGPATH_W) 'cdrcfg-0.1df/interface.c'; else $(CYGPATH_W) '$(srcdir)/cdrcfg-0.1df/interface.c'; fi`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/interface.Tpo $(DEPDIR)/interface.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cdrcfg-0.1df/interface.c' object='interface.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o interface.obj `if test -f 'cdrcfg-0.1df/interface.c'; then $(CYGPATH_W) 'cdrcfg-0.1df/interface.c'; else $(CYGPATH_W) '$(srcdir)/cdrcfg-0.1df/interface.c'; fi`
-
-callbacks.o: cdrcfg-0.1df/callbacks.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT callbacks.o -MD -MP -MF $(DEPDIR)/callbacks.Tpo -c -o callbacks.o `test -f 'cdrcfg-0.1df/callbacks.c' || echo '$(srcdir)/'`cdrcfg-0.1df/callbacks.c
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/callbacks.Tpo $(DEPDIR)/callbacks.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cdrcfg-0.1df/callbacks.c' object='callbacks.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o callbacks.o `test -f 'cdrcfg-0.1df/callbacks.c' || echo '$(srcdir)/'`cdrcfg-0.1df/callbacks.c
-
-callbacks.obj: cdrcfg-0.1df/callbacks.c
-@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT callbacks.obj -MD -MP -MF $(DEPDIR)/callbacks.Tpo -c -o callbacks.obj `if test -f 'cdrcfg-0.1df/callbacks.c'; then $(CYGPATH_W) 'cdrcfg-0.1df/callbacks.c'; else $(CYGPATH_W) '$(srcdir)/cdrcfg-0.1df/callbacks.c'; fi`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/callbacks.Tpo $(DEPDIR)/callbacks.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='cdrcfg-0.1df/callbacks.c' object='callbacks.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o callbacks.obj `if test -f 'cdrcfg-0.1df/callbacks.c'; then $(CYGPATH_W) 'cdrcfg-0.1df/callbacks.c'; else $(CYGPATH_W) '$(srcdir)/cdrcfg-0.1df/callbacks.c'; fi`
-
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
+install-gladeDATA: $(glade_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(gladedir)" || $(MKDIR_P) "$(DESTDIR)$(gladedir)"
+ @list='$(glade_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(gladeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(gladedir)/$$f'"; \
+ $(gladeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(gladedir)/$$f"; \
+ done
+
+uninstall-gladeDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(glade_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(gladedir)/$$f'"; \
+ rm -f "$(DESTDIR)$(gladedir)/$$f"; \
+ done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -526,11 +486,11 @@ distdir: $(DISTFILES)
done
check-am: all-am
check: check-am
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA)
install-binPROGRAMS: install-libLTLIBRARIES
installdirs:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"; do \
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(gladedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -578,7 +538,7 @@ info: info-am
info-am:
-install-data-am:
+install-data-am: install-gladeDATA
install-dvi: install-dvi-am
@@ -614,7 +574,8 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-binPROGRAMS uninstall-libLTLIBRARIES
+uninstall-am: uninstall-binPROGRAMS uninstall-gladeDATA \
+ uninstall-libLTLIBRARIES
.MAKE: install-am install-strip
@@ -624,14 +585,15 @@ uninstall-am: uninstall-binPROGRAMS uninstall-libLTLIBRARIES
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-binPROGRAMS \
install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-binPROGRAMS uninstall-libLTLIBRARIES
+ install-exec install-exec-am install-gladeDATA install-html \
+ install-html-am install-info install-info-am \
+ install-libLTLIBRARIES install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-binPROGRAMS \
+ uninstall-gladeDATA uninstall-libLTLIBRARIES
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/plugins/dfcdrom/cdr-linux.c b/plugins/dfcdrom/cdr-linux.c
index 66905cbf..7860e920 100644
--- a/plugins/dfcdrom/cdr-linux.c
+++ b/plugins/dfcdrom/cdr-linux.c
@@ -17,6 +17,10 @@
#include "cdr.h"
+#ifndef CDROMSETSPINDOWN
+#define CDROMSETSPINDOWN 0x531e
+#endif
+
static inline int msf_to_lba(char m, char s, char f) {
return (((m * CD_SECS) + s) * CD_FRAMES + f) - CD_MSF_OFFSET;
}
@@ -55,6 +59,8 @@ long CDRshutdown(void) {
}
long CDRopen(void) {
+ char spindown;
+
LoadConf();
if (cdHandle > 0)
@@ -64,6 +70,9 @@ long CDRopen(void) {
ioctl(cdHandle, CDROM_LOCKDOOR, 0);
// ioctl(cdHandle, CDROMSTART, NULL);
+ spindown = (char)SpinDown;
+ ioctl(cdHandle, CDROMSETSPINDOWN, &spindown);
+
ioctl(cdHandle, CDROM_SELECT_SPEED, CdrSpeed);
} else {
fprintf(stderr, "CDR: Could not open %s\n", CdromDev);
@@ -101,9 +110,13 @@ long CDRopen(void) {
}
long CDRclose(void) {
+ char spindown;
+
if (cdHandle < 1) return 0;
if (playing) CDRstop();
+ spindown = SPINDOWN_VENDOR_SPECIFIC;
+ ioctl(cdHandle, CDROMSETSPINDOWN, &spindown);
close(cdHandle);
cdHandle = -1;
@@ -419,6 +432,7 @@ long CDRgetStatus(struct CdrStat *stat) {
struct cdrom_subchnl sc;
int ret;
static time_t to;
+ char spindown;
if (cdHandle < 1)
return -1;
@@ -460,6 +474,8 @@ long CDRgetStatus(struct CdrStat *stat) {
stat->Status |= 0x10;
break;
default:
+ spindown = (char)SpinDown;
+ ioctl(cdHandle, CDROMSETSPINDOWN, &spindown);
ioctl(cdHandle, CDROM_LOCKDOOR, 0);
break;
}
@@ -554,7 +570,6 @@ void ExecCfg(char *arg) {
long CDRconfigure() {
ExecCfg("configure");
-
return 0;
}
diff --git a/plugins/dfcdrom/cdr.h b/plugins/dfcdrom/cdr.h
index fc08d37d..ae22f6cd 100644
--- a/plugins/dfcdrom/cdr.h
+++ b/plugins/dfcdrom/cdr.h
@@ -8,18 +8,37 @@ typedef char HWND;
#include <stdint.h>
#include "psemu_plugin_defs.h"
-char CdromDev[256];
-long ReadMode;
-long UseSubQ;
-long CacheSize;
-long CdrSpeed;
+extern char CdromDev[256];
+extern long ReadMode;
+extern long UseSubQ;
+extern long CacheSize;
+extern long CdrSpeed;
+extern long SpinDown;
#define DEV_DEF "/dev/cdrom"
#define NORMAL 0
#define THREADED 1
#define READ_MODES 2
-#define DATA_SIZE (CD_FRAMESIZE_RAW-12)
+#define DATA_SIZE (CD_FRAMESIZE_RAW - 12)
+
+// spindown codes
+#define SPINDOWN_VENDOR_SPECIFIC 0x00
+#define SPINDOWN_125MS 0x01
+#define SPINDOWN_250MS 0x02
+#define SPINDOWN_500MS 0x03
+#define SPINDOWN_1S 0x04
+#define SPINDOWN_2S 0x05
+#define SPINDOWN_4S 0x06
+#define SPINDOWN_8S 0x07
+#define SPINDOWN_16S 0x08
+#define SPINDOWN_32S 0x09
+#define SPINDOWN_1MIN 0x0A
+#define SPINDOWN_2MIN 0x0B
+#define SPINDOWN_4MIN 0x0C
+#define SPINDOWN_8MIN 0x0D
+#define SPINDOWN_16MIN 0x0E
+#define SPINDOWN_32MIN 0x0F
#define itob(i) ((i)/10*16 + (i)%10) /* u_char to BCD */
#define btoi(b) ((b)/16*10 + (b)%16) /* BCD to u_char */
diff --git a/plugins/dfcdrom/cdrcfg-0.1df/callbacks.c b/plugins/dfcdrom/cdrcfg-0.1df/callbacks.c
deleted file mode 100644
index 8330cd77..00000000
--- a/plugins/dfcdrom/cdrcfg-0.1df/callbacks.c
+++ /dev/null
@@ -1,210 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#ifdef __linux__
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/ioctl.h>
-#include <linux/cdrom.h>
-
-#include <gtk/gtk.h>
-
-#include "../cdr.h"
-#include "callbacks.h"
-#include "interface.h"
-#include "support.h"
-
-/* list of drives */
-GList * driveslist = NULL;
-
-/* private functions prototypes */
-void fill_drives_list(void);
-int is_cdrom(char *device);
-
-
-/***************************************************************************
- * Config Dialog.
- ***************************************************************************/
-
-void on_cfg_dialog_show (GtkWidget *widget, gpointer user_data)
-{
- GtkWidget *devcombo;
- GtkWidget *rmmenu;
- GtkWidget *subQbtn;
- GtkWidget *spinC;
- GtkWidget *spinS;
-
- LoadConf();
- fill_drives_list();
-
- devcombo = lookup_widget (GTK_WIDGET (widget), "cddev_combo");
- rmmenu = lookup_widget (GTK_WIDGET (widget), "readmode_optionmenu");
- subQbtn = lookup_widget (GTK_WIDGET (widget), "subQ_button");
- spinC = lookup_widget (GTK_WIDGET (widget), "spinCacheSize");
- spinS = lookup_widget (GTK_WIDGET (widget), "spinCdrSpeed");
-
- /* show values */
- gtk_combo_set_popdown_strings (GTK_COMBO (devcombo), driveslist);
- gtk_entry_set_text (GTK_ENTRY (GTK_COMBO (devcombo)->entry), CdromDev);
- gtk_option_menu_set_history (GTK_OPTION_MENU (rmmenu), ReadMode);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (subQbtn), UseSubQ);
- gtk_spin_button_set_value (GTK_SPIN_BUTTON(spinC), (float)CacheSize);
- gtk_spin_button_set_value (GTK_SPIN_BUTTON(spinS), (float)CdrSpeed);
-
- /* ??? is correct to free? it's a global... */
- g_list_free(driveslist);
-}
-
-
-void on_cfg_cancelbutton_clicked (GtkButton *button, gpointer user_data)
-{
- gtk_widget_destroy (gtk_widget_get_toplevel (GTK_WIDGET (button)));
- gtk_main_quit();
-}
-
-
-void on_cfg_okbutton_clicked (GtkButton *button, gpointer user_data)
-{
- GtkWidget *deventry;
- GtkWidget *rmmenu;
- GtkWidget *subQbtn;
- GtkWidget *spinC;
- GtkWidget *spinS;
- char *tmp;
-
- deventry = lookup_widget (GTK_WIDGET (button), "cddev_entry");
- rmmenu = lookup_widget (GTK_WIDGET (button), "readmode_optionmenu");
- subQbtn = lookup_widget (GTK_WIDGET (button), "subQ_button");
- spinC = lookup_widget (GTK_WIDGET (button), "spinCacheSize");
- spinS = lookup_widget (GTK_WIDGET (button), "spinCdrSpeed");
-
- tmp = gtk_entry_get_text (GTK_ENTRY (deventry));
- strcpy(CdromDev, tmp);
- ReadMode = gtk_option_menu_get_history (GTK_OPTION_MENU(rmmenu));
- UseSubQ = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(subQbtn));
- CacheSize= gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinC));
- CdrSpeed = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON(spinS));
-
- SaveConf();
-
- gtk_widget_destroy(gtk_widget_get_toplevel (GTK_WIDGET (button)));
- gtk_main_quit();
-}
-
-
-/***************************************************************************
- * About Dialog.
- ***************************************************************************/
-
-void on_abt_okbutton_clicked (GtkButton *button, gpointer user_data)
-{
- gtk_widget_destroy (gtk_widget_get_toplevel (GTK_WIDGET (button)));
- gtk_main_quit();
-}
-
-
-/***************************************************************************
- * Private functions.
- ***************************************************************************/
-
-/*
- * get_drives_list: retrieves available cd drives. At the moment it use a quite
- * ugly "brute force" method: we check for the most common location for cdrom
- * in /dev and chech if they are cdrom devices.
- * If your cdrom path is not listed here you'll have to type it in the dialog
- * entry yourself (or add it here and recompile).
- * Are there any other common entry to add to the list? (especially scsi, I
- * deliberately ignored old non standard cdroms... )
- * If you come up with a better method let me know!!
- */
-
-void fill_drives_list(void)
-{
- int i = 0;
- static char *cdrom_devices[]={
- "/dev/cdrom",
- "/dev/cdroms/cdrom0",
- "/dev/cdroms/cdrom1",
- "/dev/cdroms/cdrom2",
- "/dev/cdroms/cdrom3",
- "/dev/hda",
- "/dev/hdb",
- "/dev/hdc",
- "/dev/hdd",
- "/dev/scd0",
- "/dev/scd1",
- "/dev/scd2",
- "/dev/scd3",
- "/dev/optcd",
- NULL};
-
- /* fisrt we put our current drive */
- driveslist = g_list_append(driveslist, CdromDev);
-
- /* scan cdrom_devices for real cdrom and add them to driveslist */
- while(cdrom_devices[i] != NULL){
-
- /* check that is not our current dev (already in list) */
- if (strcmp(cdrom_devices[i], CdromDev) != 0){
-
- /* check that is a cdrom device */
- if (is_cdrom(cdrom_devices[i])){
- driveslist = g_list_append(driveslist, cdrom_devices[i]);
- }
- }
- ++i;
- }
-
- return;
-}
-
-
-/* function to check if the device is a cdrom */
-int is_cdrom(char *device){
- struct stat st;
- int fd = -1;
-
- /* check if the file exist */
- if (stat(device, &st) <0) return 0;
-
- /* check if is a block or char device */
- if (!S_ISCHR(st.st_mode) && !S_ISBLK(st.st_mode)) return 0;
-
- /* try to open the device file descriptor */
- if ((fd = open(device, O_RDONLY | O_NONBLOCK)) < 0) return 0;
-
- /* I need a method to check is a device is really a cdrom.
- some problems/ideas are:
- - different protocls (ide, scsi, old proprietary...)
- - maybe we can use major number (see linux/major.h) to do some check.
- major number can be retrieved with (st.st_rdev>>8)
- scsi has SCSI_CDROM_MAJOR but does this cover all scsi drives?
- beside IDE major is the same for hard disks and cdroms...
- and DVDs?
- - another idea is to parse /proc, but again IDE, scsi etc have
- different files... I've not found a way to query "which cd drives
- are available?"
-
- Now I use this ioctl which works also if the drive is empty,
- I hope that is implemented for all the drives... here works
- fine: at least doesn't let me to select my HD as cds ;)
- */
- /* try a ioctl to see if it's a cdrom device */
- if (ioctl(fd, CDROM_GET_CAPABILITY, NULL) < 0){
- close(fd);
- return 0;
- }
-
- close(fd);
-
- /* yes, it seems a cd drive! */
- return 1;
-}
-
-#endif
diff --git a/plugins/dfcdrom/cdrcfg-0.1df/callbacks.h b/plugins/dfcdrom/cdrcfg-0.1df/callbacks.h
deleted file mode 100644
index 622914d9..00000000
--- a/plugins/dfcdrom/cdrcfg-0.1df/callbacks.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <gtk/gtk.h>
-
-
-void
-on_cfg_dialog_show (GtkWidget *widget,
- gpointer user_data);
-
-void
-on_cfg_cancelbutton_clicked (GtkButton *button,
- gpointer user_data);
-
-void
-on_cfg_okbutton_clicked (GtkButton *button,
- gpointer user_data);
-
-void
-on_abt_okbutton_clicked (GtkButton *button,
- gpointer user_data);
diff --git a/plugins/dfcdrom/cdrcfg-0.1df/cfg-gtk2.c b/plugins/dfcdrom/cdrcfg-0.1df/cfg-gtk2.c
deleted file mode 100644
index 4d9314e2..00000000
--- a/plugins/dfcdrom/cdrcfg-0.1df/cfg-gtk2.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Cdrom for Psemu Pro like Emulators
- *
- * By: linuzappz <linuzappz@hotmail.com>
- *
- */
-
-#ifdef __linux__
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <time.h>
-#include <string.h>
-
-#include "../cdr.h"
-
-void LoadConf() {
- FILE *f;
- char cfg[255];
-
- strcpy(CdromDev, DEV_DEF);
- ReadMode = THREADED;
- UseSubQ = 0;
- CacheSize = 64;
- CdrSpeed = 0;
-
- sprintf(cfg, "dfcdrom.cfg");
- f = fopen(cfg, "r");
- if (f == NULL) return;
-
- fscanf(f, "CdromDev = %s\n", CdromDev);
- fscanf(f, "ReadMode = %ld\n", &ReadMode);
- fscanf(f, "UseSubQ = %ld\n", &UseSubQ);
- fscanf(f, "CacheSize = %ld\n", &CacheSize);
- fscanf(f, "CdrSpeed = %ld\n", &CdrSpeed);
- fclose(f);
-
- if (ReadMode >= READ_MODES) ReadMode = THREADED;
- if (CacheSize <= 0) CacheSize = 32;
- if (CacheSize > 2048) CacheSize = 2048;
-}
-
-void SaveConf() {
- FILE *f;
- char cfg[255];
-
- sprintf(cfg, "dfcdrom.cfg");
- f = fopen(cfg, "w");
- if (f == NULL)
- return;
- fprintf(f, "CdromDev = %s\n", CdromDev);
- fprintf(f, "ReadMode = %ld\n", ReadMode);
- fprintf(f, "UseSubQ = %ld\n", UseSubQ);
- fprintf(f, "CacheSize = %ld\n", CacheSize);
- fprintf(f, "CdrSpeed = %ld\n", CdrSpeed);
- fclose(f);
-}
-
-#endif
diff --git a/plugins/dfcdrom/cdrcfg-0.1df/cfgCdr.glade b/plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2
index c926cf08..02164f0c 100644
--- a/plugins/dfcdrom/cdrcfg-0.1df/cfgCdr.glade
+++ b/plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2
@@ -2,7 +2,7 @@
<glade-interface>
<!-- interface-requires gtk+ 2.6 -->
<!-- interface-naming-policy toplevel-contextual -->
- <widget class="GtkDialog" id="cfg_dialog">
+ <widget class="GtkDialog" id="CfgWnd">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="title" translatable="yes">CDR configuration</property>
@@ -24,33 +24,24 @@
<property name="visible">True</property>
<property name="label_xalign">0</property>
<child>
- <widget class="GtkCombo" id="cddev_combo">
+ <widget class="GtkHBox" id="hbox5">
<property name="visible">True</property>
<property name="border_width">10</property>
- <property name="enable_arrows_always">False</property>
- <child internal-child="entry">
- <widget class="GtkEntry" id="cddev_entry">
+ <child>
+ <widget class="GtkComboBoxEntry" id="cddev_comboboxentry">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">chose yor cdrom device or type its path if it's not listed</property>
- <property name="activates_default">True</property>
+ <property name="tooltip" translatable="yes">Choose your CD-ROM device or type its path if it's not listed</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
- <child internal-child="list">
- <widget class="GtkList" id="combo-list1">
- <property name="visible">True</property>
- <property name="selection_mode">browse</property>
- </widget>
- </child>
</widget>
</child>
<child>
<widget class="GtkLabel" id="cdr_label">
<property name="visible">True</property>
- <property name="label" translatable="yes">Select cdrom device</property>
+ <property name="label" translatable="yes">Select CD-ROM device</property>
</widget>
<packing>
<property name="type">label_item</property>
@@ -87,14 +78,12 @@
</packing>
</child>
<child>
- <widget class="GtkOptionMenu" id="readmode_optionmenu">
+ <widget class="GtkComboBox" id="readmode_combobox">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="border_width">5</property>
+ <property name="items" translatable="yes">Normal (No Cache)
+Threaded - Faster (With Cache)</property>
</widget>
<packing>
- <property name="padding">1</property>
<property name="position">1</property>
</packing>
</child>
@@ -110,6 +99,7 @@
<property name="visible">True</property>
</widget>
<packing>
+ <property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
@@ -121,7 +111,7 @@
<child>
<widget class="GtkLabel" id="label4">
<property name="visible">True</property>
- <property name="label" translatable="yes">Cache Size (Def. 64): </property>
+ <property name="label" translatable="yes">Cache Size (Def. 64):</property>
</widget>
<packing>
<property name="expand">False</property>
@@ -133,11 +123,14 @@
<widget class="GtkSpinButton" id="spinCacheSize">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="adjustment">32 32 2048 1 16 16</property>
+ <property name="adjustment">32 32 2048 1 16 0</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
</widget>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
@@ -151,10 +144,68 @@
<property name="visible">True</property>
</widget>
<packing>
+ <property name="expand">False</property>
<property name="position">3</property>
</packing>
</child>
<child>
+ <widget class="GtkHBox" id="hbox4">
+ <property name="visible">True</property>
+ <property name="border_width">5</property>
+ <property name="spacing">5</property>
+ <child>
+ <widget class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Spindown Time:</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkComboBox" id="comboSpinDown">
+ <property name="visible">True</property>
+ <property name="items" translatable="yes">Default
+125ms
+250ms
+500ms
+1s
+2s
+4s
+8s
+16s
+32s
+1min
+2min
+4min
+8min
+16min
+32min</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHSeparator" id="hseparator3">
+ <property name="visible">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ <child>
<widget class="GtkHBox" id="hbox3">
<property name="visible">True</property>
<property name="border_width">5</property>
@@ -162,7 +213,7 @@
<child>
<widget class="GtkLabel" id="label5">
<property name="visible">True</property>
- <property name="label" translatable="yes">Cdrom Speed (Def. 0 = MAX): </property>
+ <property name="label" translatable="yes">Cdrom Speed (Def. 0 = MAX):</property>
</widget>
<packing>
<property name="expand">False</property>
@@ -174,17 +225,20 @@
<widget class="GtkSpinButton" id="spinCdrSpeed">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="adjustment">0 0 100 1 4 4</property>
+ <property name="adjustment">0 0 100 1 4 0</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
</widget>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
- <property name="position">4</property>
+ <property name="position">6</property>
</packing>
</child>
<child>
@@ -195,7 +249,8 @@
</accessibility>
</widget>
<packing>
- <property name="position">5</property>
+ <property name="expand">False</property>
+ <property name="position">7</property>
</packing>
</child>
<child>
@@ -211,7 +266,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">6</property>
+ <property name="position">8</property>
</packing>
</child>
</widget>
@@ -283,104 +338,4 @@
</widget>
</child>
</widget>
- <widget class="GtkDialog" id="abt_dialog">
- <property name="width_request">300</property>
- <property name="height_request">200</property>
- <property name="visible">True</property>
- <property name="border_width">10</property>
- <property name="title" translatable="yes">About CDR</property>
- <property name="window_position">center</property>
- <property name="destroy_with_parent">True</property>
- <property name="type_hint">normal</property>
- <child internal-child="vbox">
- <widget class="GtkVBox" id="abt_dialog-vbox">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <child>
- <widget class="GtkVBox" id="vbox3">
- <property name="visible">True</property>
- <property name="border_width">10</property>
- <property name="orientation">vertical</property>
- <child>
- <widget class="GtkLabel" id="label3">
- <property name="visible">True</property>
- <property name="xpad">5</property>
- <property name="ypad">5</property>
- <property name="label" translatable="yes">&lt;span size="xx-large"&gt;&lt;b&gt;CDR plugin&lt;/b&gt;&lt;/span&gt;</property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="xpad">5</property>
- <property name="ypad">5</property>
- <property name="label" translatable="yes">linux CDR plugin for Pcsx
-
-</property>
- <property name="justify">fill</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label2">
- <property name="visible">True</property>
- <property name="xpad">5</property>
- <property name="ypad">5</property>
- <property name="label" translatable="yes">&lt;small&gt;(c) linuzappz linuzappz@hotmail.com
- xobro _xobro_@tin.it&lt;/small&gt;
-</property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
- </child>
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="abt_dialog-action_area">
- <property name="visible">True</property>
- <property name="layout_style">end</property>
- <child>
- <widget class="GtkButton" id="abt_okbutton">
- <property name="label">gtk-ok</property>
- <property name="response_id">-5</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="receives_default">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked" handler="on_abt_okbutton_clicked"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
</glade-interface>
diff --git a/plugins/dfcdrom/cdrcfg-0.1df/interface.c b/plugins/dfcdrom/cdrcfg-0.1df/interface.c
deleted file mode 100644
index 3bb08af6..00000000
--- a/plugins/dfcdrom/cdrcfg-0.1df/interface.c
+++ /dev/null
@@ -1,340 +0,0 @@
-#include "config.h"
-
-#ifdef __linux__
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-
-#include "callbacks.h"
-#include "interface.h"
-#include "support.h"
-
-#ifdef ENABLE_NLS
-#include <libintl.h>
-#include <locale.h>
-#define _(x) gettext(x)
-#else
-#define _(x) (x)
-#endif
-
-#define GLADE_HOOKUP_OBJECT(component,widget,name) \
- g_object_set_data_full (G_OBJECT (component), name, \
- gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
-
-#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
- g_object_set_data (G_OBJECT (component), name, widget)
-
-GtkWidget*
-create_cfg_dialog (void)
-{
- GtkWidget *cfg_dialog;
- GtkWidget *dialog_vbox1;
- GtkWidget *vbox1;
- GtkWidget *frame1;
- GtkWidget *cddev_combo;
- GtkWidget *cddev_entry;
- GtkWidget *cdr_label;
- GtkWidget *frame2;
- GtkWidget *vbox2;
- GtkWidget *hbox1;
- GtkWidget *readmode_label;
- GtkWidget *readmode_optionmenu;
- GtkWidget *menu1;
- GtkWidget *normal;
- GtkWidget *threaded;
- GtkWidget *hseparator1;
- GtkWidget *hbox2;
- GtkWidget *label4;
- GtkObject *spinCacheSize_adj;
- GtkWidget *spinCacheSize;
- GtkWidget *hseparator2;
- GtkWidget *hbox3;
- GtkWidget *label5;
- GtkObject *spinCdrSpeed_adj;
- GtkWidget *spinCdrSpeed;
- GtkWidget *cfg_hseparator;
- AtkObject *atko;
- GtkWidget *subQ_button;
- GtkWidget *options_label;
- GtkWidget *cfg_dialog_action_area;
- GtkWidget *cfg_cancelbutton;
- GtkWidget *cfg_okbutton;
- GtkTooltips *tooltips;
-
- tooltips = gtk_tooltips_new ();
-
- cfg_dialog = gtk_dialog_new ();
- gtk_container_set_border_width (GTK_CONTAINER (cfg_dialog), 5);
- gtk_window_set_title (GTK_WINDOW (cfg_dialog), _("CDR configuration"));
- gtk_window_set_position (GTK_WINDOW (cfg_dialog), GTK_WIN_POS_CENTER);
- gtk_window_set_modal (GTK_WINDOW (cfg_dialog), TRUE);
- gtk_dialog_set_has_separator (GTK_DIALOG (cfg_dialog), FALSE);
-
- dialog_vbox1 = GTK_DIALOG (cfg_dialog)->vbox;
- gtk_widget_show (dialog_vbox1);
-
- vbox1 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox1);
- gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0);
-
- frame1 = gtk_frame_new (NULL);
- gtk_widget_show (frame1);
- gtk_box_pack_start (GTK_BOX (vbox1), frame1, TRUE, TRUE, 0);
-
- cddev_combo = gtk_combo_new ();
- g_object_set_data (G_OBJECT (GTK_COMBO (cddev_combo)->popwin),
- "GladeParentKey", cddev_combo);
- gtk_widget_show (cddev_combo);
- gtk_container_add (GTK_CONTAINER (frame1), cddev_combo);
- gtk_container_set_border_width (GTK_CONTAINER (cddev_combo), 10);
-
- cddev_entry = GTK_COMBO (cddev_combo)->entry;
- gtk_widget_show (cddev_entry);
- gtk_tooltips_set_tip (tooltips, cddev_entry, _("Choose your CD-ROM device or type its path if it's not listed"), NULL);
- gtk_entry_set_activates_default (GTK_ENTRY (cddev_entry), TRUE);
-
- cdr_label = gtk_label_new (_("Select CD-ROM device"));
- gtk_widget_show (cdr_label);
- gtk_frame_set_label_widget (GTK_FRAME (frame1), cdr_label);
- gtk_label_set_justify (GTK_LABEL (cdr_label), GTK_JUSTIFY_LEFT);
-
- frame2 = gtk_frame_new (NULL);
- gtk_widget_show (frame2);
- gtk_box_pack_start (GTK_BOX (vbox1), frame2, TRUE, TRUE, 0);
-
- vbox2 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox2);
- gtk_container_add (GTK_CONTAINER (frame2), vbox2);
-
- hbox1 = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (hbox1);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (hbox1), 5);
-
- readmode_label = gtk_label_new (_("Select read mode:"));
- gtk_widget_show (readmode_label);
- gtk_box_pack_start (GTK_BOX (hbox1), readmode_label, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (readmode_label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_padding (GTK_MISC (readmode_label), 5, 5);
-
- readmode_optionmenu = gtk_option_menu_new ();
- gtk_widget_show (readmode_optionmenu);
- gtk_box_pack_start (GTK_BOX (hbox1), readmode_optionmenu, TRUE, TRUE, 1);
- gtk_container_set_border_width (GTK_CONTAINER (readmode_optionmenu), 5);
-
- menu1 = gtk_menu_new ();
-
- normal = gtk_menu_item_new_with_mnemonic (_("Normal (No Cache)"));
- gtk_widget_show (normal);
- gtk_container_add (GTK_CONTAINER (menu1), normal);
-
- threaded = gtk_menu_item_new_with_mnemonic (_("Threaded - Faster (With Cache)"));
- gtk_widget_show (threaded);
- gtk_container_add (GTK_CONTAINER (menu1), threaded);
-
- gtk_option_menu_set_menu (GTK_OPTION_MENU (readmode_optionmenu), menu1);
-
- hseparator1 = gtk_hseparator_new ();
- gtk_widget_show (hseparator1);
- gtk_box_pack_start (GTK_BOX (vbox2), hseparator1, TRUE, TRUE, 0);
-
- hbox2 = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox2);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, TRUE, TRUE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (hbox2), 5);
-
- label4 = gtk_label_new (_("Cache Size (Def. 64): "));
- gtk_widget_show (label4);
- gtk_box_pack_start (GTK_BOX (hbox2), label4, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_LEFT);
-
-// spinCacheSize_adj = gtk_adjustment_new (32, 32, 2048, 1, 16, 16);
- spinCacheSize_adj = gtk_adjustment_new (32, 32, 2048, 1, 16, 0);
- spinCacheSize = gtk_spin_button_new (GTK_ADJUSTMENT (spinCacheSize_adj), 1, 0);
- gtk_widget_show (spinCacheSize);
- gtk_box_pack_start (GTK_BOX (hbox2), spinCacheSize, TRUE, TRUE, 0);
- gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinCacheSize), TRUE);
-
- hseparator2 = gtk_hseparator_new ();
- gtk_widget_show (hseparator2);
- gtk_box_pack_start (GTK_BOX (vbox2), hseparator2, TRUE, TRUE, 0);
-
- hbox3 = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox3);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox3, TRUE, TRUE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (hbox3), 5);
-
- label5 = gtk_label_new (_("Cdrom Speed (Def. 0 = MAX): "));
- gtk_widget_show (label5);
- gtk_box_pack_start (GTK_BOX (hbox3), label5, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (label5), GTK_JUSTIFY_LEFT);
-
-// spinCdrSpeed_adj = gtk_adjustment_new (0, 0, 100, 1, 4, 4);
- spinCdrSpeed_adj = gtk_adjustment_new (0, 0, 100, 1, 4, 0);
- spinCdrSpeed = gtk_spin_button_new (GTK_ADJUSTMENT (spinCdrSpeed_adj), 1, 0);
- gtk_widget_show (spinCdrSpeed);
- gtk_box_pack_start (GTK_BOX (hbox3), spinCdrSpeed, TRUE, TRUE, 0);
- gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinCdrSpeed), TRUE);
-
- cfg_hseparator = gtk_hseparator_new ();
- gtk_widget_show (cfg_hseparator);
- gtk_box_pack_start (GTK_BOX (vbox2), cfg_hseparator, TRUE, TRUE, 0);
-
- subQ_button = gtk_check_button_new_with_mnemonic (_("Enable Subchannel read"));
- gtk_widget_show (subQ_button);
- gtk_box_pack_start (GTK_BOX (vbox2), subQ_button, FALSE, FALSE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (subQ_button), 10);
-
- options_label = gtk_label_new (_("Options"));
- gtk_widget_show (options_label);
- gtk_frame_set_label_widget (GTK_FRAME (frame2), options_label);
- gtk_label_set_justify (GTK_LABEL (options_label), GTK_JUSTIFY_LEFT);
-
- cfg_dialog_action_area = GTK_DIALOG (cfg_dialog)->action_area;
- gtk_widget_show (cfg_dialog_action_area);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (cfg_dialog_action_area), GTK_BUTTONBOX_END);
-
- cfg_cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
- gtk_widget_show (cfg_cancelbutton);
- gtk_dialog_add_action_widget (GTK_DIALOG (cfg_dialog), cfg_cancelbutton, GTK_RESPONSE_CANCEL);
- GTK_WIDGET_SET_FLAGS (cfg_cancelbutton, GTK_CAN_DEFAULT);
-
- cfg_okbutton = gtk_button_new_from_stock ("gtk-ok");
- gtk_widget_show (cfg_okbutton);
- gtk_dialog_add_action_widget (GTK_DIALOG (cfg_dialog), cfg_okbutton, GTK_RESPONSE_OK);
- GTK_WIDGET_SET_FLAGS (cfg_okbutton, GTK_CAN_DEFAULT);
-
- g_signal_connect ((gpointer) cfg_dialog, "show",
- G_CALLBACK (on_cfg_dialog_show),
- NULL);
- g_signal_connect ((gpointer) cfg_cancelbutton, "clicked",
- G_CALLBACK (on_cfg_cancelbutton_clicked),
- NULL);
- g_signal_connect ((gpointer) cfg_dialog, "delete_event",
- G_CALLBACK (on_cfg_cancelbutton_clicked),
- NULL);
- g_signal_connect ((gpointer) cfg_okbutton, "clicked",
- G_CALLBACK (on_cfg_okbutton_clicked),
- NULL);
-
- atko = gtk_widget_get_accessible (cfg_hseparator);
- atk_object_set_name (atko, "hseparator");
-
- /* Store pointers to all widgets, for use by lookup_widget(). */
- GLADE_HOOKUP_OBJECT_NO_REF (cfg_dialog, cfg_dialog, "cfg_dialog");
- GLADE_HOOKUP_OBJECT_NO_REF (cfg_dialog, dialog_vbox1, "dialog_vbox1");
- GLADE_HOOKUP_OBJECT (cfg_dialog, vbox1, "vbox1");
- GLADE_HOOKUP_OBJECT (cfg_dialog, frame1, "frame1");
- GLADE_HOOKUP_OBJECT (cfg_dialog, cddev_combo, "cddev_combo");
- GLADE_HOOKUP_OBJECT (cfg_dialog, cddev_entry, "cddev_entry");
- GLADE_HOOKUP_OBJECT (cfg_dialog, cdr_label, "cdr_label");
- GLADE_HOOKUP_OBJECT (cfg_dialog, frame2, "frame2");
- GLADE_HOOKUP_OBJECT (cfg_dialog, vbox2, "vbox2");
- GLADE_HOOKUP_OBJECT (cfg_dialog, hbox1, "hbox1");
- GLADE_HOOKUP_OBJECT (cfg_dialog, readmode_label, "readmode_label");
- GLADE_HOOKUP_OBJECT (cfg_dialog, readmode_optionmenu, "readmode_optionmenu");
- GLADE_HOOKUP_OBJECT (cfg_dialog, menu1, "menu1");
- GLADE_HOOKUP_OBJECT (cfg_dialog, normal, "normal");
- GLADE_HOOKUP_OBJECT (cfg_dialog, threaded, "threaded");
- GLADE_HOOKUP_OBJECT (cfg_dialog, hseparator1, "hseparator1");
- GLADE_HOOKUP_OBJECT (cfg_dialog, hbox2, "hbox2");
- GLADE_HOOKUP_OBJECT (cfg_dialog, label4, "label4");
- GLADE_HOOKUP_OBJECT (cfg_dialog, spinCacheSize, "spinCacheSize");
- GLADE_HOOKUP_OBJECT (cfg_dialog, hseparator2, "hseparator2");
- GLADE_HOOKUP_OBJECT (cfg_dialog, hbox3, "hbox3");
- GLADE_HOOKUP_OBJECT (cfg_dialog, label5, "label5");
- GLADE_HOOKUP_OBJECT (cfg_dialog, spinCdrSpeed, "spinCdrSpeed");
- GLADE_HOOKUP_OBJECT (cfg_dialog, cfg_hseparator, "cfg_hseparator");
- GLADE_HOOKUP_OBJECT (cfg_dialog, subQ_button, "subQ_button");
- GLADE_HOOKUP_OBJECT (cfg_dialog, options_label, "options_label");
- GLADE_HOOKUP_OBJECT_NO_REF (cfg_dialog, cfg_dialog_action_area, "cfg_dialog_action_area");
- GLADE_HOOKUP_OBJECT (cfg_dialog, cfg_cancelbutton, "cfg_cancelbutton");
- GLADE_HOOKUP_OBJECT (cfg_dialog, cfg_okbutton, "cfg_okbutton");
- GLADE_HOOKUP_OBJECT_NO_REF (cfg_dialog, tooltips, "tooltips");
-
- return cfg_dialog;
-}
-
-GtkWidget*
-create_abt_dialog (void)
-{
- GtkWidget *abt_dialog;
- GtkWidget *abt_dialog_vbox;
- GtkWidget *vbox3;
- GtkWidget *label3;
- GtkWidget *label1;
- GtkWidget *label2;
- GtkWidget *abt_dialog_action_area;
- GtkWidget *abt_okbutton;
-
- abt_dialog = gtk_dialog_new ();
- gtk_widget_set_size_request (abt_dialog, 300, 200);
- gtk_container_set_border_width (GTK_CONTAINER (abt_dialog), 10);
- gtk_window_set_title (GTK_WINDOW (abt_dialog), "About CDR");
- gtk_window_set_position (GTK_WINDOW (abt_dialog), GTK_WIN_POS_CENTER);
- gtk_window_set_destroy_with_parent (GTK_WINDOW (abt_dialog), TRUE);
-
- abt_dialog_vbox = GTK_DIALOG (abt_dialog)->vbox;
- gtk_widget_show (abt_dialog_vbox);
-
- vbox3 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox3);
- gtk_box_pack_start (GTK_BOX (abt_dialog_vbox), vbox3, TRUE, TRUE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (vbox3), 10);
-
- label3 = gtk_label_new ("<span size=\"xx-large\"><b>CDR plugin</b></span>");
- gtk_widget_show (label3);
- gtk_box_pack_start (GTK_BOX (vbox3), label3, FALSE, FALSE, 0);
- gtk_label_set_use_markup (GTK_LABEL (label3), TRUE);
- gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT);
- gtk_misc_set_padding (GTK_MISC (label3), 5, 5);
-
- label1 = gtk_label_new ("linux CDR plugin for Pcsx\n\n");
- gtk_widget_show (label1);
- gtk_box_pack_start (GTK_BOX (vbox3), label1, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_FILL);
- gtk_misc_set_padding (GTK_MISC (label1), 5, 5);
-
- label2 = gtk_label_new ("<small>(c) linuzappz linuzappz@hotmail.com\n xobro _xobro_@tin.it</small>\n");
- gtk_widget_show (label2);
- gtk_box_pack_start (GTK_BOX (vbox3), label2, FALSE, FALSE, 0);
- gtk_label_set_use_markup (GTK_LABEL (label2), TRUE);
- gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT);
- gtk_misc_set_padding (GTK_MISC (label2), 5, 5);
-
- abt_dialog_action_area = GTK_DIALOG (abt_dialog)->action_area;
- gtk_widget_show (abt_dialog_action_area);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (abt_dialog_action_area), GTK_BUTTONBOX_END);
-
- abt_okbutton = gtk_button_new_from_stock ("gtk-ok");
- gtk_widget_show (abt_okbutton);
- gtk_dialog_add_action_widget (GTK_DIALOG (abt_dialog), abt_okbutton, GTK_RESPONSE_OK);
- GTK_WIDGET_SET_FLAGS (abt_okbutton, GTK_CAN_DEFAULT);
-
- g_signal_connect ((gpointer) abt_okbutton, "clicked",
- G_CALLBACK (on_abt_okbutton_clicked),
- NULL);
- g_signal_connect ((gpointer) abt_dialog, "delete_event",
- G_CALLBACK (on_abt_okbutton_clicked),
- NULL);
-
- /* Store pointers to all widgets, for use by lookup_widget(). */
- GLADE_HOOKUP_OBJECT_NO_REF (abt_dialog, abt_dialog, "abt_dialog");
- GLADE_HOOKUP_OBJECT_NO_REF (abt_dialog, abt_dialog_vbox, "abt_dialog_vbox");
- GLADE_HOOKUP_OBJECT (abt_dialog, vbox3, "vbox3");
- GLADE_HOOKUP_OBJECT (abt_dialog, label3, "label3");
- GLADE_HOOKUP_OBJECT (abt_dialog, label1, "label1");
- GLADE_HOOKUP_OBJECT (abt_dialog, label2, "label2");
- GLADE_HOOKUP_OBJECT_NO_REF (abt_dialog, abt_dialog_action_area, "abt_dialog_action_area");
- GLADE_HOOKUP_OBJECT (abt_dialog, abt_okbutton, "abt_okbutton");
-
- return abt_dialog;
-}
-
-#endif
diff --git a/plugins/dfcdrom/cdrcfg-0.1df/interface.h b/plugins/dfcdrom/cdrcfg-0.1df/interface.h
deleted file mode 100644
index e23e1adb..00000000
--- a/plugins/dfcdrom/cdrcfg-0.1df/interface.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-GtkWidget* create_cfg_dialog (void);
-GtkWidget* create_abt_dialog (void);
diff --git a/plugins/dfcdrom/cdrcfg-0.1df/main.c b/plugins/dfcdrom/cdrcfg-0.1df/main.c
index 3241561e..acc5de25 100644
--- a/plugins/dfcdrom/cdrcfg-0.1df/main.c
+++ b/plugins/dfcdrom/cdrcfg-0.1df/main.c
@@ -1,43 +1,260 @@
+#include <stdio.h>
#include <string.h>
+#include <stdlib.h>
#include <gtk/gtk.h>
+#include <glade/glade.h>
#include "config.h"
#ifdef ENABLE_NLS
#include <libintl.h>
#include <locale.h>
+#define _(x) gettext(x)
+#else
+#define _(x) (x)
#endif
-#include "interface.h"
-#include "support.h"
-
-int main (int argc, char *argv[])
-{
#ifdef __linux__
- GtkWidget *cfg_dialog;
- GtkWidget *abt_dialog;
+#include "../cfg.c"
+
+GtkWidget *MainWindow;
+
+// function to check if the device is a cdrom
+int is_cdrom(const char *device) {
+ struct stat st;
+ int fd = -1;
+
+ // check if the file exist
+ if (stat(device, &st) < 0) return 0;
+
+ // check if is a block or char device
+ if (!S_ISCHR(st.st_mode) && !S_ISBLK(st.st_mode)) return 0;
+
+ // try to open the device file descriptor
+ if ((fd = open(device, O_RDONLY | O_NONBLOCK)) < 0) return 0;
+
+ // I need a method to check is a device is really a CD-ROM.
+ // some problems/ideas are:
+ // - different protocls (ide, scsi, old proprietary...)
+ // - maybe we can use major number (see linux/major.h) to do some check.
+ // major number can be retrieved with (st.st_rdev>>8)
+ // scsi has SCSI_CDROM_MAJOR but does this cover all scsi drives?
+ // beside IDE major is the same for hard disks and cdroms...
+ // and DVDs?
+ // - another idea is to parse /proc, but again IDE, scsi etc have
+ // different files... I've not found a way to query "which CD drives
+ // are available?"
+ //
+ // Now I use this ioctl which works also if the drive is empty,
+ // I hope that is implemented for all the drives... here works
+ // fine: at least doesn't let me to select my HD as CDs ;)
+
+ // try a ioctl to see if it's a CD-ROM device
+ if (ioctl(fd, CDROM_GET_CAPABILITY, NULL) < 0) {
+ close(fd);
+ return 0;
+ }
+
+ close(fd);
+
+ // yes, it seems a CD drive!
+ return 1;
+}
+
+// fill_drives_list: retrieves available cd drives. At the moment it use a quite
+// ugly "brute force" method: we check for the most common location for cdrom
+// in /dev and chech if they are cdrom devices.
+// If your cdrom path is not listed here you'll have to type it in the dialog
+// entry yourself (or add it here and recompile).
+// Are there any other common entry to add to the list? (especially scsi, I
+// deliberately ignored old non standard cdroms... )
+// If you come up with a better method let me know!!
+void fill_drives_list(GtkWidget *widget) {
+ int i = 0;
+ GtkListStore *store;
+ GtkTreeIter iter;
+
+ static const char *cdrom_devices[] = {
+ "/dev/cdrom",
+ "/dev/cdrom0",
+ "/dev/cdrom1",
+ "/dev/cdrom2",
+ "/dev/cdrom3",
+ "/dev/cdroms/cdrom0",
+ "/dev/cdroms/cdrom1",
+ "/dev/cdroms/cdrom2",
+ "/dev/cdroms/cdrom3",
+ "/dev/hda",
+ "/dev/hdb",
+ "/dev/hdc",
+ "/dev/hdd",
+ "/dev/sda",
+ "/dev/sdb",
+ "/dev/sdc",
+ "/dev/sdd",
+ "/dev/scd0",
+ "/dev/scd1",
+ "/dev/scd2",
+ "/dev/scd3",
+ "/dev/optcd",
+ NULL};
+
+ store = gtk_list_store_new(1, G_TYPE_STRING);
+
+ // first we put our current drive
+ gtk_list_store_append(store, &iter);
+ gtk_list_store_set(store, &iter, 0, CdromDev, -1);
+
+ // scan cdrom_devices for real cdrom and add them to list
+ while (cdrom_devices[i] != NULL) {
+ // check that is not our current dev (already in list)
+ if (strcmp(cdrom_devices[i], CdromDev) != 0) {
+ // check that is a cdrom device
+ if (is_cdrom(cdrom_devices[i])) {
+ gtk_list_store_append(store, &iter);
+ gtk_list_store_set(store, &iter, 0, cdrom_devices[i], -1);
+ }
+ }
+ ++i;
+ }
+
+ gtk_combo_box_set_model(GTK_COMBO_BOX(widget), GTK_TREE_MODEL(store));
+ gtk_combo_box_entry_set_text_column(GTK_COMBO_BOX_ENTRY(widget), 0);
+}
+
+static void OnConfigExit(GtkWidget *widget, gpointer user_data) {
+ gtk_widget_destroy(widget);
+ gtk_exit(0);
+}
+
+static void OnConfigOk(GtkWidget *widget, gpointer user_data) {
+ GladeXML *xml;
+
+ xml = glade_get_widget_tree(MainWindow);
+
+ widget = glade_xml_get_widget(xml, "cddev_comboboxentry");
+ strncpy(CdromDev, gtk_entry_get_text(GTK_ENTRY(GTK_BIN(widget)->child)), 255);
+ CdromDev[255] = '\0';
+
+ widget = glade_xml_get_widget(xml, "readmode_combobox");
+ ReadMode = gtk_combo_box_get_active(GTK_COMBO_BOX(widget));
+
+ widget = glade_xml_get_widget(xml, "subQ_button");
+ UseSubQ = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+
+ widget = glade_xml_get_widget(xml, "spinCacheSize");
+ CacheSize = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+
+ widget = glade_xml_get_widget(xml, "spinCdrSpeed");
+ CdrSpeed = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+
+ widget = glade_xml_get_widget(xml, "comboSpinDown");
+ SpinDown = gtk_combo_box_get_active(GTK_COMBO_BOX(widget));
+
+ SaveConf();
+
+ gtk_widget_destroy(widget);
+ gtk_exit(0);
+}
+
+long CDRconfigure() {
+ GladeXML *xml;
+ GtkWidget *widget;
+
+ LoadConf();
+
+ xml = glade_xml_new(DATADIR "dfcdrom.glade2", "CfgWnd", NULL);
+ if (xml == NULL) {
+ g_warning("We could not load the interface!");
+ return -1;
+ }
+
+ MainWindow = glade_xml_get_widget(xml, "CfgWnd");
+ gtk_window_set_title(GTK_WINDOW(MainWindow), _("CDR configuration"));
+
+ widget = glade_xml_get_widget(xml, "CfgWnd");
+ g_signal_connect_data(GTK_OBJECT(widget), "delete_event",
+ GTK_SIGNAL_FUNC(OnConfigExit), NULL, NULL, G_CONNECT_AFTER);
+
+ widget = glade_xml_get_widget(xml, "cfg_cancelbutton");
+ g_signal_connect_data(GTK_OBJECT(widget), "clicked",
+ GTK_SIGNAL_FUNC(OnConfigExit), NULL, NULL, G_CONNECT_AFTER);
+
+ widget = glade_xml_get_widget(xml, "cfg_okbutton");
+ g_signal_connect_data(GTK_OBJECT(widget), "clicked",
+ GTK_SIGNAL_FUNC(OnConfigOk), xml, NULL, G_CONNECT_AFTER);
+
+ widget = glade_xml_get_widget(xml, "cddev_comboboxentry");
+ fill_drives_list(widget);
+ gtk_entry_set_text(GTK_ENTRY(GTK_BIN(widget)->child), CdromDev);
+
+ widget = glade_xml_get_widget(xml, "readmode_combobox");
+ gtk_combo_box_set_active(GTK_COMBO_BOX(widget), ReadMode);
+
+ widget = glade_xml_get_widget(xml, "subQ_button");
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), UseSubQ);
+
+ widget = glade_xml_get_widget(xml, "spinCacheSize");
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), (float)CacheSize);
+
+ widget = glade_xml_get_widget(xml, "spinCdrSpeed");
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), (float)CdrSpeed);
+
+ widget = glade_xml_get_widget(xml, "comboSpinDown");
+ gtk_combo_box_set_active(GTK_COMBO_BOX(widget), SpinDown);
+
+ gtk_widget_show(MainWindow);
+ gtk_main();
+
+ return 0;
+}
+
+static void OnAboutExit(GtkWidget *widget, gpointer user_data) {
+ gtk_widget_destroy(widget);
+ gtk_exit(0);
+}
+
+void CDRabout() {
+ GtkWidget *widget;
+ const char *authors[]= {"linuzappz <linuzappz@hotmail.com>",
+ "xobro <_xobro_@tin.it>", NULL};
+
+ widget = gtk_about_dialog_new();
+ gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(widget), "CD-ROM Device Reader");
+ gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(widget), "1.0");
+ gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(widget), authors);
+ gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(widget), "http://pcsxr.codeplex.com/");
+
+ g_signal_connect_data(GTK_OBJECT(widget), "response",
+ GTK_SIGNAL_FUNC(OnAboutExit), NULL, NULL, G_CONNECT_AFTER);
+
+ gtk_widget_show(widget);
+ gtk_main();
+}
+
+#endif
+
+int main(int argc, char *argv[]) {
#ifdef ENABLE_NLS
- setlocale (LC_ALL, "");
- bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
- textdomain (GETTEXT_PACKAGE);
+ setlocale(LC_ALL, "");
+ bindtextdomain(GETTEXT_PACKAGE, LOCALE_DIR);
+ bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
+ textdomain(GETTEXT_PACKAGE);
#endif
- gtk_set_locale ();
- gtk_init (&argc, &argv);
+#ifdef __linux__
+ gtk_set_locale();
+ gtk_init(&argc, &argv);
if (argc != 2) return 0;
- if (!strcmp(argv[1], "configure")) {
- cfg_dialog = create_cfg_dialog ();
- gtk_widget_show (cfg_dialog);
- gtk_main ();
+ if (strcmp(argv[1], "configure") == 0) {
+ CDRconfigure();
} else {
- abt_dialog = create_abt_dialog ();
- gtk_widget_show (abt_dialog);
- gtk_main ();
+ CDRabout();
}
#endif
+
return 0;
}
diff --git a/plugins/dfcdrom/cdrcfg-0.1df/support.c b/plugins/dfcdrom/cdrcfg-0.1df/support.c
deleted file mode 100644
index 9da69992..00000000
--- a/plugins/dfcdrom/cdrcfg-0.1df/support.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#ifdef __linux__
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-
-#include <gtk/gtk.h>
-
-#include "support.h"
-
-GtkWidget*
-lookup_widget (GtkWidget *widget,
- const gchar *widget_name)
-{
- GtkWidget *parent, *found_widget;
-
- for (;;)
- {
- if (GTK_IS_MENU (widget))
- parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
- else
- parent = widget->parent;
- if (!parent)
- parent = g_object_get_data (G_OBJECT (widget), "GladeParentKey");
- if (parent == NULL)
- break;
- widget = parent;
- }
-
- found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
- widget_name);
- if (!found_widget)
- g_warning ("Widget not found: %s", widget_name);
- return found_widget;
-}
-
-static GList *pixmaps_directories = NULL;
-
-/* Use this function to set the directory containing installed pixmaps. */
-void
-add_pixmap_directory (const gchar *directory)
-{
- pixmaps_directories = g_list_prepend (pixmaps_directories,
- g_strdup (directory));
-}
-
-/* This is an internally used function to find pixmap files. */
-static gchar*
-find_pixmap_file (const gchar *filename)
-{
- GList *elem;
-
- /* We step through each of the pixmaps directory to find it. */
- elem = pixmaps_directories;
- while (elem)
- {
- gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data,
- G_DIR_SEPARATOR_S, filename);
- if (g_file_test (pathname, G_FILE_TEST_EXISTS))
- return pathname;
- g_free (pathname);
- elem = elem->next;
- }
- return NULL;
-}
-
-/* This is an internally used function to create pixmaps. */
-GtkWidget*
-create_pixmap (GtkWidget *widget,
- const gchar *filename)
-{
- gchar *pathname = NULL;
- GtkWidget *pixmap;
-
- if (!filename || !filename[0])
- return gtk_image_new ();
-
- pathname = find_pixmap_file (filename);
-
- if (!pathname)
- {
- g_warning ("Couldn't find pixmap file: %s", filename);
- return gtk_image_new ();
- }
-
- pixmap = gtk_image_new_from_file (pathname);
- g_free (pathname);
- return pixmap;
-}
-
-/* This is an internally used function to create pixmaps. */
-GdkPixbuf*
-create_pixbuf (const gchar *filename)
-{
- gchar *pathname = NULL;
- GdkPixbuf *pixbuf;
- GError *error = NULL;
-
- if (!filename || !filename[0])
- return NULL;
-
- pathname = find_pixmap_file (filename);
-
- if (!pathname)
- {
- g_warning ("Couldn't find pixmap file: %s", filename);
- return NULL;
- }
-
- pixbuf = gdk_pixbuf_new_from_file (pathname, &error);
- if (!pixbuf)
- {
- fprintf (stderr, "Failed to load pixbuf file: %s: %s\n",
- pathname, error->message);
- g_error_free (error);
- }
- g_free (pathname);
- return pixbuf;
-}
-
-/* This is used to set ATK action descriptions. */
-void
-glade_set_atk_action_description (AtkAction *action,
- const gchar *action_name,
- const gchar *description)
-{
- gint n_actions, i;
-
- n_actions = atk_action_get_n_actions (action);
- for (i = 0; i < n_actions; i++)
- {
- if (!strcmp (atk_action_get_name (action, i), action_name))
- atk_action_set_description (action, i, description);
- }
-}
-
-#endif
diff --git a/plugins/dfcdrom/cdrcfg-0.1df/support.h b/plugins/dfcdrom/cdrcfg-0.1df/support.h
deleted file mode 100644
index 2dea079c..00000000
--- a/plugins/dfcdrom/cdrcfg-0.1df/support.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-
-/*
- * Public Functions.
- */
-
-/*
- * This function returns a widget in a component created by Glade.
- * Call it with the toplevel widget in the component (i.e. a window/dialog),
- * or alternatively any widget in the component, and the name of the widget
- * you want returned.
- */
-GtkWidget* lookup_widget (GtkWidget *widget,
- const gchar *widget_name);
-
-
-/* Use this function to set the directory containing installed pixmaps. */
-void add_pixmap_directory (const gchar *directory);
-
-
-/*
- * Private Functions.
- */
-
-/* This is used to create the pixmaps used in the interface. */
-GtkWidget* create_pixmap (GtkWidget *widget,
- const gchar *filename);
-
-/* This is used to create the pixbufs used in the interface. */
-GdkPixbuf* create_pixbuf (const gchar *filename);
-
-/* This is used to set ATK action descriptions. */
-void glade_set_atk_action_description (AtkAction *action,
- const gchar *action_name,
- const gchar *description);
-
diff --git a/plugins/dfcdrom/cfg.c b/plugins/dfcdrom/cfg.c
index 050ed021..b6877859 100644
--- a/plugins/dfcdrom/cfg.c
+++ b/plugins/dfcdrom/cfg.c
@@ -17,6 +17,13 @@
#include "cdr.h"
+char CdromDev[256];
+long ReadMode;
+long UseSubQ;
+long CacheSize;
+long CdrSpeed;
+long SpinDown;
+
void LoadConf() {
FILE *f;
char cfg[255];
@@ -26,6 +33,7 @@ void LoadConf() {
UseSubQ = 0;
CacheSize = 64;
CdrSpeed = 0;
+ SpinDown = SPINDOWN_VENDOR_SPECIFIC;
sprintf(cfg, "dfcdrom.cfg");
f = fopen(cfg, "r");
@@ -36,11 +44,14 @@ void LoadConf() {
fscanf(f, "UseSubQ = %ld\n", &UseSubQ);
fscanf(f, "CacheSize = %ld\n", &CacheSize);
fscanf(f, "CdrSpeed = %ld\n", &CdrSpeed);
+ fscanf(f, "SpinDown = %ld\n", &SpinDown);
fclose(f);
if (ReadMode >= READ_MODES) ReadMode = THREADED;
if (CacheSize <= 0) CacheSize = 32;
if (CacheSize > 2048) CacheSize = 2048;
+ if (SpinDown <= 0) SpinDown = SPINDOWN_VENDOR_SPECIFIC;
+ if (SpinDown > SPINDOWN_32MIN) SpinDown = SPINDOWN_32MIN;
}
void SaveConf() {
@@ -56,6 +67,7 @@ void SaveConf() {
fprintf(f, "UseSubQ = %ld\n", UseSubQ);
fprintf(f, "CacheSize = %ld\n", CacheSize);
fprintf(f, "CdrSpeed = %ld\n", CdrSpeed);
+ fprintf(f, "SpinDown = %ld\n", SpinDown);
fclose(f);
}
diff --git a/plugins/dfinput/Makefile.am b/plugins/dfinput/Makefile.am
index 7c7a8a48..96a340d5 100644
--- a/plugins/dfinput/Makefile.am
+++ b/plugins/dfinput/Makefile.am
@@ -16,7 +16,7 @@ INCLUDES = -DPIXMAPDIR=\"${datadir}/pixmaps/\" \
bin_PROGRAMS = cfgDFInput
cfgDFInput_SOURCES = cfg-gtk2.c pad.h
cfgDFInput_LDADD = $(GTK2_LIBS) $(GLADE2_LIBS)
-cfgDFInput_LDFLAGS = `sdl-config --libs`
+cfgDFInput_LDFLAGS = `$(SDL_CONFIG) --libs`
glade_DATA = dfinput.glade2
gladedir = $(datadir)/psemu/
diff --git a/plugins/dfinput/Makefile.in b/plugins/dfinput/Makefile.in
index 3a12a2f9..83615d69 100644
--- a/plugins/dfinput/Makefile.in
+++ b/plugins/dfinput/Makefile.in
@@ -251,7 +251,7 @@ INCLUDES = -DPIXMAPDIR=\"${datadir}/pixmaps/\" \
cfgDFInput_SOURCES = cfg-gtk2.c pad.h
cfgDFInput_LDADD = $(GTK2_LIBS) $(GLADE2_LIBS)
-cfgDFInput_LDFLAGS = `sdl-config --libs`
+cfgDFInput_LDFLAGS = `$(SDL_CONFIG) --libs`
glade_DATA = dfinput.glade2
gladedir = $(datadir)/psemu/
EXTRA_DIST = $(glade_DATA)