forked from len0rd/rockbox
Modified the viewers.config syntax slightly. The name field should now include
path of the plugin/viewer on target, but exclude the exension. Now the Sudoku plugin acts as a normal plugin and a viewer at the same time. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7582 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
8dd2ff50c6
commit
af48260399
3 changed files with 47 additions and 28 deletions
|
|
@ -188,7 +188,7 @@ char* filetype_get_plugin(const struct entry* file)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
snprintf(plugin_name, sizeof(plugin_name),
|
snprintf(plugin_name, sizeof(plugin_name),
|
||||||
VIEWERS_DIR "/%s.rock",filetypes[ix].plugin);
|
"%s/%s.rock", ROCKBOX_DIR, filetypes[ix].plugin);
|
||||||
|
|
||||||
return plugin_name;
|
return plugin_name;
|
||||||
}
|
}
|
||||||
|
|
@ -453,9 +453,13 @@ static int add_plugin(char *plugin)
|
||||||
if (!plugin)
|
if (!plugin)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* starting now, Oct 2005, the plugins are given without extension in the
|
||||||
|
viewers.config file */
|
||||||
cp=strrchr(plugin, '.');
|
cp=strrchr(plugin, '.');
|
||||||
if (cp)
|
if (cp)
|
||||||
*cp='\0';
|
*cp='\0';
|
||||||
|
#endif
|
||||||
|
|
||||||
for (i=first_soft_filetype; i < cnt_filetypes; i++)
|
for (i=first_soft_filetype; i < cnt_filetypes; i++)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,16 @@
|
||||||
ch8,chip8.rock,70 70 7f 7f 70 70
|
ch8,viewers/chip8,70 70 7f 7f 70 70
|
||||||
txt,viewer.rock,55 55 55 55 55 55
|
txt,viewers/viewer,55 55 55 55 55 55
|
||||||
nfo,viewer.rock,55 55 55 55 55 55
|
nfo,viewers/viewer,55 55 55 55 55 55
|
||||||
jpg,jpeg.rock,18 24 3C 3C 24 18
|
jpg,viewers/jpeg,18 24 3C 3C 24 18
|
||||||
ucl,rockbox_flash.rock,2A 7F 41 41 7F 2A
|
ucl,viewers/rockbox_flash,2A 7F 41 41 7F 2A
|
||||||
rvf,video.rock,5D 7F 5D 7F 5D 7F
|
rvf,viewers/video,5D 7F 5D 7F 5D 7F
|
||||||
mp3,vbrfix.rock,10 08 58 38 04 02
|
mp3,viewers/vbrfix,10 08 58 38 04 02
|
||||||
m3u,search.rock,00 00 00 00 00 00
|
m3u,viewers/search,00 00 00 00 00 00
|
||||||
txt,sort.rock, 00 00 00 00 00 00
|
txt,viewers/sort, 00 00 00 00 00 00
|
||||||
gb,rockboy.rock, 0C 2A 59 7A 2E 0C
|
gb,viewers/rockboy, 0C 2A 59 7A 2E 0C
|
||||||
gbc,rockboy.rock, 0C 2A 59 7A 2E 0C
|
gbc,viewers/rockboy, 0C 2A 59 7A 2E 0C
|
||||||
m3u,iriverify.rock,00 00 00 00 00 00
|
m3u,viewers/iriverify,00 00 00 00 00 00
|
||||||
mid,midi2wav.rock, 20 70 70 3F 00 00
|
mid,viewers/midi2wav, 20 70 70 3F 00 00
|
||||||
rsp,searchengine.rock, 0e 11 11 31 7e 60
|
rsp,viewers/searchengine, 0e 11 11 31 7e 60
|
||||||
ss,sudoku.rock, 55 55 55 55 55 55
|
ss,rocks/sudoku, 55 55 55 55 55 55
|
||||||
wav,wav2wv.rock, 00 00 00 00 00 00
|
wav,viewers/wav2wv, 00 00 00 00 00 00
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -76,23 +76,39 @@ sub buildzip {
|
||||||
open VIEWERS, ">.rockbox/viewers.config" or
|
open VIEWERS, ">.rockbox/viewers.config" or
|
||||||
die "can't create .rockbox/viewers.config";
|
die "can't create .rockbox/viewers.config";
|
||||||
mkdir ".rockbox/viewers", 0777;
|
mkdir ".rockbox/viewers", 0777;
|
||||||
for (@viewers) {
|
foreach my $line (@viewers) {
|
||||||
if (/,(.+).rock,/) {
|
if ($line =~ /([^,]*),([^,]*),/) {
|
||||||
my $r = "$1.rock";
|
my ($ext, $plugin)=($1, $2);
|
||||||
my $o = "$1.ovl";
|
my $r = "${plugin}.rock";
|
||||||
if(-e ".rockbox/rocks/$r") {
|
my $o = "${plugin}.ovl";
|
||||||
`mv .rockbox/rocks/$r .rockbox/viewers`;
|
|
||||||
print VIEWERS $_;
|
my $dir = $r;
|
||||||
|
my $name;
|
||||||
|
|
||||||
|
# strip off the last slash and file name part
|
||||||
|
$dir =~ s/(.*)\/(.*)/$1/;
|
||||||
|
# store the file name part
|
||||||
|
$name = $2;
|
||||||
|
|
||||||
|
# print STDERR "$ext $plugin $dir $name $r\n";
|
||||||
|
|
||||||
|
if(-e ".rockbox/rocks/$name") {
|
||||||
|
if($dir ne "rocks") {
|
||||||
|
# target is not 'rocks' but the plugins are always in that
|
||||||
|
# dir at first!
|
||||||
|
`mv .rockbox/rocks/$name .rockbox/$r`;
|
||||||
|
}
|
||||||
|
print VIEWERS $line;
|
||||||
}
|
}
|
||||||
elsif(-e ".rockbox/viewers/$r") {
|
elsif(-e ".rockbox/$r") {
|
||||||
# in case the same plugin works for multiple extensions, it
|
# in case the same plugin works for multiple extensions, it
|
||||||
# was already moved to the viewers dir
|
# was already moved to the viewers dir
|
||||||
print VIEWERS $_;
|
print VIEWERS $line;
|
||||||
}
|
}
|
||||||
if(-e ".rockbox/rocks/$o") {
|
if(-e ".rockbox/rocks/$o") {
|
||||||
# if there's an "overlay" file for the .rock, move that as
|
# if there's an "overlay" file for the .rock, move that as
|
||||||
# well
|
# well
|
||||||
`mv .rockbox/rocks/$o .rockbox/viewers`;
|
`mv .rockbox/rocks/$o .rockbox/$o`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue