-- Потом напишу этот плагин. Сейчас рот ебал, этот кал не работает, документация гавно, инфы ноль

--[[
local utils = require('mp.utils')

-- Функция для обработки выбора аудио дорожки (пока что просто вывод сообщения)
local function handle_audio_track_select(track_id)
    -- mp.commandv("set", "aid", track_id) -- Устанавливаем активную дорожку
    mp.osd_message("Выбрана дорожка: " .. tostring(track_id), 5)
end

-- Функция для создания строки описания аудио дорожки
local function format_audio_track_description(track)
    local parts = {}

    table.insert(parts, track.codec)
    if track["audio-channels"] then
        table.insert(parts,
            string.format("%d %s", track["audio-channels"], track["audio-channels"] == 1 and "channel" or "channels"))
    end
    if track["demux-samplerate"] then
        table.insert(parts, string.format("%gkHz", track["demux-samplerate"] / 1000))
    end
    if track.default then
        table.insert(parts, "default")
    end

    return table.concat(parts, ", ")
end

-- Функция для создания меню аудио дорожек
local function create_audio_track_menu()
    local track_list = mp.get_property_native("track-list", {})
    local active_track_id = mp.get_property_number("aid")
    local menu_items = {}

    -- Добавляем доступные аудио дорожки
    for _, track in ipairs(track_list) do
        if track.type == "audio" then
            local title = string.format("Track %d", track.id)
            if track.lang then
                title = title .. " (" .. track.lang .. ")"
            end
            menu_items[#menu_items + 1] = {
                title = title,
                hint = format_audio_track_description(track),
                value = track.id,
                active = track.id == active_track_id,
            }
        end
    end

    -- Создаем меню с помощью uosc
    local menu_data = {
        type = "audio-tracks",
        title = "Пидор",
        items = menu_items,
    }
    local menu_json = utils.format_json(menu_data)
    mp.commandv("script-message-to", "uosc", "open-menu", menu_json)
end

-- Функция для обработки выбора пункта меню
mp.register_script_message("uosc-audio-tracks-select", function(value)
       handle_audio_track_select(value)
end)


-- Функция, вызываемая при активации команды "audio"
local function change_audio_track()
    create_audio_track_menu()
end

-- Перехватываем команду "audio" из uosc
mp.commandv("script-message-to", "uosc", "overwrite-binding", "audio", "script-binding " .. mp.get_script_name() .. "/change_audio_track")

-- Добавляем команды для активации/деактивации
mp.add_key_binding(nil, "change_audio_track", change_audio_track)
--]]
