export const actionData = {
    // PROJECT
    id_select_project: { SECTION: "guide_title.project", name: "actions.id_select_project", icon: "project", input: "id", incompatible: ["index_select_project"] },
    index_select_project: { name: "actions.index_select_project", icon: "project", input: "index", incompatible: ["id_select_project"] },
    next_project_item: { name: "actions.next_project_item", icon: "project", incompatible: ["previous_project_item", "index_select_project_item"] },
    previous_project_item: { name: "actions.previous_project_item", icon: "project", incompatible: ["next_project_item", "index_select_project_item"] },
    index_select_project_item: { name: "actions.index_select_project_item", icon: "project", input: "index", incompatible: ["next_project_item", "previous_project_item"] },
    name_start_project_item: { name: "actions.name_start_project_item", icon: "project", input: "strval" },
    mark_active_as_played: { name: "actions.mark_played", icon: "check", input: "toggle" },

    // SHOWS
    name_select_show: { SECTION: "guide_title.show", name: "actions.name_select_show", icon: "showIcon", input: "strval" },
    start_show: { slideId: "startShow", common: true, name: "preview._start", icon: "showIcon", input: "start_show" }, // any play actions are incompatible with clear actions...
    set_template: { name: "actions.set_template_active", icon: "templates", input: "id" },
    set_next_slide_timer: { name: "preview.nextTimer", icon: "timer", input: "numval" },
    change_slide_timeline_speed: { name: "actions.change_slide_timeline_speed", icon: "timeline", input: "percentage" },
    transpose_show_up: { name: "edit.transpose_up", icon: "up" },
    transpose_show_down: { name: "edit.transpose_down", icon: "down" },

    // PRESENTATION
    next_slide: { SECTION: "preview.slide", name: "preview._next_slide", icon: "slide", incompatible: ["previous_slide", "random_slide", "index_select_slide", "name_select_slide", "id_select_group"] }, // common: true,
    previous_slide: { name: "preview._previous_slide", icon: "slide", incompatible: ["next_slide", "random_slide", "index_select_slide", "name_select_slide", "id_select_group"] }, // common: true,
    random_slide: { name: "actions.random_slide", icon: "slide", incompatible: ["next_slide", "previous_slide", "index_select_slide", "name_select_slide", "id_select_group"] },
    index_select_slide: { name: "actions.index_select_slide", icon: "slide", input: "index", incompatible: ["next_slide", "previous_slide", "random_slide", "name_select_slide", "id_select_group"] },
    name_select_slide: { name: "actions.name_select_slide", icon: "groups", input: "strval", incompatible: ["next_slide", "previous_slide", "random_slide", "index_select_slide", "id_select_group"] },
    id_select_group: { name: "actions.id_select_group", icon: "groups", input: "id", incompatible: ["next_slide", "previous_slide", "random_slide", "index_select_slide", "name_select_slide"] },

    // CLEAR
    restore_output: { SECTION: "clear.general", name: "preview.restore_output", icon: "reset", incompatible: ["clear_all", "clear_background", "clear_slide", "clear_overlays", "clear_audio", "clear_next_timer"] },
    clear_all: { name: "clear.all", icon: "clear", incompatible: ["restore_output", "clear_background", "clear_slide", "clear_overlays", "clear_audio", "clear_next_timer"] },
    clear_background: { slideId: "clearBackground", common: true, name: "clear.background", icon: "image", red: true, incompatible: ["restore_output", "clear_all"] },
    clear_slide: { common: true, name: "clear.slide", icon: "slide", red: true, incompatible: ["restore_output", "clear_all"] },
    clear_overlays: { slideId: "clearOverlays", common: true, name: "clear.overlays", icon: "overlays", red: true, incompatible: ["restore_output", "clear_all", "clear_overlay"] },
    clear_overlay: { name: "clear.overlay", icon: "overlays", input: "id", red: true, incompatible: ["restore_output", "clear_all", "clear_overlays"] }, // common: true,
    clear_audio: { slideId: "clearAudio", common: true, name: "clear.audio", icon: "audio", red: true, incompatible: ["restore_output", "clear_all"] },
    clear_next_timer: { name: "clear.nextTimer", icon: "timer", red: true, incompatible: ["restore_output", "clear_all"] },
    clear_drawing: { name: "clear.drawing", icon: "paint", red: true },

    // MEDIA
    start_camera: { SECTION: "tabs.media", common: true, name: "actions.start_camera", icon: "camera", input: "camera" },
    start_screen: { common: true, name: "actions.start_screen", icon: "screen", input: "screen" },
    toggle_playing_media: { name: "actions.toggle_playing_media", icon: "pause" },

    // OVERLAYS
    // SECTION: "tabs.overlays",
    id_start_effect: { common: true, canAddMultiple: true, name: "actions.id_start_effect", icon: "effects", input: "id" },
    id_select_overlay: { common: true, canAddMultiple: true, name: "actions.id_select_overlay", icon: "overlays", input: "id" },

    // OUTPUT
    start_webrtc_stream: { SECTION: "guide_title.output", name: "output.start_streaming (WebRTC)", icon: "record", input: "id" },
    stop_webrtc_stream: { name: "output.stop_streaming (WebRTC)", icon: "stop", input: "id", red: true },
    start_rtmp_stream: { name: "output.start_streaming (RTMP)", icon: "record", input: "id" },
    stop_rtmp_stream: { name: "output.stop_streaming (RTMP)", icon: "stop", input: "id", red: true },
    lock_output: { canAddMultiple: true, name: "actions.toggle_output_lock", icon: "locked", input: "output_lock" },
    toggle_output_windows: { name: "actions.toggle_output_windows", icon: "outputs", input: "toggle", incompatible: ["toggle_output"] },
    toggle_output: { canAddMultiple: true, name: "actions.toggle_output_window", icon: "outputs", input: "toggle_output", incompatible: ["toggle_output_windows"] },
    // id_select_output_style: { name: "actions.id_select_output_style", icon: "styles", input: "id" },
    change_output_style: { slideId: "outputStyle", common: true, canAddMultiple: true, name: "actions.change_output_style", icon: "styles", input: "change_output_style" },
    change_transition: { name: "actions.change_transition", icon: "transition", input: "transition" },
    mute_output: { name: "output.mute", icon: "muted", input: "id" },
    unmute_output: { name: "output.unmute", icon: "volume", input: "id" },

    // STAGE
    // SECTION: "menu.stage",
    change_stage_output_layout: { common: true, canAddMultiple: true, name: "actions.change_stage_output_layout", icon: "stage", input: "stage_output_layout" },
    id_select_stage_layout: { name: "actions.id_change_stage_layout", icon: "stage", input: "id" },

    // AUDIO
    change_volume: { SECTION: "tabs.audio", name: "actions.change_volume", icon: "volume", input: "volume" },
    start_audio_stream: { slideId: "audioStream", common: true, name: "actions.start_audio_stream", icon: "audio_stream", input: "id" },
    start_playlist: { common: true, name: "actions.start_playlist", icon: "playlist", input: "id", incompatible: ["playlist_next"] },
    playlist_next: { name: "actions.playlist_next", icon: "playlist", incompatible: ["start_playlist"] },
    start_metronome: { name: "actions.start_metronome", icon: "metronome", input: "metronome" },
    start_audio_effect: { common: true, canAddMultiple: true, name: "actions.start_audio_effect", icon: "effect", input: "audio_effects" },

    // TIMERS
    id_start_timer: { SECTION: "tabs.timers", common: true, canAddMultiple: true, name: "actions.id_start_timer", icon: "timer", input: "id", incompatible: ["pause_timers", "stop_timers"] },
    start_slide_timers: { slideId: "startTimer", common: true, name: "actions.start_slide_timers", icon: "timer", incompatible: ["pause_timers", "stop_timers"] },
    pause_timers: { common: true, name: "actions.pause_timers", icon: "pause", incompatible: ["id_start_timer", "start_slide_timers", "stop_timers"] },
    stop_timers: { slideId: "stopTimers", common: true, name: "actions.stop_timers", icon: "stop", red: true, incompatible: ["id_start_timer", "start_slide_timers", "pause_timers"] },
    // only API action:
    // id_pause_timer: { canAddMultiple: true, name: "actions.id_pause_timer", icon: "pause", input: "id", incompatible: ["id_start_timer", "start_slide_timers", "stop_timers"] },
    // id_stop_timer: { canAddMultiple: true, name: "actions.id_stop_timer", icon: "stop", input: "id", red: true, incompatible: ["id_start_timer", "start_slide_timers", "pause_timers"] },

    // TIMELINE
    start_timeline: { SECTION: "popup.timeline", name: "actions.start_timeline", icon: "timeline" },
    stop_timeline: { name: "actions.stop_timeline", icon: "timeline" },
    pause_timeline: { name: "actions.pause_timeline", icon: "timeline" },
    set_timeline_time: { name: "actions.set_timeline_time", icon: "timeline", input: "seconds" },

    // FUNCTIONS
    change_variable: { SECTION: "tabs.functions", common: true, canAddMultiple: true, name: "actions.change_variable", icon: "variable", input: "variable" },

    change_draw_zoom: { SECTION: "menu.draw", name: "actions.change_draw_zoom", icon: "zoom", input: "draw_zoom" },

    // EMIT
    // send_midi: { SECTION: "actions.emit_data", canAddMultiple: true, slideId: "sendMidi", name: "actions.send_midi", icon: "music", input: "midi" },
    // send_rest_command: { canAddMultiple: true, name: "actions.send_rest_command", icon: "trigger", input: "rest" },
    emit_action: { SECTION: "actions.emit_data", common: true, canAddMultiple: true, name: "actions.emit_data", icon: "emitter", input: "emitter" },

    // Interactions
    interaction_start: { SECTION: "tabs.interactions", name: "tabs.interactions: inputs.start", icon: "game", input: "interactions" },
    interaction_stop: { name: "tabs.interactions: media.stop", icon: "game", input: "interactions" },
    interaction_next: { canAddMultiple: true, name: "tabs.interactions: media.next", icon: "game", input: "interactions" },
    interaction_previous: { canAddMultiple: true, name: "tabs.interactions: media.previous", icon: "game", input: "interactions" },

    // OBS Studio
    obs_set_scene: { SECTION: "OBS Studio", name: "OBS Studio: Set scene", icon: "screen", input: "obs_scene" },
    obs_start_livestream: { name: "OBS Studio: Start livestream", icon: "camera" },
    obs_stop_livestream: { name: "OBS Studio: Stop livestream", icon: "camera", red: true },
    obs_start_recording: { name: "OBS Studio: Start recording", icon: "record" },
    obs_stop_recording: { name: "OBS Studio: Stop recording", icon: "record", red: true },

    // SPOTIFY
    spotify_play: { SECTION: "Spotify", name: "Spotify: media.play", icon: "play" },
    spotify_pause: { name: "Spotify: media.pause", icon: "pause" },
    spotify_fade_out: { name: "Spotify: media.fade_out", icon: "clear" },
    spotify_next: { name: "Spotify: media.next", icon: "nextFull" },
    spotify_previous: { name: "Spotify: media.previous", icon: "previousFull" },

    // OTHER
    toggle_log_song_usage: { SECTION: "settings.other", name: "settings.log_song_usage", icon: "history", input: "toggle" },

    // ACTION
    run_action: { SECTION: "popup.action", canAddMultiple: true, name: "actions.run_action", icon: "actions", input: "id" },
    toggle_action: { canAddMultiple: true, name: "actions.toggle_action", icon: "actions", input: "toggle_action" },

    // SPECIAL
    // SECTION: "edit.special",
    wait: { common: true, canAddMultiple: true, name: "animate.wait", icon: "time_in", input: "number" }
}
