diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-11-26 15:29:20 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2009-11-26 15:29:20 +0000 |
| commit | 24054df7ea8081b4a4b9875344b37458ec8502a5 (patch) | |
| tree | 5bfa94e8ac0899b30a8456f5faf188392a78d1ce /plugins | |
| parent | 93e34824a3aaa71b3d9f423311c7ca1f67f4fd73 (diff) | |
| download | pcsxr-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.am | 12 | ||||
| -rw-r--r-- | plugins/dfcdrom/Makefile.in | 126 | ||||
| -rw-r--r-- | plugins/dfcdrom/cdr-linux.c | 17 | ||||
| -rw-r--r-- | plugins/dfcdrom/cdr.h | 31 | ||||
| -rw-r--r-- | plugins/dfcdrom/cdrcfg-0.1df/callbacks.c | 210 | ||||
| -rw-r--r-- | plugins/dfcdrom/cdrcfg-0.1df/callbacks.h | 18 | ||||
| -rw-r--r-- | plugins/dfcdrom/cdrcfg-0.1df/cfg-gtk2.c | 62 | ||||
| -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.c | 340 | ||||
| -rw-r--r-- | plugins/dfcdrom/cdrcfg-0.1df/interface.h | 6 | ||||
| -rw-r--r-- | plugins/dfcdrom/cdrcfg-0.1df/main.c | 257 | ||||
| -rw-r--r-- | plugins/dfcdrom/cdrcfg-0.1df/support.c | 147 | ||||
| -rw-r--r-- | plugins/dfcdrom/cdrcfg-0.1df/support.h | 44 | ||||
| -rw-r--r-- | plugins/dfcdrom/cfg.c | 12 | ||||
| -rw-r--r-- | plugins/dfinput/Makefile.am | 2 | ||||
| -rw-r--r-- | plugins/dfinput/Makefile.in | 2 |
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"><span size="xx-large"><b>CDR plugin</b></span></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"><small>(c) linuzappz linuzappz@hotmail.com - xobro _xobro_@tin.it</small> -</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) |
