Commit Graph

2255 Commits

Author SHA1 Message Date
Daniel Jacobs d6bc408286 web: Don't show context menu when any modal is open (fix #13096) 2023-09-08 20:26:18 +02:00
Kornelius Rohrschneider 53ba75d587 Move logarithmic volume transformation to AudioMixer
Previously, the volume transformation to adapt the volume for
logarithmic hearing has been performed in the VolumeControls Rust struct
and TypeScript class each.
Since this calculation is the same on desktop and web and should be
implemented in the audio backend, it has been moved into the
AudioMixer::mix_audio method.
The VolumeControls struct and class now only calculate the linear volume
out of the checkbox and the slider.
Player::set_volume and Player::volume now don't take and return the
adapted volume, but use the linear volume (which gets saved internally).
2023-09-07 00:51:58 +02:00
Kornelius Rohrschneider f04470247e web: Add web volume controls
The web version of Ruffle now has a volume controls window. It can be
accessed through the right-click menu (Right-click > Volume controls).
It contains a mute button and a slider from 0 to 100.

To achieve this, a new volume controls modal has been added to the
shadow template.
TypeScript is used to create texts, set the controls and add event
listeners to update the settings and controls when being changed.

The volume settings set in the GUI are saved in a new VolumeControls
class, which is also used to calculate the real volume (adapted for
logarithmic hearing) out of the entered volume and the mute checkbox.
As soon as the volume is changed in the GUI, the real volume will be set
in the Ruffle instance.

The existing ftl files have been adapted (and new ones have been
created) to include the new multilingual text in the right-click menu
and the volume controls window.

This closes #1771.
2023-09-07 00:51:58 +02:00
Crowdin Bot d195da59af chore: Update translations from Crowdin 2023-09-06 23:55:17 +02:00
Crowdin Bot 654799b1a9 chore: Update translations from Crowdin 2023-09-06 12:22:24 +02:00
renovate[bot] dabc2d56b9 fix(deps): update rust dependencies 2023-09-04 10:25:24 +02:00
Crowdin Bot 2996f97578 chore: Update translations from Crowdin 2023-09-02 15:43:08 +02:00
renovate[bot] d14550e851 chore(deps): update node.js dependencies 2023-09-02 15:19:06 +02:00
renovate[bot] cbd0c89f9b chore(deps): update npm to v10 2023-09-02 15:10:07 +02:00
Crowdin Bot cf9171cb78 chore: Update translations from Crowdin 2023-08-31 00:13:04 +02:00
renovate[bot] 4e75c3890a fix(deps): update rust dependencies 2023-08-28 07:39:35 +02:00
Crowdin Bot 378b415a3b chore: Update translations from Crowdin 2023-08-26 23:27:47 +02:00
Daniel Jacobs 18e89f6132
web: Remove all occurences of innerHTML (except in test files) (#12937)
* web: Remove most occurences of innerHTML

* web: Use helper methods for shadow template element creation

* web: Refactor createErrorFooter function

* web: Shadow template code cleanup

* web: Add helper function to add CSS rules to shadow template

---------

Co-authored-by: nosamu <71368227+n0samu@users.noreply.github.com>
2023-08-26 22:51:16 +03:00
nosamu 11a17dfb4e extension: Don't show CORS error on internal player page
The player page is not restricted by CORS
2023-08-26 11:33:56 +02:00
nosamu 3df6e13848 extension: Fix HTML structure of 'open in new tab' message 2023-08-26 11:33:56 +02:00
nosamu 7838d4549b web: Don't try to enter fullscreen if already in fullscreen & vice versa
Fixes #9615
2023-08-26 11:09:02 +03:00
nosamu b456296769 extension: Persist content script registration across sessions 2023-08-26 01:21:07 +02:00
Crowdin Bot 07c236df5b chore: Update translations from Crowdin 2023-08-26 00:27:56 +02:00
nosamu 3920eb90cd extension: Register listeners synchronously at top level of service worker 2023-08-25 23:56:52 +02:00
Crowdin Bot 3ccda582e1 chore: Update translations from Crowdin 2023-08-25 11:50:24 +02:00
Crowdin Bot 1b03ce9ae6 chore: Update translations from Crowdin 2023-08-23 23:59:54 +02:00
David Wendt 7158039135 audio: Audio streamed from FLVs do not have the SWF MP3 header 2023-08-23 15:36:20 -06:00
Crowdin Bot d55cc23f55 chore: Update translations from Crowdin 2023-08-22 23:06:46 +02:00
Daniel Jacobs acc315ebfb extension: Fix check for scripting permission 2023-08-22 22:47:28 +02:00
Daniel Jacobs eef65da345 extension: Remove unnecessary lambda functions 2023-08-22 22:17:18 +02:00
Nathan Adams 9d05a37f34 web: Make open-in-new-tab open the local player directly, and disable takeover of all SWF urls 2023-08-22 19:35:05 +02:00
Daniel Jacobs ba52438c27 extension: Fix-ups for extension player page 2023-08-22 17:50:37 +02:00
Crowdin Bot 3de4b4e989 chore: Update translations from Crowdin 2023-08-21 23:09:03 +02:00
renovate[bot] 2f4c7d2fe3 fix(deps): update rust dependencies 2023-08-21 08:59:07 +02:00
Daniel Jacobs 1a28f83229 extension: Address review feedback 2023-08-20 19:51:14 +02:00
Nathan Adams d5fa0f56ea web: Make loadedConfig private again, add reload() method instead 2023-08-20 19:51:14 +02:00
Daniel Jacobs e7df6d890e extension: Make the player page a local Ruffle demo 2023-08-20 19:51:14 +02:00
renovate[bot] 98eb789f21 chore(deps): update node.js dependencies 2023-08-19 14:37:36 +02:00
Nathan Adams cdaf06838c web: Add short_name for extension 2023-08-19 10:02:53 +02:00
Nathan Adams d21520a4c7 web: Rename extension to 'Ruffle - Flash Emulator', to increase visibility for everyone searching for 'Flash' 2023-08-19 01:11:25 +02:00
Nathan Adams 9328caa713 web: Remove webRequest permission from chrome extension 2023-08-17 08:51:57 +02:00
Crowdin Bot cad8e10f30 chore: Update translations from Crowdin 2023-08-15 00:28:29 +02:00
Nathan Adams ee8da51c6b web: Use 'chrome?.scripting' to test for direct vs indirect pluginPolyfill pmethod, as firefox pretends to be chrome here 2023-08-14 21:21:20 +02:00
Nathan Adams 49d0d417c2 web: Make firefox also use the hash for player.html swf url 2023-08-14 21:21:20 +02:00
Nathan Adams 2f9387f1ac web: Inject plugin polyfill immediately, on chrome/edge 2023-08-14 21:21:20 +02:00
Nathan Adams 7533923f9b web: Remove check for RufflePlayer in content.ts - it can't possibly ever be true 2023-08-14 21:21:20 +02:00
Nathan Adams 1ec12f0931 web: Inject polyfill via url instead of inline, on chrome/edge 2023-08-14 21:21:20 +02:00
Nathan Adams 71000dd19a web: When using manifest v3, do swf takeover using declarativeNetRequest 2023-08-14 21:21:20 +02:00
Nathan Adams 92ea9a535d web: Change manifest v3 background script to a service worker 2023-08-14 21:21:20 +02:00
Nathan Adams 5847772b58 web: Apply 'incognito' directly to the v3 manifest, instead of in a script 2023-08-14 21:21:20 +02:00
Nathan Adams c3b486f19b web: Apply 'wasm-unsafe-eval' directly to the v3 manifest, instead of in a script (and renamed from 'wasm-eval') 2023-08-14 21:21:20 +02:00
Nathan Adams 8b3ea305a5 web: Changed web_accessible_resources to an object in manifest v3 2023-08-14 21:21:20 +02:00
Nathan Adams 9ddf9b9621 web: Extract "all_urls" in manifest v3 to "host_permissions" from "permissions" 2023-08-14 21:21:20 +02:00
Nathan Adams 54be7ffacd web: Changed manifest v3 content_security_policy to an object containing extension_pages 2023-08-14 21:21:20 +02:00
Nathan Adams 22601514bc web: Rename manifest v3 browser_action to action, and removed browser_style as it's no longer an option 2023-08-14 21:21:20 +02:00