{"id":16517237,"url":"https://github.com/kokseen1/sbubby","last_synced_at":"2025-04-04T19:17:29.861Z","repository":{"id":62221759,"uuid":"524030431","full_name":"kokseen1/Sbubby","owner":"kokseen1","description":"A minimal yet ambitious subtitle editor.","archived":false,"fork":false,"pushed_at":"2022-11-10T07:33:49.000Z","size":48320,"stargazers_count":3,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-10T04:22:40.930Z","etag":null,"topics":["c","keyboard-navigation","keyboard-shortcuts","libmpv","mouseless","mpv","srt","srt-subtitles","subtitle","subtitles","subtitles-parsing","subtitling","vim"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kokseen1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-12T09:34:14.000Z","updated_at":"2022-12-26T05:08:05.000Z","dependencies_parsed_at":"2022-10-28T18:00:33.225Z","dependency_job_id":null,"html_url":"https://github.com/kokseen1/Sbubby","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kokseen1%2FSbubby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kokseen1%2FSbubby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kokseen1%2FSbubby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kokseen1%2FSbubby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kokseen1","download_url":"https://codeload.github.com/kokseen1/Sbubby/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247234944,"owners_count":20905855,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","keyboard-navigation","keyboard-shortcuts","libmpv","mouseless","mpv","srt","srt-subtitles","subtitle","subtitles","subtitles-parsing","subtitling","vim"],"created_at":"2024-10-11T16:29:32.400Z","updated_at":"2025-04-04T19:17:29.839Z","avatar_url":"https://github.com/kokseen1.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![logo](https://github.com/kokseen1/Sbubby/blob/master/img/logo.png?raw=true) Sbubby\n\nA minimal yet ambitious subtitle editor.\n\nSbubby is a keyboard-only subtitle editor written in C that aims to be efficient yet precise. Interaction with Sbubby is done via Vim-like keybindings which provide an efficient way of navigating and editing, through the use of operators and motions.\n\n![demo](https://raw.githubusercontent.com/kokseen1/Sbubby/master/img/demo.gif?raw=True)\n\n## Installation\n\nPre-built binaries can be found [here](https://github.com/kokseen1/Sbubby/releases), along with installation instructions.\n\n## Usage\n\nTo create subtitles from scratch:\n\n```\nsbubby.exe \u003cvideo.mp4\u003e\n```\n\nTo edit existing subtitles:\n\n```\nsbubby.exe \u003cvideo.mp4\u003e \u003csubtitles.srt\u003e\n```\n\n## Controls\n\nLike Vim, Sbubby contains 2 main modes when interacting with the program: NORMAL and INSERT. NORMAL mode is used for navigating through the video and adding/deleting subtitles, while INSERT mode is used for editing text of the current subtitle in focus.\n\n### NORMAL Mode\n\n`SPACE` - Toggle play/pause\n\n`ESC`/`Ctrl c` - Clear command buffer\n\n`f` - Toggle fullscreen\n\n#### Movement\n\n`k` - Seek forward\n\n`j` - Seek backward\n\n`K` - Seek forward (small)\n\n`J` - Seek backward (small)\n\n`n` - Frame step forward\n\n`N` - Frame step backward\n\n`gg` - Seek to start\n\n`G` - Seek to end\n\n##### With quantifiers:\n\n`10k` - Seek 10s forward\n\n`5J` - Seek 0.5s backward\n\n#### Subtitling\n\n`a` - Add sub and enter INSERT mode\n\n`i` - Enter INSERT mode\n\n`I` - Enter INSERT mode at start of text\n\n`w` - Seek to next sub\n\n`b` - Seek to start of sub / Seek to previous sub\n\n`h` - Set start of sub at current time\n\n`l` - Set end of sub at current time\n\n`e` - Seek to end of sub\n\n`W` - Switch focus to next sub without seeking\n\n`B` - Switch focus to previous sub without seeking\n\n`r` - Manually reload subtitles\n\n`dd` - Delete sub\n\n##### With quantifiers:\n\n`2i` - Enter INSERT mode on sub `#2`\n\n`3w` - Seek `3` subs forward\n\n### INSERT Mode\n\n`Ctrl p` - Toggle play/pause\n\n`LEFT`/`RIGHT` - Move cursor between characters\n\n`Ctrl LEFT`/`Ctrl RIGHT` - Move cursor between words\n\n`HOME` - Move cursor to start\n\n`END` - Move cursor to end\n\n`Ctrl w`/`Ctrl Backspace` - Delete word before cursor\n\n`Ctrl Delete` - Delete word after cursor\n\n`ESC`/`Ctrl c` - Exit INSERT mode\n\n### Ex mode\n\nEnter Ex mode by entering `:` in NORMAL mode. Press `ENTER` to execute commands in Ex mode.\n\n`:w` - Save current subtitles as `\u003cvideo.mp4\u003e.srt`\n\n`:q` - Quit without saving\n\n`:wq` - Save current subtitles and quit\n\n`ESC`/`Ctrl c` - Clear command buffer\n\n## Building from source\n\n### Prerequisites\n\n- MinGW-w64\n  - SDL2-devel\n  - libmpv\n- Make\n- DLL search path contains:\n  - `libmpv-2.dll`\n  - `SDL2.dll`\n\n### Steps\n\n1. Clone the repo\n\n```\ngit clone https://github.com/kokseen1/Sbubby\n```\n\n2. Build\n\n```\ncd Sbubby\nmake\nmake clean\n```\n\n3. Run\n\n```\n.\\build\\sbubby.exe \u003cvideo.mp4\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkokseen1%2Fsbubby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkokseen1%2Fsbubby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkokseen1%2Fsbubby/lists"}