commit 3d4d099cbc0c77611d7bc2a89aade021b6d1a4e1
parent aafe569d51be89c6d59b72a71fb97e674cd8a7a3
Author: Toni Ruottu <toni.ruottu@helsinki.fi>
Date: Sat, 11 Nov 2006 01:59:46 +0000
Some nsf plugin corrections.
Diffstat:
5 files changed, 27 insertions(+), 15 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,5 +1,5 @@
Sat Nov 11 00:04:34 EET 2006
- Added a NSF ( NES Sound Format ) plugin
+ Added an NSF ( NES Sound Format ) plugin
Sat Sep 16 12:36:42 MDT 2006
Added support for various additional tags to ID3v2 extractors.
diff --git a/NEWS b/NEWS
@@ -1,5 +1,5 @@
Sat Nov 11 00:04:34 EET 2006
- Added a NSF ( NES Sound Format ) plugin
+ Added an NSF ( NES Sound Format ) plugin
Tue Apr 18 14:44:37 PDT 2006
Added dictionaries for Finnish, French, Gaelic and Swedish
diff --git a/src/include/extractor.h b/src/include/extractor.h
@@ -180,6 +180,10 @@ typedef enum {
EXTRACTOR_MUSICIAN_CREDITS_LIST = 123,
EXTRACTOR_MOOD = 124,
+ EXTRACTOR_FORMAT_VERSION = 125,
+ EXTRACTOR_TELEVISION_SYSTEM = 126,
+ EXTRACTOR_SONG_COUNT = 127,
+ EXTRACTOR_STARTING_SONG = 128,
} EXTRACTOR_KeywordType;
diff --git a/src/main/extractor.c b/src/main/extractor.c
@@ -166,11 +166,15 @@ static const char *keywordTypes[] = {
gettext_noop("time"),
gettext_noop("musician credits list"),
gettext_noop("mood"),
+ gettext_noop("format version"), /* 125 */
+ gettext_noop("television system"),
+ gettext_noop("song count"),
+ gettext_noop("starting song"),
NULL,
};
/* the number of keyword types (for bounds-checking) */
-#define HIGHEST_TYPE_NUMBER 125
+#define HIGHEST_TYPE_NUMBER 129
#ifdef HAVE_LIBOGG
#if HAVE_VORBIS
diff --git a/src/plugins/nsfextractor.c b/src/plugins/nsfextractor.c
@@ -50,9 +50,9 @@ libextractor_nsf_extract(const char * filename,
size_t size,
struct EXTRACTOR_Keywords * prev) {
int i;
- char name[32];
- char artist[32];
- char copyright[32];
+ char name[33];
+ char artist[33];
+ char copyright[33];
char songs[32];
char startingsong[32];
@@ -80,20 +80,20 @@ libextractor_nsf_extract(const char * filename,
/* Version of NSF format */
- sprintf( startingsong, "NSF version: %d", data[5] );
- prev = addkword(prev, startingsong, EXTRACTOR_UNKNOWN);
+ sprintf( startingsong, "%d", data[5] );
+ prev = addkword(prev, startingsong, EXTRACTOR_FORMAT_VERSION);
/* Get song count */
- sprintf( songs, "total songs: %d", data[6] );
- prev = addkword(prev, songs, EXTRACTOR_UNKNOWN);
+ sprintf( songs, "%d", data[6] );
+ prev = addkword(prev, songs, EXTRACTOR_SONG_COUNT);
/* Get number of the first song to be played */
- sprintf( startingsong, "starting song: %d", data[7] );
- prev = addkword(prev, startingsong, EXTRACTOR_UNKNOWN);
+ sprintf( startingsong, "%d", data[7] );
+ prev = addkword(prev, startingsong, EXTRACTOR_STARTING_SONG);
/* Parse name, artist, copyright fields */
@@ -105,6 +105,10 @@ libextractor_nsf_extract(const char * filename,
copyright[i] = data[ 0x4e + i ];
}
+ name[32] = '\0';
+ artist[32] = '\0';
+ copyright[32] = '\0';
+
prev = addkword(prev, name, EXTRACTOR_TITLE);
prev = addkword(prev, artist, EXTRACTOR_ARTIST);
prev = addkword(prev, copyright, EXTRACTOR_COPYRIGHT);
@@ -114,17 +118,17 @@ libextractor_nsf_extract(const char * filename,
if( data[0x7a] & 2 )
{
- prev = addkword(prev, "a dual PAL/NTSC tune", EXTRACTOR_UNKNOWN);
+ prev = addkword(prev, "PAL/NTSC", EXTRACTOR_TELEVISION_SYSTEM);
}
else
{
if( data[0x7a] & 1 )
{
- prev = addkword(prev, "a PAL tune", EXTRACTOR_UNKNOWN);
+ prev = addkword(prev, "PAL", EXTRACTOR_TELEVISION_SYSTEM);
}
else
{
- prev = addkword(prev, "an NTSC tune", EXTRACTOR_UNKNOWN);
+ prev = addkword(prev, "NTSC", EXTRACTOR_TELEVISION_SYSTEM);
}
}