Commit Graph

317 Commits (f748ad35e05a10a2c9b654f432c07cc5f612ca54)

Author SHA1 Message Date
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
ElementalAlchemist d635a7941c Add support for generating chapter markers in the video description 3 years ago
ElementalAlchemist e2fb245da2 Correctly handle padding of range times when padding video load time over holes 3 years ago
ElementalAlchemist 0709082af7 Show a confirmation dialog when closing the page while a submission is still pending 3 years ago
ElementalAlchemist c1e20de813 Fix loading videos with no end time 3 years ago
ElementalAlchemist 2698b7fd74 Fix handling of lack of end time for a row 3 years ago
ElementalAlchemist 13035c3e97 Add help for new keyboard controls 3 years ago
ElementalAlchemist e96b77992f Add one-second jump keyboard shortcuts 3 years ago
ElementalAlchemist f798b689a4 Add keyboard shortcut for setting playback speed to 1x 3 years ago
ElementalAlchemist 481b934eb8 Fix losing much of video human time when converting a time containing hours 3 years ago
ElementalAlchemist b1b8ef8973
Add fullscreen functionality to Thrimbletrimmer video player (#250)
* Add fullscreen functionality to Thrimbletrimmer video player

* Fix issue where clicking on fullscreen video pauses and unpauses instead of doing just one
3 years ago
ElementalAlchemist a8f9611d93 Update quality indicator when keyboard shortcuts are used to change the video quality 3 years ago
ElementalAlchemist 78b9b5c68d Maintain playback rate across video reloading 3 years ago
ElementalAlchemist 75e0ba56ae Fix error when loading a new playlist (when fragments aren't yet loaded by hls.js) 3 years ago
ElementalAlchemist f7c9eb5e5b Fix incorrect variable reference 3 years ago
ElementalAlchemist c44da044a8 Make the waveform clearer/more useful at larger resolutions by requesting a larger waveform image 3 years ago
ElementalAlchemist 7e5705996e Further improve video controls styling for aesthetics 3 years ago
ElementalAlchemist d20f37266f Add a visible error when trying to load a time range with no video content 3 years ago
ElementalAlchemist 4fb8548aba Make muting work 3 years ago
ElementalAlchemist e6aa395c95 Improve appearance of video controls slightly 3 years ago
ElementalAlchemist 4e35fed5f2 Handle when the video stops playing due to load issues when seeking 3 years ago
ElementalAlchemist 497c975e3e Implement custom video controls for the new player (so we can better control styling) 3 years ago
ElementalAlchemist 56699d5737 Put quality name in the place where clients read it (or at least HLS.js does) 3 years ago
ElementalAlchemist ed2ff1b9a5 Make HLS.js not combine different quality levels into one 3 years ago
ElementalAlchemist e2487f61c0 Fix interpretation of times located in a hole in the video segments 3 years ago
ElementalAlchemist 5a9f4502c2 Set default time zone for Luxon instead of setting the time zone on each DateTime object 3 years ago
ElementalAlchemist 0340f06170 Initial transition from VideoJS to HLS.js as the video player 3 years ago
ElementalAlchemist 11bf89305a Fix video overflowing player area 3 years ago
ElementalAlchemist 699bea5e9e Fix clip bar placement after video is extended 3 years ago
ElementalAlchemist 394a6c72e2 Fix issues with updating the ranges when the time range updates
There were a couple issues with this:
- The range data was updated in the wrong direction
- If no adjustments were made, the problem was masked by the range data reapplying from draft data. However, if adjustments were made, the adjustments were overwritten (or, if ranges were added, partially overwritten) by the defaults.
3 years ago
ElementalAlchemist 5f79605ee6 Check title and description fields on load 3 years ago
ElementalAlchemist ea5d17df02 Add time conversion functionality
ekim mentioned a workflow during editor training in which he may want to have times be converted for use on the edit page. The restreamer doesn't otherwise currently have the time conversion functionality it did before (which was in the form at the top and was somewhat annoying); this adds time conversion functionality.
3 years ago
ElementalAlchemist 5c06a3ae8d Fix issue where video takes over much of the clickable area of the page if it hasn't loaded the playlist yet 3 years ago
ElementalAlchemist 6e3b2e767e Store the user's volume level 3 years ago
ElementalAlchemist 8b475e0bd9 Show real-time errors for issues with video title or description 3 years ago
ElementalAlchemist ccb60b64f1 Fix error styling for dark theme 3 years ago
ElementalAlchemist 5524972fb6 Default the description box to be bigger, and make resizing work 3 years ago
ElementalAlchemist 6899af4251 Add play from end to ranges 3 years ago
ElementalAlchemist 14900bed4a Fix error updating the submission success message 3 years ago
ElementalAlchemist 7beb658481 Improve text colors in submission feedback 3 years ago
ElementalAlchemist 20518af627 Fix problems with the Submit Anyway button when sheet data is changed 3 years ago
ElementalAlchemist 058d7b9355 Fix issues with help box being unclosable when stuff moves around by giving it its own close button 3 years ago
ElementalAlchemist f0713d581c Right-align time range start/end points within input boxes 3 years ago
ElementalAlchemist 462595a19d Rename "Editor Notes" to "Notes to Editor" 3 years ago
ElementalAlchemist e47408af2f Make Thrimbletrimmer darker 3 years ago
ElementalAlchemist d37175f914 Switch date/time handling from JS Date objects to a datetime library to fix padding bug with DST changeover 3 years ago
ElementalAlchemist da2ed19b9d Now that VideoJS has been pared all the way down, move it to more standard directories 3 years ago
ElementalAlchemist cc49e703dc Do a general cleanup of time conversion names to make times overall consistent 3 years ago
ElementalAlchemist 7fdc262822 Make the clip bar taller for visibility 3 years ago
ElementalAlchemist 4a7abac456 Since we're not maintaining the dashboard at this time, exclude it from prettier styling 3 years ago
ElementalAlchemist a4ef886494 Remove now-unhelpful help text about transitions 3 years ago
ElementalAlchemist f8d88645a3 Fix some style issues affecting Firefox (primarily related to the default font and font size) 3 years ago
ElementalAlchemist 86494797e9 Apparently JavaScript hates its own events 3 years ago
ElementalAlchemist af25a90c4a Update padding video on load (when edited outside the event range) to use multiple time ranges 3 years ago
ElementalAlchemist 5168fd120d Fix incorrect loop variable declaration preventing some load processes 3 years ago
ElementalAlchemist 72227fa366 Fix defaulting ranges to whole video to avoid old start and end fields 3 years ago
ElementalAlchemist 26b8efc093 Fix issue with download link on edit page when a range timestamp is at the exact end of the video 3 years ago
ElementalAlchemist 53bd932963 Update scripts for wubloader endpoints supporting multiple ranges 3 years ago
ElementalAlchemist 37f94cb754 We're not going to have transitions this time, so remove the transitions from the ranges for now 3 years ago
ElementalAlchemist eb9bc708cf Show errors about ranges so that the user knows to fix them 3 years ago
ElementalAlchemist 491d8dc3a8 Improve the editing experience for live videos
Apparently we weren't using VideoJS's new live UI (I thought we were), which caused issues like "the progress bar is not present on the video."
3 years ago
ElementalAlchemist c11ca47afe Add styles to submission responses 3 years ago
ElementalAlchemist 94e1ecdd6d Add waveform marker for current video position 3 years ago
ElementalAlchemist 609597a547 Add a way to jump player time to a range start point 3 years ago
ElementalAlchemist cf6652d3ad Make the Thrimbletrimmer clock use Wubloader's bus time start setting 3 years ago
ElementalAlchemist 497c7625dc Fix default formatting of negative times 3 years ago
ElementalAlchemist 4e4c2f4a9f Handle loading events with no end time (yet) 3 years ago
ElementalAlchemist a0d2dc99e1 Make the clock page prettier (as in, with the prettier tool, not UI) 3 years ago
ElementalAlchemist 3fe2848e60 Add video load time modifications, and account for run-to-live 3 years ago
ElementalAlchemist 344ca041a3 Fix formatting of bus time with milliseconds 3 years ago
ElementalAlchemist 72b34945bc Handle expanding video on load when a draft video was already saved outside the event start/end times 3 years ago
ElementalAlchemist 40ae39217c Fix grid styling when the editor notes aren't used for a video 3 years ago
ElementalAlchemist 97a668f909 Do some better-looking field alignment 3 years ago
ElementalAlchemist 811424ef7d Don't let the video control bar cover the video content 3 years ago
ElementalAlchemist 35f58f1e4d Move editor's notes to before video metadata (per previous Thrimbletrimmer) 3 years ago
ElementalAlchemist efce23a8f8 Clean up extra parts of VideoJS 3 years ago
ElementalAlchemist 9a12134915 Move beta Thrimbletrimmer code to primary Thrimbletrimmer code 3 years ago
ElementalAlchemist edaa1bd374 Delete the Thrimbletrimmer test page 3 years ago
Mike Lang aab8cf2f0f Set up plumbing for multi-range videos and implement no-transition fast cut videos only
This is the simplest case as we can just cut each range like we already do,
then concat the results.

We still allow for the full design in the database and cutter, but error out if transitions
is ever anything but hard cuts or if it's a full cut.

We also update the restreamer to allow accepting ranges, however for usability we still allow
the old "just one start and end" args.

Note this changes the thrimshim API to give and take the new "video_ranges" and "video_transitions" columns.
3 years ago
Mike Lang 2467a64ec3 thrimbletrimmer: Fix missing int parsing in duration parser
yay javascript
3 years ago
Mike Lang 783c571cb2 thrimbletrimmer: Fix stupid duration parsing typo introduced in cleanup 3 years ago
ElementalAlchemist a39b69410f Fix waveform height letting the visible waveform get far away from the video 3 years ago
ElementalAlchemist ac5a015724 Prettify updates 3 years ago
ElementalAlchemist 6fc8710166 Fix breakage of the stream page 3 years ago
ElementalAlchemist 2508610b4e Default the initial range to the entire video 3 years ago
ElementalAlchemist 4886715f0d Fix issue with missing help box background 3 years ago
ElementalAlchemist e9a2ec0648 Fix inconsistent styling on ranges 3 years ago
ElementalAlchemist abafa0a925 Improve help text for new keyboard shortcuts 3 years ago
ElementalAlchemist ad6c79c854 Remove TODO and give a better "you're logged out" message to user 3 years ago
ElementalAlchemist 287d82feee Switch back to primary wubloader Google token 3 years ago
ElementalAlchemist 00ba7d5293 Run Prettier on all the files 3 years ago
ElementalAlchemist 42d2db5f50 Add prettier configuration 3 years ago
ElementalAlchemist 42bc9f932d Improve styling for adding ranges 3 years ago
ElementalAlchemist e91654dfc1 Implement video editing 3 years ago
ElementalAlchemist 4d7300fefa Remove unremoved TODO comment 3 years ago
ElementalAlchemist af0b3cc2ff Actually style the errors 3 years ago
ElementalAlchemist a949041ca8 Fix some issues with help box when resizing the window 3 years ago
ElementalAlchemist b35ce32659 Initial implementation of stream page 3 years ago
ElementalAlchemist be025e263f Minor standardization 3 years ago
ElementalAlchemist e024a42166 Mess with the clock page, mostly to start getting my bearings (also to standardize the markup and code style) 3 years ago
Mike Lang 61f55d03fb thrimbletrimmer: Add waveform image below video 3 years ago
Mike Lang 4db8c8f61c thrimbletrimmer: undo bad refactor 3 years ago
Mike Lang 714a16bac4 thrimbletrimmer: Use template literals and other cleanup
Now that we've fixed the function declarations, prettier has also removed the semicolons on them
3 years ago
Mike Lang a69bee0548 thrimbletrimmer: Replace var with let/const and other related bits 3 years ago
Mike Lang 241d302220 thrimbletrimmer: Use "function NAME(...)" instead of "NAME = function (...)"
It's less confusing and more like other languages
3 years ago
Mike Lang ce73f7b0ea Auto-format JS files with prettier
Prettier is a tool for formatting JS files.
We add a minimal configuration to suit our purposes, and run it on all our JS files.

The main things this corrects is mixed tab and space indent issues (replacing fully with tabs),
overly long lines, inconsistent quote usage (prefers double-quotes instead), and missing semicolons.
3 years ago
Hubbe 36a5387e26 Change wording on edit submitted alert()
An edit has been submitted for the video. The video hasn't been submitted yet, thrimbletrimmer just informs other components how it wants the edit to be.
4 years ago
Mike Lang 74a38bfaeb thrimbletrimmer: Instead of redirecting on submit, alert but stay 4 years ago
Mike Lang 337111a9ab thrimbletrimmer: Always alert() on errors 4 years ago
Hubbe 27265f3bca Set video.js volume to 50% by default
When the video.js player is ready, set its volume to 50%
4 years ago
Mike Lang f8c877775d Add an alternate manual upload mode specifically for youtube
Adds a built-in "youtube-manual" location which is like "manual" except that it only works
with youtube URLs and populates the video_id column.

The intent is so that we can have playlist_manager manage videos we upload manually,
while still being able to distinguish between that and other manual links that shouldn't
be included (eg. links to third party youtube videos).

This is set when setting a manual link in thrimbletrimmer with a new checkbox, default off.
4 years ago
Christopher Usher ad03a087ab Added tags to the thrimbletrimmer dashboard 4 years ago
Christopher Usher 84f7ef71c1 More helpful UI if the database has changed plus ignore changes that are
just white space or capitalisation
4 years ago
Mike Lang 31d241eecc thrimbletrimmer: missing tags arg when submitting 4 years ago
Christopher Usher 27c6b70976 fixes in response to review 4 years ago
Christopher Usher b21a520d3a Checking for changes in the sheet now working in the thrimbletrimmer 4 years ago
Mike Lang c26a87565f Add video tags to thrimbletrimmer
Tags default to tags given on the sheet, but can be modified by the editor.
Tags are represented as a comma-seperated string, and are round-tripped on loss of focus
as a way to validate.
4 years ago
Mike Lang a37d9a0c54 Fix a bug when we fail to load a playlist that prevents loading other playlists 4 years ago