Commit Graph

31 Commits

Author SHA1 Message Date
kuhaku 52fa523df1
Add support for External Players (closes #418) (#1271)
* feat: add support for opening videos/playlists in external players (like mpv) #418

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: move external player settings into own section
feat: add warnings for when the external player doesn't support the current action (e.g. reversing playlists)
feat: add toggle in settings for ignoring unsupported action warnings

Signed-off-by: Randshot <randshot@norealm.xyz>

* improvement: do not append start offset argument when the watch progress is 0

Signed-off-by: Randshot <randshot@norealm.xyz>

* fix: fix undefined showToast error when clicking on the external player playlist button

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: add icon button for external player to watch-video-info (below video player) component
improvement: refactor the code for opening the external player into a separate function in utils.js

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: add support for ytdl protocol urls (supportsYtdlProtocol)
chore: fix lint error

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: add support for passing default playback rate to external player
improvement: add warning message for when the external player does not support starting playback at
             a given offset
chore: rename reverse, shuffle, and loopPlaylist fields for consistency

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: add setting for custom external player command line arguments

Signed-off-by: Randshot <randshot@norealm.xyz>

* chore: fix lint error

Signed-off-by: Randshot <randshot@norealm.xyz>

* improvement(watch-video-info.js): change the default for playlistId back to null (consistent with other occurrences)
improvement(utils.js/openInExternalPlayer): also check for empty playlistId string
fix(watch-video-info.js): fix merge error

Signed-off-by: Randshot <randshot@norealm.xyz>

* improvement(components/ft-list-video): check whether watch history is turned on, before adding a video to it
fix(store/utils): fix playlistReverse typo, causing `undefined` being set as a command line argument
fix(store/utils): check for 'string' type, instead of `null` and `undefined`
fix(views/Watch): fix getPlaylistIndex returning an incorrect index, when reverse was turned on
chore(locales/en-US): fix thumbnail and suppress typo
chore(locales/en_GB): fix thumbnail and suppress typo

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat: pause player when opening video in external player

Signed-off-by: Randshot <randshot@norealm.xyz>

* feat(externalPlayer): refactor externalPlayerCmdArguments into a separate static file `static/external-player-map.json`
chore(components/ft-list-video): fix lint error

Signed-off-by: Randshot <randshot@norealm.xyz>

* Revert "feat: pause player when opening video in external player"

This reverts commit 28b4713334.

* feat: pause the app's player when opening video in external player

* This commit addresses above requested changes.

improvement(components/external-player-settings): move `externalPlayer` check to `ft-flex-box`
improvement(components/external-player-settings): use `update*` methods, instead of `handle*`

improvement(store/utils): move child_process invocation to `main/index.js` via IPC call to renderer
improvement(store/utils): use `dispatch` for calling actions
improvement(store/utils): get external player related settings directly in the action

improvement(renderer/App): move `checkExternalPlayer` call down into `usingElectron` if statement
fix(renderer/App): fix lint error

improvement(components/ft-list-playlist): remove unnecessary payload fields
fix(components/ft-list-playlist): fix typo in component name

improvement(components/ft-list-video): remove unnecessary payload fields

improvement(components/watch-video-info): remove unnecessary payload fields
improvement(views/Settings): add `usingElectron` condition

Signed-off-by: Randshot <randshot@norealm.xyz>

* fix(store/utils): fix toast message error

Signed-off-by: Randshot <randshot@norealm.xyz>

* fix(store/utils): fix a few code mess-ups

Co-authored-by: Svallinn <41585298+Svallinn@users.noreply.github.com>
2021-06-13 17:31:43 +02:00
PikachuEXE 70aa159bb8
Update "Open Link" button to include playlist ID (#1258)
* ! Fix app unable to load due to missing `getLocale` in `mapActions`

* $ Update a function's name with incorrect name casing

* Update "open youtube link" button to open with playlist when playing a video with an active playlist
2021-05-25 19:39:34 +02:00
Filip Czaplicki 440b04bbf0
SponsorBlock (#1130)
* SponsorBlock: enable/url settings

* SponsorBlock: fetch and display skipped fragments

* SponsorBlock: skip sponsor blocks

* npm add node-forge

* SponsorBlock: use hash prefix API

* SponsorBlock: configurable toast on skipped segment

* SponsorBlock: add /api/ to url, remove trailing slash
2021-05-16 16:01:24 -04:00
Preston 176d81dd6b Fix quality logic again 2021-05-15 15:08:41 -04:00
Svallinn 3e8b137f67
Fix and enhance captions subsystem 2021-03-17 01:28:25 +00:00
Preston 3d5ccdc4dc Add better information to media notifications 2021-02-21 22:07:50 -05:00
Preston 659415edc3 Initial Playlist implementation. Functions like basic favorites list 2021-01-14 18:03:23 -05:00
Cadence Ember 9424a90fe1
Sidebar fixes (#916)
* Correctly bind theatre mode options

Theatre mode is now bound to both "recommended videos" and "live chat"
distraction settings, rather than just "recommended videos".

The settings switch, the button, and the layout have all been updated
to reflect this.

Most likely closes: https://github.com/FreeTubeApp/FreeTube/issues/910

* Fix watch layout when no sidebar

If there's nothing to display in the sidebar according to the
distraction settings and live status, the watch page will adopt a
single column layout. If the sidebar still exists due to faulty logic,
it will be placed at the very bottom of the page.

Most likely closes: https://github.com/FreeTubeApp/FreeTube/issues/909

* Unlink default theatre mode switch

* Normalise theatre calculation, consider playlists
2021-01-12 23:13:36 -05:00
Duane Jaspers 3c8dfb84b5
Change to only consider currently live broadcasts as livestreams. (#728)
* Remove isLiveContent, so only now live is true

* Change Published on to Streamed on when applicable
2020-10-31 10:57:51 -04:00
Synkky 07312ec16a
Display heart badge on loved comments (#675)
* Display heart badge on loved comments

* Change red badge to material red (#F44336)

* Fix linting issues
2020-10-19 10:01:24 -04:00
Preston 5cb71a48f2 Add Download links to videos 2020-10-08 15:01:46 -04:00
Preston cbb1b853b5 Fix more linter issues 2020-10-04 14:42:46 -04:00
Mykyta Poturai 7cb396fcce Make timestamps clickable
Replaces timestamps in comments and description with links that set
current video timestamp when clicked.
2020-09-27 13:23:52 +03:00
Preston 8de0c5fef0 Show different message if Upcoming text isn't available. Assume premiere date has passed 2020-09-25 10:14:49 -04:00
Preston 2c9832d90e Fix linting issues 2020-09-15 23:10:15 -04:00
Preston 2a0c062915 Add subscription manager within profile settings. Add Upcoming video information. Other changes 2020-09-15 22:07:54 -04:00
Violet Rose 61c25a05f5 Refactoring based on PR comments. 2020-09-11 20:20:26 -07:00
Violet Rose 5725c18e2c Added "current time" share buttons. 2020-09-10 20:48:06 -07:00
Preston dea4eba109 Fix and add Locales. Add Reverse playlist functionality 2020-09-09 18:58:35 -04:00
Preston df629ff7e1 Add auto play next video and fix watch progress issue on route change 2020-09-07 14:43:44 -04:00
Preston 2133a10efa Implement History and jump to last watched time progress 2020-08-19 22:39:44 -04:00
Preston 6fbccbce4c Fix linting issues 2020-06-19 16:20:06 -04:00
Cadence Ember 104131697d
Redesign watch component 2020-06-19 03:47:43 +12:00
Preston 72784a684b Add Published data to watch-video-info component 2020-06-16 17:42:38 -04:00
Preston 138f4b90f4 Add ability to listen to audio only formats for videos 2020-05-31 22:47:22 -04:00
Preston 009174b89b Add Support for Live Videos and Live Video Chat 2020-05-23 17:29:42 -04:00
Preston 8980dc74d2 Add full playlist functionality (Shuffle, loop, autoplay) 2020-05-17 16:12:58 -04:00
Preston ed8a74625c Hide Mouse when on top of video player 2020-02-21 13:31:32 -05:00
Preston 06f3839515 Allow Switching between Dash and Legacy formats 2020-02-18 22:31:10 -05:00
Preston 4dc8eab9b8 Work on video player to support dash and other features
Theatre Mode
Captions
Storyboards
2020-02-18 15:59:01 -05:00
Preston ded6534d16 Push Latest Code to Repository 2020-02-16 13:30:00 -05:00