bin_PROGRAMS = sbiload
#man_MANS = sbiload.1
+AM_CFLAGS = -DPATCHDIR=\"$(datadir)/sounds/opl3\"
+
sbiload_SOURCES = sbiload.c
-EXTRA_DIST = README COPYING depcomp
+patchdir = $(datadir)/sounds/opl3
+patch_DATA = std.o3 drums.o3 std.sb drums.sb
+
+EXTRA_DIST = README COPYING depcomp std.o3 drums.o3 std.sb drums.sb
alsa-dist: distdir
@rm -rf ../../distdir/seq/sbiload
{"port", HAS_ARG, NULL, 'p'},
{"opl3", 0, NULL, '4'},
{"list", 0, NULL, 'l'},
+ {"path", HAS_ARG, NULL, 'P'},
{"verbose", HAS_ARG, NULL, 'v'},
{"version", 0, NULL, 'V'},
{0, 0, 0, 0},
int seq_dest_client;
int seq_dest_port;
+#ifndef PATCHDIR
+#define PATCHDIR "/usr/share/sounds/opl3"
+#endif
+
+char *patchdir = PATCHDIR;
+
/* Function prototypes */
static void show_list ();
static void show_usage ();
" -p client:port - A alsa client and port number to send midi to",
" -4 - four operators file type (default = two ops)",
" -l - List possible output ports that could be used",
+ " -P path - Specify the patch path",
" -v level - Verbose level (default = 0)",
" -V - Show version",
};
load_file (int bank, char *filename) {
int fd;
- fd = open (filename, O_RDONLY);
+ if (*filename == '/')
+ fd = open (filename, O_RDONLY);
+ else {
+ char path[1024];
+ snprintf(path, sizeof(path), "%s/%s", PATCHDIR, filename);
+ fd = open (path, O_RDONLY);
+ }
+
if (fd == -1) {
perror (filename);
return -1;
case 'l':
show_list ();
exit (0);
+ case 'P':
+ patchdir = optarg;
+ break;
case '?':
show_usage ();
exit (1);