Commit Graph

334 Commits (f9b363fce848646c00d9daab6577155f1c7ffdf1)

Author SHA1 Message Date
ElementalAlchemist f4d303147d Allow editing thumbnail data 3 weeks ago
ElementalAlchemist 9435dc8575 Set default crop values
These values were empirically determined to be good from previous thumbnail templates.
3 weeks ago
ElementalAlchemist ef061b6768 Pass the auth token when submitting thumbnails 3 weeks ago
ElementalAlchemist fc82b2b17f Run Prettier on other Thrimbletrimmer files
It had not been run in previous PRs
3 weeks ago
ElementalAlchemist c8899f5133 Implement thumbnail manager
This implements a frontend for submitting new thumbnails and viewing existing thumbnail data.
3 weeks ago
ElementalAlchemist 6290850ff0 Add jcrop to the prettier ignore file 3 weeks ago
Christopher Usher 5bd8fbd65f Static content for creating a template 3 weeks ago
Dan Collins 3c746e569e Match aspect ratio from frame to template or vice versa, or lock
template to frame
3 weeks ago
Dan Collins 33f3b0e0c8 Attach validation to the first chapter marker description field 3 weeks ago
Dan Collins 94aefc46fc Scale thumbnail pixel coordinates for a 1920x1080 video frame in a 1280x720 template 3 weeks ago
Dan Collins 952d760f8d Remove the :focus CSS rule, it obstructed the image making precise positioning difficult. 3 weeks ago
Dan Collins c3cb931e3e Download jcrop, fix newlines, use let instead of var 3 weeks ago
Dan Collins 1c5d37cc04 Thrimbletrimmer: Add JS cropping tool to advanced template options 3 weeks ago
Mike Lang 2391a73ced thrimletrimmer: Support one-off overlays for thumbnails
By picking the "one-off overlay" option for a thumbnail, you swap specifying a template name
for being able to upload a one-off template that is then combined with the requested frame.

The rendering is done by restreamer, and we do it explicitly whenever
a) Generate Thumbnail Preview is pressed
b) The video is submitted

The rendered thumbnail is then included in the submission as a "custom" thumbnail.

The default thumbnail template params (crop and location) do not change
when this mode is selected, so they'll effectively be the default params of the previously-selected
template. In most cases this will be what you want since almost all our templates share the same
params, and custom one-offs will too.
1 month ago
Mike Lang 751271d3c1 thrimbletrimmer: Replace ad-hoc query string building with URLSearchParams
This handles edge cases like special characters properly, and is easier/more readable.
1 month ago
Mike Lang f46481af0c thrimbletrimmer: Add support for advanced crop options
- On load + change of template, set from template defaults
- On load, set from video if not null
- Show only in template mode
- Use when previewing image
- Send when submitting
1 month ago
Mike Lang 20ad8d3ec9 thrimbletrimmer: Use new API for listing thumbnails
This is just the minimum-effort way to keep thrimbletrimmer working with the new API.
More thrimbletrimmer changes to come later.
1 month ago
Mike Lang 1915d98143 thrimbletrimmer: Split error path for submission into a function
and use it correctly when erroring in transition code
1 month ago
Mike Lang ca60852b3d thrimbletrimmer: Add transitions to download URL 1 month ago
Mike Lang 8c6141b5ca thrimbletrimmer: Correct video time conversions due to overlap from transitions 1 month ago
Mike Lang c96c7cedd6 thrimbletrimmer: add transitions when submitting 1 month ago
Mike Lang 54695bcad4 thrimbletrimmer: Set existing transition info when loading a video 1 month ago
Mike Lang 72110821d5 thrimbletrimmer: Show/hide transition duration if "cut" is selected 1 month ago
Mike Lang 5d09115a8a thrimbletrimmer: Load transition types from thrimshim and populate dropdown 1 month ago
Mike Lang 87d4520e61 thrimbletrimmer: Add new DOM elements for specifying transitions
Expects a "transitions" list on the video info that currently isn't there.
Not actually used anywhere yet.
1 month ago
Mike Lang 23e64116bd thrimbletrimmer: Add some helpers for creating elements
No functional changes intended.
1 month ago
Mike Lang a34af372d0
thrimbletrimmer: Validate chapter titles are ascii only
We are not sure what characters are allowed in chapter titles.
Emoji seem to be disallowed. It is unknown whether things like accents or smart quotes are allowed.
To be conservative, we warn if there are any non-ascii characters in the chapter title.
7 months ago
Mike Lang cb144866a6 Change wording of "submit anyway" button when saving a draft 7 months ago
ElementalAlchemist 0f1d125413
Fix jumping to the first chapter marker location (#363) 1 year ago
ElementalAlchemist 8264206f09
Add 4x and 8x playback speeds (#362)
* Add 4x and 8x playback speeds

* Make the "max speed" keyboard shortcut go to 2x first and then to the actual max speed
1 year ago
ElementalAlchemist 179f06b413
Fix loading Thrimbletrimmer and defaulting initial chapter time (#361) 1 year ago
ElementalAlchemist d979b40d9f Make the first chapter marker uneditable and tie it to the first range start time
This is a more usable enforcement of the requirement that YouTube enforces for the first chapter to be at the exact beginning of the video.
1 year ago
Mike Lang 879fe2c70b thrimbletrimmer: Change default download type to smart
The new smart cut type avoids artifacting/playing issues that happen with fast cuts or multi-range rough cuts.

However it is new and experimental so we keep the old options available as backups.
1 year ago
ElementalAlchemist 8382e90659 Highlight the chapter description field as an error if it contains angle brackets 1 year ago
ElementalAlchemist f5c171f5ca Fix formatting 1 year ago
ElementalAlchemist be9b7b8a3c Fix loading chat for non-UTC timestamps in restreamer 2 years ago
ElementalAlchemist d2bcff3ffd Avoid disabling the force reset row buttons on videos that are still transcoding 2 years ago
ElementalAlchemist d2f95bea20 Fix jump to buttons not working on videos that were already submitted 2 years ago
ElementalAlchemist 8648ad52ee Properly handle when video or just metadata can be edited 2 years ago
ElementalAlchemist 2ddf2f8426 Stop adjusting/breaking chapters when range times change 2 years ago
ElementalAlchemist 766b4d111d Confirm leaving when changes are made or confirmation needs to take place 2 years ago
ElementalAlchemist dd747416e0 Sort thumbnails in editor
This sorts the thumbnail by name.
2 years ago
ElementalAlchemist 988b1265ab Increase chapter marker field width 2 years ago
ElementalAlchemist 3ddbbfd31d Sort chapter markers within each range 2 years ago
ElementalAlchemist e0d035f8b9 Add shift versions of currently unshifted shortcuts 2 years ago
ElementalAlchemist cded411188 Update Hls.js 2 years ago
ElementalAlchemist c7ed4cfc03 Remove dashboard page 2 years ago
ElementalAlchemist 6382fd259b Prevent cut modifications when a video that was already uploaded is being modified 2 years ago
ElementalAlchemist 3578a63ab8 Stop inviting the browser to load JS map files that don't exist 2 years ago
ElementalAlchemist 5158328888 Fix initial state of thumbnail data UI 2 years ago
ElementalAlchemist 797a36eaab Fix updating custom thumbnail images 2 years ago
ElementalAlchemist 92b34d2670 Initial implementation of announcement display 2 years ago
ElementalAlchemist 0cad481cea Add support for CLEARCHAT clearing the entire chat 2 years ago
ElementalAlchemist 832a0264bb Frontload the chat time display calculation
The chat time display calculation is also done in a worker to prevent stalling. Since we do the calculation on load, the stalling that is prevented would happen when loading the page.
2 years ago
ElementalAlchemist c23d94881b Fix use of JS to detect whether there is chat data 2 years ago
ElementalAlchemist 3710d9410a Fix indentation style 2 years ago
Mike Lang 834edf2701
Don't show a template option for non-png files (#312)
Each template now has two files, a `.png` and a `.json`. This is currently making them show up twice.
To fix this, we only consider files which end in `.png`.

We do this in the backend so the frontend doesn't need to know about it.
2 years ago
ElementalAlchemist dd4bf320cd Fix changing editor times breaking chat display 2 years ago
ElementalAlchemist d44bbe3440 Add missing tooltips for video range icons 2 years ago
ElementalAlchemist dd5d03e46d Fix links that open hidden content or perform other actions jumping the user to the top of the page 2 years ago
ElementalAlchemist 263ebf44e7 Rename time update button on restreamer page 2 years ago
ElementalAlchemist 76b4a829d3 Fix missing clip bar 2 years ago
ElementalAlchemist 131d248251 Add display for abbreviated YouTube titles 2 years ago
ElementalAlchemist 6b255f5018 Add jump to chapter marker functionality 2 years ago
ElementalAlchemist 8ea985c07a Fix distortion of non-standard-size default emotes 2 years ago
ElementalAlchemist 262a293d2e Fix issue where the first message of the playback may not be displayed on the restreamer page 2 years ago
ElementalAlchemist ea0729cbd6 Show system messages (raids, subscriptions, etc.) in the chat replay 2 years ago
ElementalAlchemist cae4976cf6 Fix incorrect use of substring 2 years ago
ElementalAlchemist c6961bbd46 Add ACTION support 2 years ago
ElementalAlchemist aa2c444d1a Implement chat auto-scroll 2 years ago
ElementalAlchemist 4ac24fe716 Make the chat its own scrollable area 2 years ago
ElementalAlchemist 76de577695 Fix updating chat on playlist reload for restreamer page 2 years ago
ElementalAlchemist 4a1880461f Add replies support 2 years ago
ElementalAlchemist 881073b4d4 Fix appearance of long messages 2 years ago
ElementalAlchemist 40cc601d93 Fix alignment of messages with emotes 2 years ago
ElementalAlchemist dc4e7f0835 Implement chat transcript for editor and chat replay for restreamer page 2 years ago
ElementalAlchemist 2939089edd Upgrade luxon 2 years ago
ElementalAlchemist b6a2d7e16a Give the thumbnail options controls some room to breathe 2 years ago
ElementalAlchemist 8c872f6999 Add image preview generation 2 years ago
ElementalAlchemist 9fa898d5aa Fix doing the time conversion before the data required for the time conversion is loaded 2 years ago
ElementalAlchemist 0e787677a0 Load thumbnail data for video 2 years ago
ElementalAlchemist 64f0ac714f Set up thumbnail editing with data plumbing through 2 years ago
Mike Lang 0681902789 Trigger download of the image file in a hacky way
Apparently this is the Recommended Approach for doing this - you create an <a> element,
set its attributes, then temporarily add it to the page and click() it.

The downloads.download() api we found earlier is exclusive to Chrome Apps.
2 years ago
Mike Lang adb6e2ae10 thrimbletrimmer: Add button to download current frame
It always uses source quality and downloads as a PNG.

We use the browser.downloads api to construct the URL on demand.

Note we might not always get the exact right frame in 60fps streams,
we might get one before or after (and "frame seek" in the editor skips 2 frames in this case).
2 years ago
ElementalAlchemist 1cb819a4c5 Use more native HTML options for editor keyboard shortcuts help 2 years ago
Mike Lang ffae321d04 editor: Make public checkbox "unlisted" instead, with negated meaning
less confusing
2 years ago
Mike Lang bd948235fb thrimbletrimmer: Add advanced submission option for "public" videos
Note that the default is true, so we only expand the advanced pane if it's false.
False corresponds to uploading a video as "unlisted".

Also mark it as modifyable.
2 years ago
Mike Lang 6b9d8ab785 Fix submit changes button - should be hidden by default 2 years ago
Mike Lang ac6612fb85 Add ability to submit video as MODIFIED to thrimbletrimmer 2 years ago
ElementalAlchemist a942af9cb4 When padding video in editor, maintain video playback position in the same spot when possible 3 years ago
ElementalAlchemist 4bac4a46d0 Add stream name to restreamer URL 3 years ago
ElementalAlchemist 210ae6f92a Support linking to specific times in restreamer 3 years ago
ElementalAlchemist 8e8ace6f3c Properly set initial video quality 3 years ago
ElementalAlchemist e515c448eb Fix loading chapter marker setting when loading a saved draft edit 3 years ago
ElementalAlchemist 1ffb9ae2e1 Fix saving quality levels on change 3 years ago
ElementalAlchemist 965a3dfbd3 Fix range removal 3 years ago
ElementalAlchemist 59567f9404 Fix issue where pressing space for video pause/unpause can scroll the page 3 years ago
ElementalAlchemist 91cc331128 Move the error selecting times on restreamer to be common to both pages 3 years ago
ElementalAlchemist ac79206ba0 Don't reload when canceling or resetting 3 years ago
ElementalAlchemist 1ff1bcf0ab Add keyboard shortcuts to mute, set playback rate to slowest speed, and set playback rate to fastest speed 3 years ago