"""
Constants used throughout the TonieToolbox package
"""
SAMPLE_RATE_KHZ = 48
ONLY_CONVERT_FRAMEPACKING = -1
OTHER_PACKET_NEEDED = -2
DO_NOTHING = -3
TOO_MANY_SEGMENTS = -4
TIMESTAMP_DEDUCT = 0x50000000
OPUS_TAGS = [
    bytearray(
        b"\x4F\x70\x75\x73\x54\x61\x67\x73\x0D\x00\x00\x00\x4C\x61\x76\x66\x35\x38\x2E\x32\x30\x2E\x31\x30\x30\x03\x00\x00\x00\x26\x00\x00\x00\x65\x6E\x63\x6F\x64\x65\x72\x3D\x6F\x70\x75\x73\x65\x6E\x63\x20\x66\x72\x6F\x6D\x20\x6F\x70\x75\x73\x2D\x74\x6F\x6F\x6C\x73\x20\x30\x2E\x31\x2E\x31\x30\x2A\x00\x00\x00\x65\x6E\x63\x6F\x64\x65\x72\x5F\x6F\x70\x74\x69\x6F\x6E\x73\x3D\x2D\x2D\x71\x75\x69\x65\x74\x20\x2D\x2D\x62\x69\x74\x72\x61\x74\x65\x20\x39\x36\x20\x2D\x2D\x76\x62\x72\x3B\x01\x00\x00\x70\x61\x64\x3D\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30"),
    bytearray(
        b"\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30")
]

# Mapping of language tags to ISO codes
LANGUAGE_MAPPING = {
    # Common language names to ISO codes
    'deutsch': 'de-de',
    'german': 'de-de',
    'english': 'en-us',
    'englisch': 'en-us',
    'français': 'fr-fr',
    'french': 'fr-fr',
    'franzosisch': 'fr-fr',
    'italiano': 'it-it',
    'italian': 'it-it',
    'italienisch': 'it-it',
    'español': 'es-es',
    'spanish': 'es-es',
    'spanisch': 'es-es',
    # Two-letter codes
    'de': 'de-de',
    'en': 'en-us',
    'fr': 'fr-fr',
    'it': 'it-it',
    'es': 'es-es',
}

# Mapping of genre tags to tonie categories
GENRE_MAPPING = {
    # Standard Tonie category names from tonies.json
    'hörspiel': 'Hörspiele & Hörbücher',
    'hörbuch': 'Hörspiele & Hörbücher',
    'hörbücher': 'Hörspiele & Hörbücher',
    'hörspiele': 'Hörspiele & Hörbücher',
    'audiobook': 'Hörspiele & Hörbücher',
    'audio book': 'Hörspiele & Hörbücher',
    'audio play': 'Hörspiele & Hörbücher',
    'audio-play': 'Hörspiele & Hörbücher',
    'audiospiel': 'Hörspiele & Hörbücher',
    'geschichte': 'Hörspiele & Hörbücher',
    'geschichten': 'Hörspiele & Hörbücher',
    'erzählung': 'Hörspiele & Hörbücher',
    
    # Music related genres
    'musik': 'music',
    'lieder': 'music',
    'songs': 'music',
    'music': 'music',
    'lied': 'music',
    'song': 'music',
    
    # More specific categories
    'kinder': 'Hörspiele & Hörbücher',
    'children': 'Hörspiele & Hörbücher',
    'märchen': 'Hörspiele & Hörbücher',
    'fairy tale': 'Hörspiele & Hörbücher',
    'märche': 'Hörspiele & Hörbücher',
    
    'wissen': 'Wissen & Hörmagazine',
    'knowledge': 'Wissen & Hörmagazine',
    'sachbuch': 'Wissen & Hörmagazine',
    'learning': 'Wissen & Hörmagazine',
    'educational': 'Wissen & Hörmagazine',
    'bildung': 'Wissen & Hörmagazine',
    'information': 'Wissen & Hörmagazine',
    
    'schlaf': 'Schlaflieder & Entspannung',
    'sleep': 'Schlaflieder & Entspannung',
    'meditation': 'Schlaflieder & Entspannung',
    'entspannung': 'Schlaflieder & Entspannung',
    'relaxation': 'Schlaflieder & Entspannung',
    'schlaflied': 'Schlaflieder & Entspannung',
    'einschlafhilfe': 'Schlaflieder & Entspannung',
    
    # Default to standard format for custom
    'custom': 'Hörspiele & Hörbücher',
}