# 🎨 Modding Guide: Anpassade Teman & Språk

Välkommen! Den här guiden riktar sig till avancerade användare och modding-entusiaster som vill anpassa melcom's FFmpeg Audio Normalizer. Även om du inte behöver skriva komplex kod, krävs grundläggande kunskaper om hur man kör Python-skript och använder en textredigerare (som Notepad++).

### ⚠️ Förutsättning: Källkod & Python

Den här guiden är avsedd för avancerade hobbyister och moddare. Eftersom standardfärgerna och språkscheman är inbyggda i programmet, måste anpassningar göras direkt i källkodsfilerna.

Hur man gör: Packa helt enkelt upp filen `AudioNormalizer-Source_Code.7z` från mappen `source_code` i detta release-paket. För att arbeta med dessa filer måste Python vara installerat på ditt system.

När du har gjort dina modifieringar har du två sätt att köra dem på:

- Kör direkt: Starta helt enkelt det modifierade programmet direkt via filen `main.py` (kräver installerad Python).
- Kompilera din egen .exe: Om du vet hur man hanterar kompilatorer kan du enkelt paketera din anpassade källkod till en helt ny, skräddarsydd `AudioNormalizer.exe` (t.ex. med PyInstaller).

Om du inte har Python installerat ännu kan du ladda ner det gratis här:
» www.python.org/downloads

## 🌍 Del 1: Lägga till ett nytt språk

Vill du använda programmet på franska, spanska eller ett helt påhittat språk? Inga problem!

### Steg 1: Kopiera en språkfil

Gå till den uppackade källkodsmappen och sedan till `lang`. Kopiera en befintlig fil, t.ex. `en_US.json`, och döp om den (t.ex. till `fr_FR.json` för franska).

### Steg 2: Översätt

Öppna din nya fil i en textredigerare. Du kommer att se rader som denna:

    "app_title": "melcom's FFmpeg Audio Normalizer",

VIKTIGT: Ändra bara texten på höger sida om kolonet! Den vänstra sidan (t.ex. `"app_title"`) måste förbli exakt likadan, annars kan inte programmet hitta texten.

### Steg 3: Berätta för programmet om språket

Öppna filen `constants.py` i din källkodsmapp. Leta efter den här posten (nära toppen):

    LANGUAGE_CODES_LIST = ["en_US", "de_DE", "pl_PL", "sv_SE"]

Lägg helt enkelt till ditt nya språk i slutet av listan. Glöm inte citattecknen och kommat:

    LANGUAGE_CODES_LIST = ["en_US", "de_DE", "pl_PL", "sv_SE", "fr_FR"]

Spara den, starta programmet via `main.py`, så kan du nu välja ditt språk i alternativen!

## 🖌️ Del 2: Skapa ett eget tema (färger)

Programmet levereras med flera inbyggda teman. Föredrar du knallrosa eller neongrönt? Så här gör du:

### Steg 1: Definiera dina färgvärden

Öppna filen `theme.py`. Kopiera ett befintligt färgblock, t.ex. `MIDNIGHT_PALETTE`, klistra in det nedanför och döp om det till t.ex. `MY_AWESOME_PALETTE`. Justera färgerna med Hex-koder (t.ex. `#FF0000` för rött):

    MY_AWESOME_PALETTE = {
        "bg": "#111111",           # Huvudfönstrets bakgrund
        "fg": "#ffffff",           # Normal textfärg
        "info_bg": "#222222",      # Bakgrund för textområden
        "separator": "#ff00ff",    # Ramar och avdelare
        "entry_bg": "#222222",     # Textinmatningsfält (t.ex. LUFS)
        "disabled_fg": "#666666",  # Utgråad text
        "error_bg": "#ff0000",     # Färg vid ogiltig inmatning
        "button_bg": "#333333",    # Knappbakgrund
        "button_hover": "#444444", # Knappfärg vid hover
        "text_relief": "flat",     # 'flat' (platt) eller 'sunken' (3D)
        "accent": "#00ff00",       # Huvudaccentfärg (Start-knappen!)
        "tree_selected": "#00ff00",# Vald rad i fillistan
        "tree_selected_fg": "#000" # Textfärg på vald rad
    }

### Steg 2: Registrera temat i koden

Skrolla ner till botten av `theme.py` till funktionen `def apply_theme(...)`. Lägg till ditt tema i `if / elif`-listan:

        elif mode == "my awesome theme":
            colors = MY_AWESOME_PALETTE

### Steg 3: Gör temat synligt i menyn

Öppna `constants.py` igen. Sök efter:

    THEME_MODES_LIST = ["light", "läderlappen", "melcom", "aquamarine & blue", "midnight", "modernlight"]

Infoga det exakta namnet (från steg 2) i listan:

    THEME_MODES_LIST = ["light", "läderlappen", "melcom", "aquamarine & blue", "midnight", "modernlight", "my awesome theme"]

Klart! Starta programmet via `main.py` och välj ditt nya tema i alternativen.