{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":701006367,"defaultBranch":"master","name":"mpv-subtitle-lines","ownerLogin":"christoph-heinrich","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-10-05T18:06:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8932183?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1716138949.0","currentOid":""},"activityList":{"items":[{"before":"65812b5a99c40a7e36efa85333ae16c4cfae7c77","after":null,"ref":"refs/heads/strip_whitespace","pushedAt":"2024-05-19T17:15:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"}},{"before":"2e44a9f2ec5fefb7781ea3ce4f5d70625645143e","after":"f0a85c7ba3370b490c46a77dcb2e212c0b149a50","ref":"refs/heads/master","pushedAt":"2024-05-19T17:15:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Strip whitespace from lines\n\nIt's possible for lines to be prefixed with whitespace, which messes up\nthe alignment in the menu.\n\nTo get rid of any superfluous whitespace, strip all lines from\nwhitespace prefixes and postfixes.\n\nCloses #8","shortMessageHtmlLink":"Strip whitespace from lines"}},{"before":null,"after":"65812b5a99c40a7e36efa85333ae16c4cfae7c77","ref":"refs/heads/strip_whitespace","pushedAt":"2024-05-16T23:28:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Strip whitespace from lines\n\nIt's possible for lines to be prefixed with whitespace, which messes up\nthe alignment in the menu.\n\nTo get rid of any superfluous whitespace, strip all lines from\nwhitespace prefixes and postfixes.\n\nCloses #8","shortMessageHtmlLink":"Strip whitespace from lines"}},{"before":"1b19a63bffed90ea6ee4cc2dbe711ff5fd2cb688","after":"2e44a9f2ec5fefb7781ea3ce4f5d70625645143e","ref":"refs/heads/master","pushedAt":"2024-03-08T19:58:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"1.1.1","shortMessageHtmlLink":"1.1.1"}},{"before":"ce1010d4cea615a67fd97eaf51deb0e06663c183","after":null,"ref":"refs/heads/improve_performance","pushedAt":"2024-03-07T14:58:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"}},{"before":"1686f0e821d839c5442021fe0bb7588516fe53e2","after":"1b19a63bffed90ea6ee4cc2dbe711ff5fd2cb688","ref":"refs/heads/master","pushedAt":"2024-03-07T14:58:29.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Preformat timespan for the hint\n\nFor a 5h 16min podcast the time formatting costs close to 100ms for each\nupdate, so doing it once and remembering the result speeds up updates.\n\nConverting to and from json costs ~270ms, so there is only so there\nis still a substantial delay for updates, but it's a noticable\nimprovement.\n\nConverting the menu data into menu items on the uosc side costs another\n40ms, which might be improved by reusing objects from the json\ndeserialization.\n\nThe only way to make it truely fast would be with a new API for uosc to\nallow for partial updates.","shortMessageHtmlLink":"Preformat timespan for the hint"}},{"before":"26e020d9c71cae5c676fd87b0ee56dd3ee8b76f8","after":"ce1010d4cea615a67fd97eaf51deb0e06663c183","ref":"refs/heads/improve_performance","pushedAt":"2024-03-06T15:25:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Preformat timespan for the hint\n\nFor a 5h 16min podcast the time formatting costs close to 100ms for each\nupdate, so doing it once and remembering the result speeds up updates.\n\nConverting to and from json costs ~270ms, so there is only so there\nis still a substantial delay for updates, but it's a noticable\nimprovement.\n\nConverting the menu data into menu items on the uosc side costs another\n40ms, which might be improved by reusing objects from the json\ndeserialization.\n\nThe only way to make it truely fast would be with a new API for uosc to\nallow for partial updates.","shortMessageHtmlLink":"Preformat timespan for the hint"}},{"before":"7185eab4d1cdd4b7cbba657f5ea046a89c466827","after":"26e020d9c71cae5c676fd87b0ee56dd3ee8b76f8","ref":"refs/heads/improve_performance","pushedAt":"2024-03-05T20:07:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Fix rare crash and simplification\n\nI've only managed to produce the crash twice by accident, but apparently\nit's possible that sometimes at least one of the values passed to\nsame_time() in this condition is nil.\n\nBoth times the menu was opened while subtitles for the current position\nwere being loaded, so it seems to be a race condition for that specific\ncase.","shortMessageHtmlLink":"Fix rare crash and simplification"}},{"before":"336dc189a0ae5eb7d6000f180669d19411fa50cb","after":"7185eab4d1cdd4b7cbba657f5ea046a89c466827","ref":"refs/heads/improve_performance","pushedAt":"2024-03-05T19:32:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Improve processing performance\n\nAlways iterating over all previous subtitle lines doesn't scale well\nand lead to an overhead of ~2.7s for a 5h 16min long podcast\n(total time for getting all lines was ~12.1s).\n\nBy keeping track of visible subtitle lines in a separate array the\nprocessing time was reduced to ~40ms.\n\nFor a shorter video (23min) the processing time went from ~14ms to ~5ms.\n\nSince practically all time is now spent in stepping through subtitles and\nquerying their start/stop time and text, none of which can be\nskipped, it's not possible to achieve any further meaningful speedups.","shortMessageHtmlLink":"Improve processing performance"}},{"before":null,"after":"336dc189a0ae5eb7d6000f180669d19411fa50cb","ref":"refs/heads/improve_performance","pushedAt":"2024-03-05T19:25:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Improve processing performance\n\nAlways iterating over all previous subtitle lines doesn't scale well\nand lead to an overhead of ~2.7s for a 5h 16min long podcast\n(total time for getting all lines was ~12.1s).\n\nBy keeping track of visible subtitle lines in a separate array the\nprocessing time was reduced to ~40ms.\n\nSince practically all time is now spent in stepping through subtitles and\nquerying their start/stop time and the text, none of which can be\nskipped, it's not possible to achive any further meaningful speedups.","shortMessageHtmlLink":"Improve processing performance"}},{"before":"325c94653e2c363f34af28d384e6543ebee2e6cf","after":"1686f0e821d839c5442021fe0bb7588516fe53e2","ref":"refs/heads/master","pushedAt":"2024-03-02T20:23:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Small refactor and simplification\n\nThe function signature of merge_subtitle_lines implied that a new array\ngets returned, but in reality the passed array gets modified.","shortMessageHtmlLink":"Small refactor and simplification"}},{"before":"06a3022a619d99b9def9de7cea098e91b02fdf38","after":null,"ref":"refs/heads/improve_merging","pushedAt":"2024-03-01T21:19:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"}},{"before":"5550e49dc61ab75f132d33aa9b686c00d6ffe760","after":"325c94653e2c363f34af28d384e6543ebee2e6cf","ref":"refs/heads/master","pushedAt":"2024-03-01T21:19:14.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Create Subtitle type alias","shortMessageHtmlLink":"Create Subtitle type alias"}},{"before":"9a126ff2f99b43cd5da67d3a05d2b21b30491ffa","after":"06a3022a619d99b9def9de7cea098e91b02fdf38","ref":"refs/heads/improve_merging","pushedAt":"2024-03-01T02:22:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Create Subtitle type alias","shortMessageHtmlLink":"Create Subtitle type alias"}},{"before":"8c3a5cab0883f10ce4eebb0b4911fac6ae6a2f56","after":"9a126ff2f99b43cd5da67d3a05d2b21b30491ffa","ref":"refs/heads/improve_merging","pushedAt":"2024-02-28T17:08:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Refactor timing correction into function, create Subtitle type alias","shortMessageHtmlLink":"Refactor timing correction into function, create Subtitle type alias"}},{"before":"363fee2f2fa51fb2584c6bd32db513989aa569d8","after":"8c3a5cab0883f10ce4eebb0b4911fac6ae6a2f56","ref":"refs/heads/improve_merging","pushedAt":"2024-02-28T16:35:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Improve wrongly reported subtitle timing\n\nRelying solely on sub-start and sub-end has the problem that those\nreflect the earliest start time and the latest end time of the currentl\nlines.\n\nThis attempts to get more accurate start and end times in cases where\nsub-start and start-end doesn't correctly reflect those timnes of all\ncurrent lines.","shortMessageHtmlLink":"Improve wrongly reported subtitle timing"}},{"before":"de928ce76da7427e41fc3a7ac5399790a9642d3e","after":"363fee2f2fa51fb2584c6bd32db513989aa569d8","ref":"refs/heads/improve_merging","pushedAt":"2024-02-27T02:27:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Merge identical lines that overlap in time\n\nSo far such lines only got merged if they were right after each other,\nbut there are situations where they overlap.\n\nFixes https://github.com/christoph-heinrich/mpv-subtitle-lines/issues/5#issuecomment-1965590537","shortMessageHtmlLink":"Merge identical lines that overlap in time"}},{"before":null,"after":"de928ce76da7427e41fc3a7ac5399790a9642d3e","ref":"refs/heads/improve_merging","pushedAt":"2024-02-27T02:25:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Merge identical lines that overlap in time\n\nSo far such lines only got merged if they were right after each other,\nbut there are situations where they overlap.","shortMessageHtmlLink":"Merge identical lines that overlap in time"}},{"before":"c680b7993139e1ad6a76ee295eedb0879274848d","after":"5550e49dc61ab75f132d33aa9b686c00d6ffe760","ref":"refs/heads/master","pushedAt":"2024-02-02T13:48:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"1.1.0","shortMessageHtmlLink":"1.1.0"}},{"before":"e92b3743784e7908a65d82a6b099af5455d8a80b","after":"c680b7993139e1ad6a76ee295eedb0879274848d","ref":"refs/heads/master","pushedAt":"2024-01-31T04:34:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Optimize first subtitle line discovery\n\nStepping back through subtitle lines can disrupt playback, which is a\nproblem for long videos with lots of lines, where stepping back to the\nfirst line can take >1s.\n\nInstead it's possible to set a huge subtitle delay, so big that it's\ncertainly before the first subtitle line, and stepping forward from\nthere then lands at the first line. No need to step through all the other\nones.\n\nThat makes that while loop unnecessary, but it'll stay just in case\nthere is a subtitle fine extreme enough for this to matter. Keeping it\naround doesn't hurt.","shortMessageHtmlLink":"Optimize first subtitle line discovery"}},{"before":"fad57ddaadf130d800903c9e1dc969685edc9af1","after":"e92b3743784e7908a65d82a6b099af5455d8a80b","ref":"refs/heads/master","pushedAt":"2024-01-05T20:41:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Add secondary subtitles support\n\nCloses #4","shortMessageHtmlLink":"Add secondary subtitles support"}},{"before":"5c2d0a391eee29ac2b9ae5871fce6f75622ddf23","after":null,"ref":"refs/heads/improve_extraction","pushedAt":"2023-12-10T13:17:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"}},{"before":"35ec4f72792ca8c57053f676909bc40f7987ab85","after":"fad57ddaadf130d800903c9e1dc969685edc9af1","ref":"refs/heads/master","pushedAt":"2023-12-10T13:16:05.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Cleanup","shortMessageHtmlLink":"Cleanup"}},{"before":"e8f3e5e18742708ab777dfb0bfb536f5d9f8dd34","after":"5c2d0a391eee29ac2b9ae5871fce6f75622ddf23","ref":"refs/heads/improve_extraction","pushedAt":"2023-12-10T13:14:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Cleanup","shortMessageHtmlLink":"Cleanup"}},{"before":"b3cf1f1f1260ffabddd824a40f2ad64697362d82","after":"35ec4f72792ca8c57053f676909bc40f7987ab85","ref":"refs/heads/master","pushedAt":"2023-12-10T13:13:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Close the menu on file boundaries\n\nIt doesn't make sense to keep displaying lines when the file ends.\n\nAlternatively new lines could get fetched automatically on file change,\nbut then there is the problem that the file needs to be unpaused for at\nleast a little bit to get more then the current subtitle line, so that\nwon't work all that well.","shortMessageHtmlLink":"Close the menu on file boundaries"}},{"before":"f759fe5d5678e6326c3ed76085700d9871bbb6b1","after":"e8f3e5e18742708ab777dfb0bfb536f5d9f8dd34","ref":"refs/heads/improve_extraction","pushedAt":"2023-12-05T21:28:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Cleanup","shortMessageHtmlLink":"Cleanup"}},{"before":"27229cfdd87b38ce53db2de86ef626f5ef943b84","after":"f759fe5d5678e6326c3ed76085700d9871bbb6b1","ref":"refs/heads/improve_extraction","pushedAt":"2023-12-05T11:26:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Merge duplicate lines that are shown at the same time\n\nFixes https://github.com/christoph-heinrich/mpv-subtitle-lines/issues/2#issuecomment-1839863309","shortMessageHtmlLink":"Merge duplicate lines that are shown at the same time"}},{"before":"071af72b5c56bb9b49f6d59a0c595858d85d590a","after":"27229cfdd87b38ce53db2de86ef626f5ef943b84","ref":"refs/heads/improve_extraction","pushedAt":"2023-12-04T21:23:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Check sub-delay instead of relying on retries for extraction\n\nMoving signs can result in querying the same\nsub-text, sub-start and sub-end a ton of times, which makes it look like\nthe end was reached.\n\nIncreasing the retry count helps but isn't a good solution.\n\nsub-delay changes with each step, so relying on that should make the\nextraction more robust without requiring a retry counter.\n\nFixes #2","shortMessageHtmlLink":"Check sub-delay instead of relying on retries for extraction"}},{"before":null,"after":"071af72b5c56bb9b49f6d59a0c595858d85d590a","ref":"refs/heads/improve_extraction","pushedAt":"2023-12-04T21:22:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Check sub-delay instead of relying on retries for extraction\n\nMoving signs can result in querying the same\nsub-text, sub-start and sub-end a ton of times, which makes it look like\nthe end was reached.\n\nIncreasing the retry count helps but isn't a good solution.\n\nsub-delay changes with each step, so relying on that should make the\nextration more robust without requiring a retry counter.","shortMessageHtmlLink":"Check sub-delay instead of relying on retries for extraction"}},{"before":"0a4b54aca3a4e7d17cc24bd2f4adead2900d57e5","after":"b3cf1f1f1260ffabddd824a40f2ad64697362d82","ref":"refs/heads/master","pushedAt":"2023-11-09T02:15:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"christoph-heinrich","name":null,"path":"/christoph-heinrich","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8932183?s=80&v=4"},"commit":{"message":"Fix crash when no file loaded","shortMessageHtmlLink":"Fix crash when no file loaded"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAETitDCAA","startCursor":null,"endCursor":null}},"title":"Activity ยท christoph-heinrich/mpv-subtitle-lines"}