#ifndef PEGASE_H
#define PEGASE_H


/****************************************************************************/


/* This file was created automatically by CatComp.
 * Do NOT edit by hand!
 */


#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif

#ifdef CATCOMP_ARRAY
#undef CATCOMP_NUMBERS
#undef CATCOMP_STRINGS
#define CATCOMP_NUMBERS
#define CATCOMP_STRINGS
#endif

#ifdef CATCOMP_BLOCK
#undef CATCOMP_STRINGS
#define CATCOMP_STRINGS
#endif


/****************************************************************************/


#ifdef CATCOMP_NUMBERS

#define MSG_ERROR_TXT 1
#define MSG_FATALERROR_TXT 2
#define MSG_YES_TXT 3
#define MSG_NO_TXT 4
#define MSG_NONE_TXT 5
#define MSG_BREAK_TXT 6
#define MSG_DONE_TXT 7
#define MSG_BADCPU_TXT 8
#define MSG_BADLAYER_ERRORTXT 9
#define MSG_BADMODE_ERRORTXT 10
#define MSG_NO_TIMER_ERRORTXT 11
#define MSG_DISPSETTINGS_SETUP_TXT 12
#define MSG_DISPSETTINGS_SOURCE_TXT 13
#define MSG_DISPSETTINGS_DEST_TXT 14
#define MSG_ENCODING_MODE_TXT 15
#define MSG_DISPSETTINGS_LAYER_TXT 16
#define MSG_DISPSETTINGS_PATTERN_TXT 17
#define MSG_DISPSETTINGS_FLAGS_TXT 18
#define MSG_DISPSETTINGS_COPYRIGHT_TXT 19
#define MSG_DISPSETTINGS_ORIGINAL_TXT 20
#define MSG_DISPSETTINGS_CRC_TXT 21
#define MSG_DISPSETTINGS_STEREO_TXT 22
#define MSG_DISPSETTINGS_MONO_TXT 23
#define MSG_DISPSETTINGS_JOINTSTEREO_TXT 24
#define MSG_DISPSETTINGS_SAMPLES_TXT 25
#define MSG_EXTENDED_HELP 26
#define MSG_FILEREQUEST_TITLE 27
#define MSG_QUIT_GADGET 28
#define MSG_ANALYSING_TXT 29
#define MSG_ENCODING_TXT 30
#define MSG_DESTINATION_TXT 31
#define MSG_ELAPSED_TIME_TXT 32
#define MSG_NOT_AN_AUDIO_FILE_ERROR 33
#define MSG_BAD_AIFF_ERROR 34
#define MSG_BAD_MAUD_ERROR 35
#define MSG_BAD_WAVE_ERROR 36
#define MSG_READ_ERROR 37
#define MSG_UNKNOWN_FILE_FORMAT 38
#define MSG_ASSUME_RAW_TXT 39
#define MSG_UNSUPPORTED_FREQUENCY_ERROR 40
#define MSG_OPEN_OSTREAM_ERROR 41
#define MSG_SEEK_OSTREAM_ERROR 42
#define MSG_WRITE_OSTREAM_ERROR 43
#define MSG_CLOSE_OSTREAM_ERROR 44
#define MSG_ENCODER_NOT_READY_ERROR 45
#define MSG_ISTREAM_ERROR 46
#define MSG_OUT_OF_MEMORY_ERROR 47
#define MSG_STREAM_ERROR 48
#define MSG_WARN_BADIFF_SIZE 49

#endif /* CATCOMP_NUMBERS */


/****************************************************************************/


#ifdef CATCOMP_STRINGS

#define MSG_ERROR_TXT_STR "Error"
#define MSG_FATALERROR_TXT_STR "Fatal error"
#define MSG_YES_TXT_STR "Yes"
#define MSG_NO_TXT_STR "No"
#define MSG_NONE_TXT_STR "none"
#define MSG_BREAK_TXT_STR "*** BREAK ***"
#define MSG_DONE_TXT_STR "Done."
#define MSG_BADCPU_TXT_STR "\nThis version of Pegase is not\nsuitable for your CPU.\n"
#define MSG_BADLAYER_ERRORTXT_STR "Layer number should be 1 or 2."
#define MSG_BADMODE_ERRORTXT_STR "MONO and JOINTSTEREO are mutualy exclusive."
#define MSG_NO_TIMER_ERRORTXT_STR "The timer is not available. Sorry."
#define MSG_DISPSETTINGS_SETUP_TXT_STR "Setup"
#define MSG_DISPSETTINGS_SOURCE_TXT_STR "File/Dir to encode"
#define MSG_DISPSETTINGS_DEST_TXT_STR "Dest"
#define MSG_ENCODING_MODE_TXT_STR "Encoding mode :"
#define MSG_DISPSETTINGS_LAYER_TXT_STR "Layer"
#define MSG_DISPSETTINGS_PATTERN_TXT_STR "File pattern"
#define MSG_DISPSETTINGS_FLAGS_TXT_STR "Flags :"
#define MSG_DISPSETTINGS_COPYRIGHT_TXT_STR "Copyrighted"
#define MSG_DISPSETTINGS_ORIGINAL_TXT_STR "Original"
#define MSG_DISPSETTINGS_CRC_TXT_STR "CRC"
#define MSG_DISPSETTINGS_STEREO_TXT_STR "stereo"
#define MSG_DISPSETTINGS_MONO_TXT_STR "mono"
#define MSG_DISPSETTINGS_JOINTSTEREO_TXT_STR "joint stereo"
#define MSG_DISPSETTINGS_SAMPLES_TXT_STR "samples per channel"
#define MSG_EXTENDED_HELP_STR "Usage :\nFROM      : Input sound files or directories to encode.\nTO        : Output file name or directory for encoded audio file(s).\nLAYER     : Layer number (1 or 2). Default = 2.\nFREQ      : Sampling frequency (Hz). Default = 44100.\nBITRATE   : Total bitrate (kbits/s). Default = 128.\nMONO      : Mono encoding.\nJSTEREO   : Joint stereo encoding.\nCOPYRIGHT : Mark as copyright.\nORIGINAL  : Mark as original.\nCRC       : Add error protection.\nPRIORITY  : Change Pegase's priority.\nVERBOSE   : Print all informations.\n"
#define MSG_FILEREQUEST_TITLE_STR "Select file(s) to encode..."
#define MSG_QUIT_GADGET_STR "Quit"
#define MSG_ANALYSING_TXT_STR "Analysing file"
#define MSG_ENCODING_TXT_STR "Encoding"
#define MSG_DESTINATION_TXT_STR "Destination"
#define MSG_ELAPSED_TIME_TXT_STR "Elapsed time"
#define MSG_NOT_AN_AUDIO_FILE_ERROR_STR "Not an audio file"
#define MSG_BAD_AIFF_ERROR_STR "Unsupported AIFF file"
#define MSG_BAD_MAUD_ERROR_STR "Unsupported MAUD file"
#define MSG_BAD_WAVE_ERROR_STR "Unsupported WAV file"
#define MSG_READ_ERROR_STR "Unable to read this file"
#define MSG_UNKNOWN_FILE_FORMAT_STR "Unknown file format"
#define MSG_ASSUME_RAW_TXT_STR "Assume to be a RAW/PCM file, 16 bits mono"
#define MSG_UNSUPPORTED_FREQUENCY_ERROR_STR "Unsupported sample frequency"
#define MSG_OPEN_OSTREAM_ERROR_STR "Can't open output file"
#define MSG_SEEK_OSTREAM_ERROR_STR "Can't seek to the end of the output file"
#define MSG_WRITE_OSTREAM_ERROR_STR "Can't write to the output file"
#define MSG_CLOSE_OSTREAM_ERROR_STR "Can't close the output file"
#define MSG_ENCODER_NOT_READY_ERROR_STR "Can't initialized the encoder"
#define MSG_ISTREAM_ERROR_STR "Can't initialized the input stream"
#define MSG_OUT_OF_MEMORY_ERROR_STR "Out of memory"
#define MSG_STREAM_ERROR_STR "File error"
#define MSG_WARN_BADIFF_SIZE_STR "*** WARNING *** : Samples chunk size mismatch."

#endif /* CATCOMP_STRINGS */


/****************************************************************************/


#ifdef CATCOMP_ARRAY

struct CatCompArrayType
{
    LONG   cca_ID;
    STRPTR cca_Str;
};

static const struct CatCompArrayType CatCompArray[] =
{
    {MSG_ERROR_TXT,(STRPTR)MSG_ERROR_TXT_STR},
    {MSG_FATALERROR_TXT,(STRPTR)MSG_FATALERROR_TXT_STR},
    {MSG_YES_TXT,(STRPTR)MSG_YES_TXT_STR},
    {MSG_NO_TXT,(STRPTR)MSG_NO_TXT_STR},
    {MSG_NONE_TXT,(STRPTR)MSG_NONE_TXT_STR},
    {MSG_BREAK_TXT,(STRPTR)MSG_BREAK_TXT_STR},
    {MSG_DONE_TXT,(STRPTR)MSG_DONE_TXT_STR},
    {MSG_BADCPU_TXT,(STRPTR)MSG_BADCPU_TXT_STR},
    {MSG_BADLAYER_ERRORTXT,(STRPTR)MSG_BADLAYER_ERRORTXT_STR},
    {MSG_BADMODE_ERRORTXT,(STRPTR)MSG_BADMODE_ERRORTXT_STR},
    {MSG_NO_TIMER_ERRORTXT,(STRPTR)MSG_NO_TIMER_ERRORTXT_STR},
    {MSG_DISPSETTINGS_SETUP_TXT,(STRPTR)MSG_DISPSETTINGS_SETUP_TXT_STR},
    {MSG_DISPSETTINGS_SOURCE_TXT,(STRPTR)MSG_DISPSETTINGS_SOURCE_TXT_STR},
    {MSG_DISPSETTINGS_DEST_TXT,(STRPTR)MSG_DISPSETTINGS_DEST_TXT_STR},
    {MSG_ENCODING_MODE_TXT,(STRPTR)MSG_ENCODING_MODE_TXT_STR},
    {MSG_DISPSETTINGS_LAYER_TXT,(STRPTR)MSG_DISPSETTINGS_LAYER_TXT_STR},
    {MSG_DISPSETTINGS_PATTERN_TXT,(STRPTR)MSG_DISPSETTINGS_PATTERN_TXT_STR},
    {MSG_DISPSETTINGS_FLAGS_TXT,(STRPTR)MSG_DISPSETTINGS_FLAGS_TXT_STR},
    {MSG_DISPSETTINGS_COPYRIGHT_TXT,(STRPTR)MSG_DISPSETTINGS_COPYRIGHT_TXT_STR},
    {MSG_DISPSETTINGS_ORIGINAL_TXT,(STRPTR)MSG_DISPSETTINGS_ORIGINAL_TXT_STR},
    {MSG_DISPSETTINGS_CRC_TXT,(STRPTR)MSG_DISPSETTINGS_CRC_TXT_STR},
    {MSG_DISPSETTINGS_STEREO_TXT,(STRPTR)MSG_DISPSETTINGS_STEREO_TXT_STR},
    {MSG_DISPSETTINGS_MONO_TXT,(STRPTR)MSG_DISPSETTINGS_MONO_TXT_STR},
    {MSG_DISPSETTINGS_JOINTSTEREO_TXT,(STRPTR)MSG_DISPSETTINGS_JOINTSTEREO_TXT_STR},
    {MSG_DISPSETTINGS_SAMPLES_TXT,(STRPTR)MSG_DISPSETTINGS_SAMPLES_TXT_STR},
    {MSG_EXTENDED_HELP,(STRPTR)MSG_EXTENDED_HELP_STR},
    {MSG_FILEREQUEST_TITLE,(STRPTR)MSG_FILEREQUEST_TITLE_STR},
    {MSG_QUIT_GADGET,(STRPTR)MSG_QUIT_GADGET_STR},
    {MSG_ANALYSING_TXT,(STRPTR)MSG_ANALYSING_TXT_STR},
    {MSG_ENCODING_TXT,(STRPTR)MSG_ENCODING_TXT_STR},
    {MSG_DESTINATION_TXT,(STRPTR)MSG_DESTINATION_TXT_STR},
    {MSG_ELAPSED_TIME_TXT,(STRPTR)MSG_ELAPSED_TIME_TXT_STR},
    {MSG_NOT_AN_AUDIO_FILE_ERROR,(STRPTR)MSG_NOT_AN_AUDIO_FILE_ERROR_STR},
    {MSG_BAD_AIFF_ERROR,(STRPTR)MSG_BAD_AIFF_ERROR_STR},
    {MSG_BAD_MAUD_ERROR,(STRPTR)MSG_BAD_MAUD_ERROR_STR},
    {MSG_BAD_WAVE_ERROR,(STRPTR)MSG_BAD_WAVE_ERROR_STR},
    {MSG_READ_ERROR,(STRPTR)MSG_READ_ERROR_STR},
    {MSG_UNKNOWN_FILE_FORMAT,(STRPTR)MSG_UNKNOWN_FILE_FORMAT_STR},
    {MSG_ASSUME_RAW_TXT,(STRPTR)MSG_ASSUME_RAW_TXT_STR},
    {MSG_UNSUPPORTED_FREQUENCY_ERROR,(STRPTR)MSG_UNSUPPORTED_FREQUENCY_ERROR_STR},
    {MSG_OPEN_OSTREAM_ERROR,(STRPTR)MSG_OPEN_OSTREAM_ERROR_STR},
    {MSG_SEEK_OSTREAM_ERROR,(STRPTR)MSG_SEEK_OSTREAM_ERROR_STR},
    {MSG_WRITE_OSTREAM_ERROR,(STRPTR)MSG_WRITE_OSTREAM_ERROR_STR},
    {MSG_CLOSE_OSTREAM_ERROR,(STRPTR)MSG_CLOSE_OSTREAM_ERROR_STR},
    {MSG_ENCODER_NOT_READY_ERROR,(STRPTR)MSG_ENCODER_NOT_READY_ERROR_STR},
    {MSG_ISTREAM_ERROR,(STRPTR)MSG_ISTREAM_ERROR_STR},
    {MSG_OUT_OF_MEMORY_ERROR,(STRPTR)MSG_OUT_OF_MEMORY_ERROR_STR},
    {MSG_STREAM_ERROR,(STRPTR)MSG_STREAM_ERROR_STR},
    {MSG_WARN_BADIFF_SIZE,(STRPTR)MSG_WARN_BADIFF_SIZE_STR},
};

#endif /* CATCOMP_ARRAY */


/****************************************************************************/


#ifdef CATCOMP_BLOCK

static const char CatCompBlock[] =
{
    "\x00\x00\x00\x01\x00\x06"
    MSG_ERROR_TXT_STR "\x00"
    "\x00\x00\x00\x02\x00\x0C"
    MSG_FATALERROR_TXT_STR "\x00"
    "\x00\x00\x00\x03\x00\x04"
    MSG_YES_TXT_STR "\x00"
    "\x00\x00\x00\x04\x00\x04"
    MSG_NO_TXT_STR "\x00\x00"
    "\x00\x00\x00\x05\x00\x06"
    MSG_NONE_TXT_STR "\x00\x00"
    "\x00\x00\x00\x06\x00\x0E"
    MSG_BREAK_TXT_STR "\x00"
    "\x00\x00\x00\x07\x00\x06"
    MSG_DONE_TXT_STR "\x00"
    "\x00\x00\x00\x08\x00\x38"
    MSG_BADCPU_TXT_STR "\x00\x00"
    "\x00\x00\x00\x09\x00\x20"
    MSG_BADLAYER_ERRORTXT_STR "\x00\x00"
    "\x00\x00\x00\x0A\x00\x2C"
    MSG_BADMODE_ERRORTXT_STR "\x00"
    "\x00\x00\x00\x0B\x00\x24"
    MSG_NO_TIMER_ERRORTXT_STR "\x00\x00"
    "\x00\x00\x00\x0C\x00\x06"
    MSG_DISPSETTINGS_SETUP_TXT_STR "\x00"
    "\x00\x00\x00\x0D\x00\x14"
    MSG_DISPSETTINGS_SOURCE_TXT_STR "\x00\x00"
    "\x00\x00\x00\x0E\x00\x06"
    MSG_DISPSETTINGS_DEST_TXT_STR "\x00\x00"
    "\x00\x00\x00\x0F\x00\x10"
    MSG_ENCODING_MODE_TXT_STR "\x00"
    "\x00\x00\x00\x10\x00\x06"
    MSG_DISPSETTINGS_LAYER_TXT_STR "\x00"
    "\x00\x00\x00\x11\x00\x0E"
    MSG_DISPSETTINGS_PATTERN_TXT_STR "\x00\x00"
    "\x00\x00\x00\x12\x00\x08"
    MSG_DISPSETTINGS_FLAGS_TXT_STR "\x00"
    "\x00\x00\x00\x13\x00\x0C"
    MSG_DISPSETTINGS_COPYRIGHT_TXT_STR "\x00"
    "\x00\x00\x00\x14\x00\x0A"
    MSG_DISPSETTINGS_ORIGINAL_TXT_STR "\x00\x00"
    "\x00\x00\x00\x15\x00\x04"
    MSG_DISPSETTINGS_CRC_TXT_STR "\x00"
    "\x00\x00\x00\x16\x00\x08"
    MSG_DISPSETTINGS_STEREO_TXT_STR "\x00\x00"
    "\x00\x00\x00\x17\x00\x06"
    MSG_DISPSETTINGS_MONO_TXT_STR "\x00\x00"
    "\x00\x00\x00\x18\x00\x0E"
    MSG_DISPSETTINGS_JOINTSTEREO_TXT_STR "\x00\x00"
    "\x00\x00\x00\x19\x00\x14"
    MSG_DISPSETTINGS_SAMPLES_TXT_STR "\x00"
    "\x00\x00\x00\x1A\x02\x08"
    MSG_EXTENDED_HELP_STR "\x00\x00"
    "\x00\x00\x00\x1B\x00\x1C"
    MSG_FILEREQUEST_TITLE_STR "\x00"
    "\x00\x00\x00\x1C\x00\x06"
    MSG_QUIT_GADGET_STR "\x00\x00"
    "\x00\x00\x00\x1D\x00\x10"
    MSG_ANALYSING_TXT_STR "\x00\x00"
    "\x00\x00\x00\x1E\x00\x0A"
    MSG_ENCODING_TXT_STR "\x00\x00"
    "\x00\x00\x00\x1F\x00\x0C"
    MSG_DESTINATION_TXT_STR "\x00"
    "\x00\x00\x00\x20\x00\x0E"
    MSG_ELAPSED_TIME_TXT_STR "\x00\x00"
    "\x00\x00\x00\x21\x00\x12"
    MSG_NOT_AN_AUDIO_FILE_ERROR_STR "\x00"
    "\x00\x00\x00\x22\x00\x16"
    MSG_BAD_AIFF_ERROR_STR "\x00"
    "\x00\x00\x00\x23\x00\x16"
    MSG_BAD_MAUD_ERROR_STR "\x00"
    "\x00\x00\x00\x24\x00\x16"
    MSG_BAD_WAVE_ERROR_STR "\x00\x00"
    "\x00\x00\x00\x25\x00\x1A"
    MSG_READ_ERROR_STR "\x00\x00"
    "\x00\x00\x00\x26\x00\x14"
    MSG_UNKNOWN_FILE_FORMAT_STR "\x00"
    "\x00\x00\x00\x27\x00\x2A"
    MSG_ASSUME_RAW_TXT_STR "\x00"
    "\x00\x00\x00\x28\x00\x1E"
    MSG_UNSUPPORTED_FREQUENCY_ERROR_STR "\x00\x00"
    "\x00\x00\x00\x29\x00\x18"
    MSG_OPEN_OSTREAM_ERROR_STR "\x00\x00"
    "\x00\x00\x00\x2A\x00\x2A"
    MSG_SEEK_OSTREAM_ERROR_STR "\x00\x00"
    "\x00\x00\x00\x2B\x00\x20"
    MSG_WRITE_OSTREAM_ERROR_STR "\x00\x00"
    "\x00\x00\x00\x2C\x00\x1C"
    MSG_CLOSE_OSTREAM_ERROR_STR "\x00"
    "\x00\x00\x00\x2D\x00\x1E"
    MSG_ENCODER_NOT_READY_ERROR_STR "\x00"
    "\x00\x00\x00\x2E\x00\x24"
    MSG_ISTREAM_ERROR_STR "\x00\x00"
    "\x00\x00\x00\x2F\x00\x0E"
    MSG_OUT_OF_MEMORY_ERROR_STR "\x00"
    "\x00\x00\x00\x30\x00\x0C"
    MSG_STREAM_ERROR_STR "\x00\x00"
    "\x00\x00\x00\x31\x00\x30"
    MSG_WARN_BADIFF_SIZE_STR "\x00\x00"
};

#endif /* CATCOMP_BLOCK */


/****************************************************************************/


struct LocaleInfo
{
    APTR li_LocaleBase;
    APTR li_Catalog;
};


#ifdef CATCOMP_CODE

STRPTR GetString(struct LocaleInfo *li, LONG stringNum)
{
LONG   *l;
UWORD  *w;
STRPTR  builtIn;

    l = (LONG *)CatCompBlock;

    while (*l != stringNum)
    {
        w = (UWORD *)((ULONG)l + 4);
        l = (LONG *)((ULONG)l + (ULONG)*w + 6);
    }
    builtIn = (STRPTR)((ULONG)l + 6);

#define XLocaleBase LocaleBase
#define LocaleBase li->li_LocaleBase
    
    if (LocaleBase)
        return(GetCatalogStr(li->li_Catalog,stringNum,builtIn));
#define LocaleBase XLocaleBase
#undef XLocaleBase

    return(builtIn);
}


#endif /* CATCOMP_CODE */


/****************************************************************************/


#endif /* PEGASE_H */
