Skip to content

Commit

Permalink
using cmd tool for testing of implemented features
Browse files Browse the repository at this point in the history
send errors to debug only if not logged
fix debug_printf
fix backwards unexpected error logic for ini settings
add LOCALSETLOCALES to generate locales setting description
fix missing parse error for extra junk
fix channel setting names/descriptions
remove group disambiguation from SET generation which now must be globally unique
comment callbacks are global, mention this
TEXT_COUNT needs to be the total localized strings count
  • Loading branch information
bbbradsmith committed Apr 22, 2024
1 parent 173747b commit 31e4c41
Show file tree
Hide file tree
Showing 7 changed files with 182 additions and 76 deletions.
75 changes: 73 additions & 2 deletions cmd/cmd.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,81 @@
// stub

#include <cstdio>
#include <nsfplaycore.h>
#include <cstdio>
#include <cstdlib>
#include <cstring>

void error_log(const char* msg) { std::fprintf(stderr,"Error: %s\n",msg); }
void debug_print(const char* msg) { std::fprintf(stdout,"Debug: %s\n",msg); }
void fatal_log(const char* msg) { std::fprintf(stderr,"Fatal: %s\n",msg); std::exit(-1); }

int main()
{
printf("nsfplac stub\n");
nsfplay_set_error_log(error_log);
nsfplay_set_debug_print(debug_print);
nsfplay_set_fatal(fatal_log);

const char* TEST_INI =
"# test comment\n"
"SAMPLERATE=12345\n"
" STEREO_ENABLE = 0 \r\n"
" error no equals\n"
"TITLE_format = a b c d \n\r"
"\tTITLE_FORMAT=\t1234\n"
"TITLE_FORMAT=1234\n"
"\tTITLE_FORMAT = 1234 \n"
"TRI_VOL = 12#34 \n"
"error bad key = 5\n"
"NSE_VOL=string # error bad int\n"
"DPCM_VOL=-3 # error range\n"
"\n"
"VOLUME=368";
const NSFSetInit TEST_INIT[] = {
{NSFP_SET_DPCM_ON,0,NULL},
{NSFP_SET_DPCM_ON,-2,NULL}, // out of range
{NSFP_SET_DPCM_ON,2,NULL}, // out of range
{NSFP_SET_DPCM_ON,0,"string"}, // wrong type
{NSFP_SET_TITLE_FORMAT,0,"string"},
{NSFP_SET_TITLE_FORMAT,3,NULL}, // wrong type
{-1,0,NULL},
};
NSFCore* core = nsfplay_create(TEST_INI);
nsfplay_set_init(core,TEST_INIT);
nsfplay_set_key_int(core,"TRI_ON",0);
nsfplay_set_key_str(core,"TITLE_FORMAT","keyed");

// test info
for (int i=0;i<NSFP_GROUP_COUNT;++i)
{
NSFSetGroupInfo info = nsfplay_set_group_info(core,i);
printf("%s %s - %s\n",info.key,info.name,info.desc);
}
for (int i=0;i<NSFP_SET_COUNT;++i)
{
NSFSetInfo info = nsfplay_set_info(core,i);
printf("%s %s %s - %s %d %d %d %d %s\n",
nsfplay_set_group_info(core,info.group).key,
info.key,info.name,info.desc,
int(info.is_string),info.default_int,info.min_int,info.max_int,
info.default_str ? info.default_str : "<NULL>");
if (info.list)
{
printf("List:");
const char* e = info.list;
for (int j=info.min_int; j<=info.max_int; ++j)
{
printf(" %d=[%s]",j,e);
e += std::strlen(e)+1;
}
printf("\n");
}
}

// test ini generation
for (int i=0;i<NSFP_SET_COUNT;++i)
printf("%s\\n\n",nsfplay_ini_line(core,i));

nsfplay_destroy(core);

return 0;
}
15 changes: 8 additions & 7 deletions core/core.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ void* alloc(size_t size)
{
void* a = std::malloc(size);
if (a == NULL) nsfp::fatal("Out of memory.");
NSFP_DEBUG("alloc(%z)=%p",size,a);
NSFP_DEBUG("alloc(%zu)=%p",size,a);
return a;
}

Expand All @@ -62,8 +62,9 @@ void debug_printf(const char* fmt,...)
static char msg[2048];
va_list args;
va_start(args,fmt);
std::vsnprintf(msg,sizeof(msg),msg,args);
std::vsnprintf(msg,sizeof(msg),fmt,args);
msg[sizeof(msg)-1] = 0;
debug(msg);
#else
(void)fmt;
#endif
Expand Down Expand Up @@ -132,8 +133,8 @@ void NSFCore::set_error(sint32 textenum,...)
if (direct)
{
error_last = fmt;
NSFP_DEBUG("ERROR: %s\n",error_last);
if (nsfp::error_callback) nsfp::error_callback(error_last);
else { NSFP_DEBUG("ERROR: %s",error_last); } // send errors to debug if not logged
return;
}
// format
Expand All @@ -142,8 +143,8 @@ void NSFCore::set_error(sint32 textenum,...)
std::vsnprintf(error_last_buffer,sizeof(error_last_buffer),fmt,args);
error_last_buffer[sizeof(error_last_buffer)-1] = 0;
error_last = error_last_buffer;
NSFP_DEBUG("ERROR: %s\n",error_last);
if (nsfp::error_callback) nsfp::error_callback(error_last);
else { NSFP_DEBUG("ERROR: %s",error_last); }
}

void NSFCore::set_error_raw(const char* fmt,...)
Expand All @@ -153,8 +154,8 @@ void NSFCore::set_error_raw(const char* fmt,...)
std::vsnprintf(error_last_buffer,sizeof(error_last_buffer),fmt,args);
error_last_buffer[sizeof(error_last_buffer)-1] = 0;
error_last = error_last_buffer;
NSFP_DEBUG("ERROR: %s\n",error_last);
if (nsfp::error_callback) nsfp::error_callback(error_last);
else { NSFP_DEBUG("ERROR: %s",error_last); }
}

void NSFCore::set_default()
Expand Down Expand Up @@ -391,7 +392,7 @@ bool NSFCore::parse_ini_line(const char* line, int len, int linenum)
const NSFSetData& SD = NSFPD_SET[se];
if (SD.default_str != NULL)
{
if (set_str(se,line,len) && error_last != NULL)
if (!set_str(se,line,len) && error_last != NULL)
{
NSFP_DEBUG("Unexpected set_str error at INI line %d: %s",linenum,error_last);
}
Expand All @@ -411,7 +412,7 @@ bool NSFCore::parse_ini_line(const char* line, int len, int linenum)
set_error(NSFP_ERROR_INI_BAD_RANGE,linenum,value,SD.min_int,SD.max_int);
return false;
}
if (set_int(se,value) && error_last != NULL)
if (!set_int(se,value) && error_last != NULL)
{
NSFP_DEBUG("Unexpected set_int error at INI line %d: %s",linenum,error_last);
}
Expand Down
76 changes: 46 additions & 30 deletions core/enums_data.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once
// generated by nsfplayenums.py
// 2024-04-22 00:45:03
// 2024-04-22 02:19:01

#include "../include/nsfplayenums.h"

Expand Down Expand Up @@ -86,43 +86,59 @@ const NSFSongPropData NSFPD_SONGPROP[NSFP_SONGPROP_COUNT] = {

const int32_t NSFPD_LOCAL_TEXT[NSFP_LOCALE_COUNT][73] = {
{
0x000000,0x00000F,0x000017,0x00002A,0x00002F,0x00003D,0x000042,0x00003D,0x00003D,0x000066,0x00006B,0x000070,0x000074,0x000078,0x00007D,0x000084,
0x00008B,0x000096,0x0000A1,0x0000A8,0x0000AF,0x0000BC,0x0000D2,0x0000D2,0x0000D9,0x0000D9,0x0000D9,0x0000D9,0x0000D9,0x0000D9,0x0000E0,0x0000E0,
0x0000E0,0x0000E0,0x0000E0,0x0000E0,0x0000E7,0x0000E7,0x0000E7,0x0000E7,0x0000E7,0x0000E7,0x0000ED,0x0000ED,0x0000ED,0x0000ED,0x0000ED,0x0000ED,
0x0000F3,0x0000F3,0x0000F3,0x0000F3,0x0000F3,0x0000F3,0x0000FA,0x000105,0x00010A,0x000110,0x000115,0x00011A,0x00011E,0x000105,0x000128,0x000110,
0x000115,0x000133,0x000145,0x000167,0x000189,0x0001BD,0x0001E9,0x000217,0x000247,
0x000000,0x00000F,0x000017,0x00002A,0x00002F,0x00003D,0x000042,0x00003D,0x00003D,0x000066,0x00006F,0x000078,0x000081,0x000087,0x00008C,0x000093,
0x0000AA,0x0000B5,0x0000CE,0x0000D5,0x0000FD,0x000113,0x000132,0x00013B,0x00014D,0x000159,0x00016B,0x00017B,0x00018C,0x000199,0x0001AB,0x0001B7,
0x0001C9,0x0001D9,0x0001EA,0x0001F7,0x000209,0x000215,0x000227,0x000237,0x000248,0x000255,0x000267,0x000270,0x00027F,0x00028C,0x00029A,0x0002A4,
0x0002B3,0x0002BB,0x0002C9,0x0002D5,0x0002E2,0x0002EB,0x0002F9,0x000304,0x000309,0x00030F,0x000314,0x000319,0x00031D,0x000304,0x000327,0x00030F,
0x000314,0x000332,0x000344,0x000366,0x000388,0x0003BC,0x0003E8,0x000416,0x000446,
},
{
0x000000,0x00000F,0x000017,0x00002A,0x00002F,0x00003D,0x000042,0x00003D,0x00003D,0x000066,0x00006B,0x000070,0x000074,0x000078,0x00007D,0x000084,
0x00008B,0x000096,0x0000A1,0x0000A8,0x0000AF,0x0000BC,0x0000D2,0x0000D2,0x0000D9,0x0000D9,0x0000D9,0x0000D9,0x0000D9,0x0000D9,0x0000E0,0x0000E0,
0x0000E0,0x0000E0,0x0000E0,0x0000E0,0x0000E7,0x0000E7,0x0000E7,0x0000E7,0x0000E7,0x0000E7,0x0000ED,0x0000ED,0x0000ED,0x0000ED,0x0000ED,0x0000ED,
0x0000F3,0x0000F3,0x0000F3,0x0000F3,0x0000F3,0x0000F3,0x0000FA,0x000105,0x00010A,0x000110,0x000115,0x00011A,0x00011E,0x000105,0x000128,0x000110,
0x000115,0x00013D,0x000155,0x00017A,0x0001AA,0x0001D5,0x000205,0x000235,0x000274,
0x000000,0x00000F,0x000017,0x00002A,0x00002F,0x00003D,0x000042,0x00003D,0x00003D,0x000066,0x00006F,0x000078,0x000081,0x000087,0x00008C,0x000093,
0x0000AA,0x0000B5,0x0000CE,0x0000D5,0x0000FD,0x000113,0x000132,0x00013B,0x00014D,0x000159,0x00016B,0x00017B,0x00018C,0x000199,0x0001AB,0x0001B7,
0x0001C9,0x0001D9,0x0001EA,0x0001F7,0x000209,0x000215,0x000227,0x000237,0x000248,0x000255,0x000267,0x000270,0x00027F,0x00028C,0x00029A,0x0002A4,
0x0002B3,0x0002BB,0x0002C9,0x0002D5,0x0002E2,0x0002EB,0x0002F9,0x000304,0x000309,0x00030F,0x000314,0x000319,0x00031D,0x000304,0x000327,0x00030F,
0x000314,0x00033C,0x000354,0x000379,0x0003A9,0x0003D4,0x000404,0x000434,0x000473,
},
};

const uint8_t NSFPD_LOCAL_TEXT_DATA[0x000288] = {
const uint8_t NSFPD_LOCAL_TEXT_DATA[0x000487] = {
0x3C,0x4D,0x49,0x53,0x53,0x49,0x4E,0x47,0x20,0x54,0x45,0x58,0x54,0x3E,0x00,0x4F,0x66,0x66,0x00,0x4F,0x6E,0x00,0x00,0x45,0x6E,0x67,0x6C,0x69,0x73,0x68,0x00,0xE6,
0x97,0xA5,0xE6,0x9C,0xAC,0xE8,0xAA,0x9E,0x00,0x00,0x4D,0x61,0x69,0x6E,0x00,0x4D,0x61,0x69,0x6E,0x20,0x53,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x00,0x41,0x50,0x55,
0x31,0x00,0x42,0x75,0x69,0x6C,0x74,0x2D,0x69,0x6E,0x20,0x74,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x2C,0x20,0x6E,0x6F,0x69,0x73,0x65,0x2C,0x20,0x61,0x6E,0x64,0x20,
0x44,0x50,0x43,0x4D,0x2E,0x00,0x53,0x51,0x55,0x30,0x00,0x53,0x51,0x55,0x31,0x00,0x54,0x52,0x49,0x00,0x4E,0x53,0x45,0x00,0x44,0x50,0x43,0x4D,0x00,0x56,0x4F,0x4C,
0x55,0x4D,0x45,0x00,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x41,0x4D,0x50,0x4C,0x45,0x52,0x41,0x54,0x45,0x00,0x53,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,
0x00,0x53,0x54,0x45,0x52,0x45,0x4F,0x00,0x53,0x74,0x65,0x72,0x65,0x6F,0x00,0x54,0x49,0x54,0x4C,0x45,0x5F,0x46,0x4F,0x52,0x4D,0x41,0x54,0x00,0x4E,0x53,0x46,0x20,
0x73,0x6F,0x6E,0x67,0x20,0x74,0x69,0x74,0x6C,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x00,0x4C,0x4F,0x43,0x41,0x4C,0x45,0x00,0x53,0x51,0x55,0x30,0x4F,0x4E,0x00,
0x53,0x51,0x55,0x31,0x4F,0x4E,0x00,0x54,0x52,0x49,0x4F,0x4E,0x00,0x4E,0x53,0x45,0x4F,0x4E,0x00,0x44,0x50,0x43,0x4D,0x4F,0x4E,0x00,0x53,0x6F,0x6E,0x67,0x20,0x63,
0x6F,0x75,0x6E,0x74,0x00,0x4C,0x4F,0x4E,0x47,0x00,0x54,0x49,0x54,0x4C,0x45,0x00,0x49,0x4E,0x46,0x4F,0x00,0x42,0x4C,0x4F,0x42,0x00,0x49,0x4E,0x54,0x00,0x53,0x6F,
0x6E,0x67,0x20,0x74,0x65,0x73,0x74,0x00,0x53,0x6F,0x6E,0x67,0x20,0x74,0x69,0x74,0x6C,0x65,0x00,0x54,0x65,0x73,0x74,0x20,0x54,0x65,0x78,0x74,0x00,0x67,0x6F,0x6F,
0x64,0x62,0x79,0x65,0x00,0x49,0x6E,0x76,0x61,0x6C,0x69,0x64,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x53,0x45,0x54,0x5F,0x49,
0x4E,0x56,0x41,0x4C,0x49,0x44,0x00,0x57,0x72,0x6F,0x6E,0x67,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x74,0x79,0x70,0x65,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,
0x53,0x45,0x54,0x5F,0x54,0x59,0x50,0x45,0x00,0x53,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x6F,0x75,0x74,0x20,0x6F,0x66,0x20,0x72,0x61,0x6E,0x67,0x65,0x3A,0x20,0x25,
0x64,0x20,0x28,0x25,0x64,0x2D,0x25,0x64,0x29,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x53,0x45,0x54,0x49,0x4E,0x54,0x5F,0x52,0x41,0x4E,0x47,0x45,0x00,0x49,0x4E,0x49,
0x20,0x6C,0x69,0x6E,0x65,0x20,0x25,0x64,0x20,0x6D,0x69,0x73,0x73,0x69,0x6E,0x67,0x20,0x27,0x3D,0x27,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x49,0x4E,0x49,0x5F,0x4E,
0x4F,0x5F,0x45,0x51,0x55,0x41,0x4C,0x53,0x00,0x49,0x4E,0x49,0x20,0x6C,0x69,0x6E,0x65,0x20,0x25,0x64,0x20,0x75,0x6E,0x6B,0x6E,0x6F,0x77,0x6E,0x20,0x73,0x65,0x74,
0x74,0x69,0x6E,0x67,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x49,0x4E,0x49,0x5F,0x42,0x41,0x44,0x5F,0x4B,0x45,0x59,0x00,0x49,0x4E,0x49,0x20,0x6C,0x69,0x6E,0x65,0x20,
0x25,0x64,0x20,0x62,0x61,0x64,0x20,0x69,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x76,0x61,0x6C,0x75,0x65,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x49,0x4E,0x49,0x5F,0x42,
0x41,0x44,0x5F,0x49,0x4E,0x54,0x00,0x49,0x4E,0x49,0x20,0x6C,0x69,0x6E,0x65,0x20,0x25,0x64,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x6F,0x75,0x74,0x20,0x6F,
0x66,0x20,0x72,0x61,0x6E,0x67,0x65,0x3A,0x20,0x25,0x64,0x20,0x28,0x25,0x64,0x2D,0x25,0x64,0x29,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x49,0x4E,0x49,0x5F,0x42,0x41,
0x44,0x5F,0x52,0x41,0x4E,0x47,0x45,0x00,
0x44,0x50,0x43,0x4D,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,
0x00,0x4E,0x6F,0x69,0x73,0x65,0x00,0x44,0x50,0x43,0x4D,0x00,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x54,0x6F,0x74,0x61,0x6C,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,
0x6C,0x6F,0x75,0x64,0x6E,0x65,0x73,0x73,0x2E,0x00,0x53,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x00,0x41,0x75,0x64,0x69,0x6F,0x20,0x6F,0x75,0x74,0x70,0x75,
0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x2E,0x00,0x53,0x74,0x65,0x72,0x65,0x6F,0x00,0x44,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x74,0x6F,0x20,
0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x31,0x2D,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x6D,0x6F,0x6E,0x6F,0x20,0x73,0x6F,0x75,0x6E,0x64,0x2E,0x00,0x4E,0x53,0x46,
0x20,0x73,0x6F,0x6E,0x67,0x20,0x74,0x69,0x74,0x6C,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x00,0x53,0x65,0x65,0x20,0x64,0x6F,0x63,0x75,0x6D,0x65,0x6E,0x74,0x61,
0x74,0x69,0x6F,0x6E,0x20,0x66,0x6F,0x72,0x20,0x64,0x65,0x74,0x61,0x69,0x6C,0x73,0x2E,0x00,0x4C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x00,0x44,0x69,0x73,0x70,0x6C,
0x61,0x79,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x4F,0x6E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,
0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x71,0x75,0x61,0x72,
0x65,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,
0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,
0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,
0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x50,0x61,0x6E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,
0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x4F,0x6E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x65,0x6E,
0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,
0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x50,0x61,0x6E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x70,0x61,
0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x4F,0x6E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,
0x6F,0x69,0x73,0x65,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,
0x50,0x61,0x6E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x4F,0x6E,0x00,0x44,0x50,0x43,0x4D,0x20,
0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x44,0x50,0x43,0x4D,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,
0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x50,0x61,0x6E,0x00,0x44,0x50,0x43,0x4D,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x6F,0x6E,0x67,0x20,0x63,0x6F,
0x75,0x6E,0x74,0x00,0x4C,0x4F,0x4E,0x47,0x00,0x54,0x49,0x54,0x4C,0x45,0x00,0x49,0x4E,0x46,0x4F,0x00,0x42,0x4C,0x4F,0x42,0x00,0x49,0x4E,0x54,0x00,0x53,0x6F,0x6E,
0x67,0x20,0x74,0x65,0x73,0x74,0x00,0x53,0x6F,0x6E,0x67,0x20,0x74,0x69,0x74,0x6C,0x65,0x00,0x54,0x65,0x73,0x74,0x20,0x54,0x65,0x78,0x74,0x00,0x67,0x6F,0x6F,0x64,
0x62,0x79,0x65,0x00,0x49,0x6E,0x76,0x61,0x6C,0x69,0x64,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x53,0x45,0x54,0x5F,0x49,0x4E,
0x56,0x41,0x4C,0x49,0x44,0x00,0x57,0x72,0x6F,0x6E,0x67,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x74,0x79,0x70,0x65,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x53,
0x45,0x54,0x5F,0x54,0x59,0x50,0x45,0x00,0x53,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x6F,0x75,0x74,0x20,0x6F,0x66,0x20,0x72,0x61,0x6E,0x67,0x65,0x3A,0x20,0x25,0x64,
0x20,0x28,0x25,0x64,0x2D,0x25,0x64,0x29,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x53,0x45,0x54,0x49,0x4E,0x54,0x5F,0x52,0x41,0x4E,0x47,0x45,0x00,0x49,0x4E,0x49,0x20,
0x6C,0x69,0x6E,0x65,0x20,0x25,0x64,0x20,0x6D,0x69,0x73,0x73,0x69,0x6E,0x67,0x20,0x27,0x3D,0x27,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x49,0x4E,0x49,0x5F,0x4E,0x4F,
0x5F,0x45,0x51,0x55,0x41,0x4C,0x53,0x00,0x49,0x4E,0x49,0x20,0x6C,0x69,0x6E,0x65,0x20,0x25,0x64,0x20,0x75,0x6E,0x6B,0x6E,0x6F,0x77,0x6E,0x20,0x73,0x65,0x74,0x74,
0x69,0x6E,0x67,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x49,0x4E,0x49,0x5F,0x42,0x41,0x44,0x5F,0x4B,0x45,0x59,0x00,0x49,0x4E,0x49,0x20,0x6C,0x69,0x6E,0x65,0x20,0x25,
0x64,0x20,0x62,0x61,0x64,0x20,0x69,0x6E,0x74,0x65,0x67,0x65,0x72,0x20,0x76,0x61,0x6C,0x75,0x65,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x49,0x4E,0x49,0x5F,0x42,0x41,
0x44,0x5F,0x49,0x4E,0x54,0x00,0x49,0x4E,0x49,0x20,0x6C,0x69,0x6E,0x65,0x20,0x25,0x64,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x6F,0x75,0x74,0x20,0x6F,0x66,
0x20,0x72,0x61,0x6E,0x67,0x65,0x3A,0x20,0x25,0x64,0x20,0x28,0x25,0x64,0x2D,0x25,0x64,0x29,0x00,0x45,0x52,0x52,0x4F,0x52,0x5F,0x49,0x4E,0x49,0x5F,0x42,0x41,0x44,
0x5F,0x52,0x41,0x4E,0x47,0x45,0x00,
};

// end of file
11 changes: 7 additions & 4 deletions enums/english.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
LOCAL ENGLISH "English"
LOCALDEFAULT
LOCALSETLOCALE "Language" "Display language."

LOCALLIST ENABLE OFF "Off"
LOCALLIST ENABLE ON "On"

LOCALCHANNELSET " On" " Volume" " Pan" " enabled." " volume." " panning."

LOCALSETGROUP MAIN "Main" "Main Settings"
LOCALSET MAIN VOLUME "Volume" "Total output loudness."
LOCALSET MAIN SAMPLERATE "Samplerate" "Audio output samplerate."
LOCALSET MAIN STEREO "Stereo" "Disable to output 1-channel mono sound."
LOCALSET MAIN TITLE_FORMAT "NSF song title format" "See documentation for details."
LOCALSET VOLUME "Volume" "Total output loudness."
LOCALSET SAMPLERATE "Samplerate" "Audio output samplerate."
LOCALSET STEREO "Stereo" "Disable to output 1-channel mono sound."
LOCALSET TITLE_FORMAT "NSF song title format" "See documentation for details."

LOCALPROP SONGCOUNT "Song count"
LOCALSONGPROP TITLE "Song title"
Expand Down
Loading

0 comments on commit 31e4c41

Please sign in to comment.