Nathan Adams
38f7443605
desktop: Try each graphics backend one-by-one until we have a result
2024-03-24 21:04:09 +01:00
Adrian Wielgosik
08157a056e
build: Fix redundant import warnings
2024-03-23 19:23:18 +01:00
renovate[bot]
d70560cb82
fix(deps): update rust dependencies
2024-03-22 11:10:59 +01:00
Crowdin Bot
65129a08da
chore: Update translations from Crowdin
2024-03-21 20:49:11 +01:00
TÖRÖK Attila
d9f17dac44
chore: Bump `image` to `v0.25`, without the `dxt` feature
2024-03-19 00:14:48 +01:00
TÖRÖK Attila
7a269c054d
fix(deps): update rust dependencies
2024-03-18 12:21:47 +01:00
Crowdin Bot
8345ace97e
chore: Update translations from Crowdin
2024-03-18 11:49:48 +01:00
Adrian Wielgosik
27cd08deeb
avm2: Provide an option to disable the optimizer
2024-03-16 22:40:15 +01:00
Crowdin Bot
fc8f4ef4cf
chore: Update translations from Crowdin
2024-03-15 20:30:28 +01:00
TÖRÖK Attila
3399662c76
desktop: Follow `Document` -> `DocumentMut` change in `toml_edit`
2024-03-14 16:45:29 +01:00
renovate[bot]
3f9f19b7ac
fix(deps): update rust dependencies
2024-03-14 16:45:29 +01:00
Colin Kinloch
f472bbc701
desktop: Use egui-winit clipboard
...
The `egui-winit` clipboard implementation provides a nice interface to
`smithay-clipboard` which correctly implements the core wayland
selection protocol. It uses `arboard` as a fallback for other platforms.
2024-03-13 23:30:15 +01:00
renovate[bot]
8d193f8944
fix(deps): update rust crate winit to 0.29.15
2024-03-13 23:07:24 +01:00
Crowdin Bot
a60d781fb4
chore: Update translations from Crowdin
2024-03-13 22:44:32 +01:00
Crowdin Bot
1a66916c6c
chore: Update translations from Crowdin
2024-03-13 08:06:34 +01:00
Colin Kinloch
787b6f5dfb
desktop: Make clipboard support optional
...
On wayland ruffle only supports `wlr-data-control-unstable-v1` which is
not intended to be supported by all compositors.
2024-03-12 20:32:23 +01:00
TÖRÖK Attila
aa834e6530
desktop: Turn off default features of `image`
2024-03-12 00:24:59 +01:00
Nathan Adams
eaab481dcc
desktop: Default RUST_LOG to warn,ruffle=info,avm_trace=info
2024-03-11 21:28:25 +01:00
Nathan Adams
a5fe7e1c81
desktop: Add log filename pattern (e.g. with timestamp) to preferences
2024-03-11 21:28:25 +01:00
Nathan Adams
6585ffdd28
desktop: Log to ruffle.log in addition to stdout
2024-03-11 21:28:25 +01:00
Daniel Williams
4927baf290
desktop: URL-decode the window title ( fix #15454 )
2024-03-11 16:54:56 +00:00
Crowdin Bot
60d7b14c59
chore: Update translations from Crowdin
2024-03-08 22:19:45 +01:00
Nathan Adams
6971a1aa5e
desktop: Persist volume to disk
2024-03-07 20:38:06 +01:00
Nathan Adams
e18055d351
desktop: Don't translate opengl, metal etc
2024-03-07 20:38:06 +01:00
Crowdin Bot
6fc7a1beaf
chore: Update translations from Crowdin
2024-03-07 11:39:50 +01:00
renovate[bot]
a916369f21
fix(deps): update rust dependencies
2024-03-06 21:58:40 +01:00
renovate[bot]
7201efdec1
fix(deps): update rust crate winit to 0.29.14
2024-03-06 16:55:52 +01:00
Kamil Jarosz
3d04971ae4
desktop: Make WinitAsyncExecutor thread-safe and prevent deadlocks
...
Not thread-safe WinitAsyncExecutor was wrapped with a Mutex, making
any access to the instance exclusive. It was problematic, because
when a task was awoken from within another task, it resulted in
a deadlock, because the mutex was not reentrant.
This patch makes WinitAsyncExecutor thread-safe and changes how tasks
are locked. Specifically, instead of locking all tasks, only
the currently executed task is being locked. This allows waking any
other task from within it.
2024-03-05 23:14:08 +01:00
Crowdin Bot
de8f63ec88
chore: Update translations from Crowdin
2024-03-05 22:56:34 +01:00
Tom Schuster
587fdff1ac
chore: Update `cpal` to `0.15.3`
...
This reduces the number of duplicate `nix` versions by one.
2024-03-05 14:24:29 +01:00
Nathan Adams
571f60abff
desktop: Document preferences a little
2024-03-05 00:02:27 +01:00
Nathan Adams
c713f56ac0
desktop: Allow changing the audio output device
2024-03-05 00:02:27 +01:00
Nathan Adams
09dfa6427e
desktop: Allow changing the language in Preferences
2024-03-05 00:02:27 +01:00
Nathan Adams
baa0c5c7cd
desktop: Use custom (de)serialization for preferences, not serde
2024-03-05 00:02:27 +01:00
Nathan Adams
ed56c70b55
desktop: Only show possibly-available backends for the current system
2024-03-05 00:02:27 +01:00
Nathan Adams
d62963c2d4
desktop: Rename config.rs to preferences.rs
2024-03-05 00:02:27 +01:00
Nathan Adams
8b589a9620
desktop: If the preferred graphics backend is unavailable, pick another one and warn
2024-03-05 00:02:27 +01:00
Nathan Adams
b9c6db1cb9
desktop: Add preferences dialog, allow setting of graphics backend/power
2024-03-05 00:02:27 +01:00
Nathan Adams
8df7efb662
desktop: Load graphics preferences from disk
2024-03-05 00:02:27 +01:00
Nathan Adams
acd01e2eb0
desktop: Add GlobalPreferences struct, prep for storing preferences to disk
2024-03-05 00:02:27 +01:00
Nathan Adams
6136d14179
desktop: Add --save-directory
2024-03-05 00:02:27 +01:00
Nathan Adams
145275af86
desktop: Remove backwards compatibility code from 3 years ago
2024-03-05 00:02:27 +01:00
renovate[bot]
fae1c458ec
fix(deps): update rust dependencies
2024-03-04 22:18:19 +01:00
TÖRÖK Attila
755fa6cded
chore: Switch `fluent-templates` back from `master` to `v0.9.0`
2024-03-04 11:05:08 +01:00
TÖRÖK Attila
9e8c406cd9
desktop: Introduce a `TaskKey` type for the slotmap in `executor.rs`
2024-03-03 21:18:39 +01:00
TÖRÖK Attila
5b920b8447
chore: Deduplicate the `fluent-templates` dependency
2024-03-02 19:54:00 +01:00
TÖRÖK Attila
55773f0205
chore: Replace `generational-arena` with `slotmap`
2024-03-02 19:42:11 +01:00
renovate[bot]
90bf13ebd2
fix(deps): update rust crate winit to 0.29.13
2024-03-02 19:17:37 +01:00
Kamil Jarosz
a0f2941a2e
desktop: Update winit to 0.29.12
...
This fixes critical crashes on X11
2024-03-01 12:10:37 +01:00
Crowdin Bot
4e87d34068
chore: Update translations from Crowdin
2024-03-01 11:15:11 +01:00
Tom Schuster
a03355458f
desktop: Add gamepad support using gilrs
2024-02-28 21:21:09 +01:00
Kamil Jarosz
9bc6700531
desktop: Get rid of busy waiting in connect_socket
...
This patch makes connect_socket await on recv
instead of spin and wake the CPU each 10 milliseconds.
2024-02-28 19:42:54 +01:00
Kamil Jarosz
f5d52272ca
desktop: Flush pending data before socket closes
...
This patch makes sure that any pending data is sent before
the socket closes. Without this fix Ruffle ignored the data sent
right before calling socket.close.
2024-02-28 19:42:54 +01:00
Kamil Jarosz
f6907a5c73
desktop: Add tests for connect_socket
...
Add tests for ExternalNavigatorBackend::connect_socket.
2024-02-28 19:42:54 +01:00
Kamil Jarosz
2535b926a7
desktop: Add WinitFutureSpawner
...
This improves testability, decouples ExternalNavigatorBackend
from the event loop, and improves readability.
Instead of passing a channel to send the future to and an event loop
to poll, a WinitFutureSpawner is created which performs the
action of spawning a future and polling the event loop.
2024-02-28 19:42:54 +01:00
Kamil Jarosz
cc8b0aa5dd
core: Use async channels in NavigatorBackend
...
This has several advantages:
1. it allows using async variants of send and recv,
2. it adds consistency as until now Receiver was async,
and Sender was not.
2024-02-28 19:42:54 +01:00
TÖRÖK Attila
e56a4597cc
desktop: chore: Update winit to 0.29.11
2024-02-27 22:43:59 +01:00
renovate[bot]
9cdb2f31cc
fix(deps): update rust dependencies
2024-02-26 08:14:26 +01:00
TÖRÖK Attila
d2e854fb73
nit: desktop/navigator: Fix a typo in a comment: ownerhsip -> ownership
2024-02-22 21:14:41 +01:00
Kamil Jarosz
98c0dc4616
desktop: Prevent resource leak on reload
...
This patch makes TaskHandle reference the executor by a weak reference.
Prior to this change, there was a possibility of a resource leak, where
the executor, its tasks, and resources held by them were not properly
dropped due to existing references to the executor.
This manifested by e.g. unclosed sockets after reload, which required
the whole program to be restarted in order to be closed properly.
2024-02-21 21:45:01 -05:00
renovate[bot]
6b89737093
fix(deps): update rust dependencies
2024-02-19 11:32:22 +01:00
renovate[bot]
1651b7a5b0
desktop: chore: Update `egui` to 0.26.2
2024-02-16 01:52:41 +01:00
Crowdin Bot
45c5d8f10c
chore: Update translations from Crowdin
2024-02-12 00:25:24 +01:00
Crowdin Bot
5c6930d72e
chore: Update translations from Crowdin
2024-02-09 17:56:24 +01:00
TÖRÖK Attila
28c380cfac
desktop: Update egui to 0.26.0
2024-02-05 19:05:10 +01:00
Kamil Jarosz
50b5f29c0a
text: Make enter add a new line in multiline fields
2024-02-03 13:40:07 +01:00
Kamil Jarosz
0657d2daa2
text: Add advanced horizontal text control codes
2024-02-01 20:18:29 +01:00
Crowdin Bot
f64688f138
chore: Update translations from Crowdin
2024-01-30 23:55:48 +01:00
renovate[bot]
3737725a21
fix(deps): update rust dependencies
2024-01-30 09:23:15 +01:00
Nathan Adams
e778e5ed58
desktop: Fix context menu, use new approach rather than trying to hack activate egui's menu
2024-01-27 09:44:31 +01:00
Crowdin Bot
4769a45999
chore: Update translations from Crowdin
2024-01-26 22:54:04 +01:00
arthomnix
3e82ba9a63
desktop: Allow specifying WGPU instance flags from environment
2024-01-26 22:33:18 +01:00
David Wendt
006c3af4b8
core: Add backend method for getting the expected length of a response.
2024-01-25 23:24:09 -07:00
David Wendt
91dd9563bb
core: Add method to read downloads in chunks instead of all-at-once.
2024-01-25 23:24:09 -07:00
David Wendt
06eb2e1ee8
core: `Request` is now a trait. Body download is deferred to a second async method.
2024-01-25 23:24:09 -07:00
Crowdin Bot
917c1c08f7
chore: Update translations from Crowdin
2024-01-25 00:49:31 +01:00
Crowdin Bot
a916f6e7a2
chore: Update translations from Crowdin
2024-01-23 23:01:01 +01:00
Crowdin Bot
430463ecd3
chore: Update translations from Crowdin
2024-01-23 12:38:25 +01:00
Aaron Hill
dbcefd060f
debug_ui: Add 'Show Domains' menu to view domains and classes
...
This opens a searchable list (similar to what we have for display
objects), which shows a tree of Domains and their associated classes.
Currently, clicking on the domain/class buttons doesn't do anything.
In a follow-up, I'm planning to add additional windows to display
information about a class.
2024-01-23 11:34:14 +01:00
renovate[bot]
262dff83a4
fix(deps): update rust dependencies
2024-01-22 03:09:33 +01:00
Nathan Adams
4d16e24889
wgpu: Update wgpu and naga to 0.19
2024-01-21 19:36:08 +01:00
Isao Mishima
d7df55fd7b
desktop: Change the default Japanese fonts ( #14877 )
2024-01-21 15:21:48 +01:00
Tom Schuster
e0f5b8906d
desktop: Support device font with a non-zero index
2024-01-19 19:21:48 +01:00
Kamil Jarosz
d89ab3dc83
desktop: Fix doubling inputted characters
...
Fix a bug introduced by f65060e8
.
The text input event was triggered two times: at key press and release.
This patch makes sure that text input is triggered only on key press.
2024-01-18 00:21:19 +01:00
TÖRÖK Attila
d153290fd6
nits: Fix a whole bunch of typos all over the place
2024-01-17 23:59:19 +01:00
Daniel Jacobs
8f2292c2c7
core: Add error for loading invalid SWF files and display as appropriate
2024-01-17 17:38:47 -05:00
Nathan Adams
f65060e8c9
desktop: Update winit to 0.29.10 and egui to 0.25.0
2024-01-16 21:10:36 +01:00
renovate[bot]
3c115238fd
fix(deps): update rust dependencies
2024-01-16 01:13:38 +01:00
Crowdin Bot
3f17d1c778
chore: Update translations from Crowdin
2024-01-16 00:48:30 +01:00
TÖRÖK Attila
078b264c19
desktop: Support F13..F24 keys
2024-01-11 22:40:37 +01:00
Nathan Adams
d89e4536b3
core: Support Japanese font defaults
2024-01-10 23:15:26 +01:00
Crowdin Bot
6e1e26e0e8
chore: Update translations from Crowdin
2024-01-08 23:28:34 +01:00
Tom Schuster
4db87a9643
desktop: define default fonts
2024-01-08 23:00:18 +01:00
Tom Schuster
2a2bcbbfbc
desktop: Load device fonts from system
2024-01-08 23:00:18 +01:00
renovate[bot]
a328deab11
fix(deps): update rust dependencies
2024-01-08 02:59:04 +01:00
Crowdin Bot
1325181a59
chore: Update translations from Crowdin
2024-01-06 09:30:28 +01:00
TÖRÖK Attila
217585daa8
chore: Delegate `[lints]` in `Cargo.toml` of all packages to the workspace
2024-01-05 11:28:19 +01:00
renovate[bot]
91d0520a43
fix(deps): update rust dependencies
2024-01-01 02:03:54 +01:00
renovate[bot]
216a8f3b14
fix(deps): update rust dependencies
2023-12-25 10:09:07 +01:00
Crowdin Bot
9523022cdd
chore: Update translations from Crowdin
2023-12-23 13:26:37 +01:00
TÖRÖK Attila
f9aa6dbea4
chore: Fix a beta clippy lint: `clippy::blocks_in_conditions`
2023-12-23 13:06:47 +01:00
Tom Schuster
e3d8a279ad
core: load_device_font register function must be &mut
2023-12-22 13:47:48 +01:00
Crowdin Bot
ba6ba842d7
chore: Update translations from Crowdin
2023-12-18 23:28:34 +01:00
renovate[bot]
0e5ef32654
fix(deps): update rust dependencies
2023-12-18 08:16:28 +01:00
nosamu
989988631f
desktop: Fix egui scaling
...
Fixes #14413
2023-12-17 22:14:14 -08:00
Aaron Hill
287ca8801a
avm2: Implement AIR playerglobal versioning
...
This builds on our existing playerglobal versioning support
to add in AIR versioning. We closely follow the avmplus implementation:
* When an SWF is loaded, we chose either a FlashPlayer or AIR
APIVersion for its SWF version, based on our configured player runtime.
* When loading playerglobals, we look at the player runtime. In AIR
mode, we map FlashPlayer-versioned definitions to the closest AIR
version. This ensures that all runtime APIVersions are in the
same series (either AIR or FlashPlayer). In FlashPlayer mode,
all AIR-versioned definitions get mapped to VM_INTERNAL, hiding
them from user code.
Part of our existing api versioning code was implemented incorrectly.
Within playerglobals, we need to treat all unmarked namespaces as
VM_INTERNAL - this allows things like playerglobal script
initializer "initproperty" opcodes to see any VM_INTERNAL AIR
definitions (when we run under FlashPlayer mode). Previously, we
were using AllVersions, which would result in those VM_INTERNAL
definitions being hidden from other playerglobal code, which is
not correct.
Using this support, I've added a stub for the AIR-only
'flash.net.DatagramSocket'. I've also extended the test framework
with a new 'player_options.runtime' config option, which can be
set to "AIR" or "FlashPlayer" to configure the test runtime mode.
I've also added two new tests:
* 'air_hidden_lookup' runs under the FlashPlayer runtime, and verifies
that a list of classes (currently just "DatagramSocket" are
inacessible).
* 'air_datagram_socket', which uses `player_options.runtime = "AIR"`
to construct an instance of `flash.net.DatagramSocket`. We can
extend this test once we implement more of `DatagramSocket`
With this commit, we have all of the needed infrastructure to start
implementing and testing AIR-only classes and methods.
2023-12-16 19:11:50 -05:00
TÖRÖK Attila
bf9cf92af8
render/wgpu: Update wgpu to 0.18.0, naga to 0.14.1, naga_oil to 0.11.0, egui to 0.24.1
2023-12-14 01:36:42 +01:00
Tom Schuster
0fad4c23d2
desktop: Also spoof top.location.href
2023-12-13 20:10:39 +01:00
Crowdin Bot
9a02ca76ff
chore: Update translations from Crowdin
2023-12-12 19:08:09 +01:00
bi4k8
4d07e43bc4
desktop: Add "wayland-data-control" feature for arboard
...
This fixes a crash on start when running under Wayland.
2023-12-11 10:08:15 +00:00
renovate[bot]
40b92e69f7
fix(deps): update rust dependencies
2023-12-05 21:08:16 +01:00
Crowdin Bot
9477856079
chore: Update translations from Crowdin
2023-12-02 23:25:09 +01:00
TÖRÖK Attila
4c8a5714b8
chore: Bump `tracing-tracy` to 0.10.4 to match `profiling`
...
And avoid "span! without a running Client" errors due to
duplicate `tracy-client` dependency.
2023-11-29 13:11:07 +01:00
renovate[bot]
6da223a875
fix(deps): update rust dependencies
2023-11-27 09:44:47 +01:00
Aaron Hill
993d8d9f9b
core: Add PlayerRuntime::{FlashPlayer, AIR} for Adobe AIR support
...
We've now had two different bug reports involving Adobe AIR
SWFs, so I'm going to go ahead and start adding a framework
for AIR support.
This commit just adds a command-line option
`--player-runtime <flash-player|air>` (defaulting to `flash-player`),
and passes it along to the `Player`. The actual value is currently
unused - in a follow-up PR, I'm going to implement namespace versioning
for AIR.
2023-11-25 19:05:51 -05:00
Lord-McSweeney
d3b9d8a451
dekstop: Support `quit` and `fullscreen` fscommands
2023-11-25 15:49:02 -08:00
Crowdin Bot
66c6c176f0
chore: Update translations from Crowdin
2023-11-25 22:45:02 +01:00
MrCheeze
5920a6426e
core: Allow Regular/Bold/Italic device fonts to be registered separately
2023-11-24 17:08:35 +01:00
Tom Schuster
96059a8e25
avm2: Implement flash.system.Security pageDomain
2023-11-23 19:55:32 +01:00
Tom Schuster
48102a20a2
desktop: Add window.location.href spoofing to the fake ExternalInterface
2023-11-23 19:12:34 +01:00
Tom Schuster
a113d96fdd
desktop: Include file path in IO error message
2023-11-22 23:59:46 -05:00
Crowdin Bot
d1784dc7c8
chore: Update translations from Crowdin
2023-11-23 00:38:05 +01:00
renovate[bot]
7757d060ff
fix(deps): update rust dependencies to v2
2023-11-20 09:03:08 +01:00
renovate[bot]
32c65e6460
fix(deps): update rust dependencies
2023-11-13 09:10:26 +01:00
Nathan Adams
424821724f
desktop: Show ruffle logo in about dialog
2023-11-12 21:42:02 +01:00
Crowdin Bot
1c4380f633
chore: Update translations from Crowdin
2023-11-07 12:40:56 +01:00
CUB3D
b0d88645bc
avm1: Implement FileReference
2023-11-03 19:32:24 +01:00
renovate[bot]
1377a5b07b
fix(deps): update rust dependencies
2023-11-01 00:45:43 +01:00
renovate[bot]
7b3ae30fbf
fix(deps): update rust crate async-io to v2
2023-10-23 13:05:02 +02:00
Crowdin Bot
1ca5f714f9
chore: Update translations from Crowdin
2023-10-23 03:21:14 +02:00
renovate[bot]
cd01bfe7d6
fix(deps): update rust dependencies
2023-10-23 02:55:11 +02:00
Crowdin Bot
94174b30fe
chore: Update translations from Crowdin
2023-10-20 21:10:35 +02:00
Crowdin Bot
e6f9796094
chore: Update translations from Crowdin
2023-10-17 23:31:22 +02:00
renovate[bot]
b427940431
fix(deps): update rust dependencies
2023-10-16 09:51:22 +02:00
Crowdin Bot
0127c98fdf
chore: Update translations from Crowdin
2023-10-15 19:17:00 +02:00
Nathan Adams
ec21ad8658
core: Add default_font feature which enables the fallback font
2023-10-15 14:09:21 +02:00
Nathan Adams
74a7ab5afe
core: Implement device font lookup, and multiple default device fonts
2023-10-15 14:09:21 +02:00
Crowdin Bot
2422793d1b
chore: Update translations from Crowdin
2023-10-11 13:29:12 -04:00
TÖRÖK Attila
602154b1b7
core,desktop: Switch to egui v0.23.0
...
Since it's compatible with wgpu 0.17.x.
2023-10-09 18:51:01 -04:00
Crowdin Bot
13b50fecb5
chore: Update translations from Crowdin
2023-10-09 23:10:41 +02:00
Crowdin Bot
3dc75f7ab8
chore: Update translations from Crowdin
2023-10-07 23:37:34 +02:00
renovate[bot]
428e89af73
fix(deps): update rust dependencies
2023-10-04 19:19:51 -04:00
sleepycatcoding
4bfd2fc978
desktop: Make jpegxr optional
...
This is enabled for CI builds.
2023-10-03 16:08:51 -04:00
Aaron Hill
25cf77c4a2
desktop: Handle cookies and Content-Type for HTTP requests
...
Both of these are handled automatically by the browser in the
web backend. This makes the desktop client store cookies between
requests (though they are discarded when the desktop player is closed),
and set the "Content-Type" header based on the mime-type supplied
in the URLRequest.
2023-10-02 19:41:39 -04:00
Crowdin Bot
58b18e282b
chore: Update translations from Crowdin
2023-10-02 00:57:34 +02:00
sleepycatcoding
f140e7a14b
core: Place jpegxr texture support behind feature flag ( #13348 )
2023-09-29 18:46:54 -04:00
Crowdin Bot
c3d0540a6e
chore: Update translations from Crowdin
2023-09-29 18:28:15 +02:00
renovate[bot]
7e4e4d4c5b
fix(deps): update rust dependencies
2023-09-25 11:14:39 +02:00
Crowdin Bot
bd67a5845b
chore: Update translations from Crowdin
2023-09-24 12:13:31 +02:00
Crowdin Bot
5b9806bdb3
chore: Update translations from Crowdin
2023-09-19 23:41:23 +02:00
Crowdin Bot
695c2ff9f5
chore: Update translations from Crowdin
2023-09-18 00:03:15 +02:00
TÖRÖK Attila
d7d5928c21
chore: Follow rfd API change (set_description)
2023-09-18 00:00:45 +02:00
TÖRÖK Attila
b8190660aa
chore: Follow rfd API change (MessageDialogResult)
2023-09-18 00:00:45 +02:00
renovate[bot]
37e2c06034
fix(deps): update rust dependencies
2023-09-18 00:00:45 +02:00
Crowdin Bot
8885c35c54
chore: Update translations from Crowdin
2023-09-17 22:45:09 +02:00
Crowdin Bot
7f416f85a8
chore: Update translations from Crowdin
2023-09-14 23:50:25 +02:00
Positron832Alt
591e4b4da1
desktop: Change "Open URL Mode" to "Open Links" ( #13099 )
2023-09-13 22:33:17 +02:00
Aaron Hill
1c0ae0b6d8
render: Bump wgpu to 0.17 and naga to 0.13
2023-09-07 18:49:59 -04: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
a550a998c3
desktop: Add desktop volume controls
...
The desktop version of Ruffle now has a volume controls window. It can
be accessed through the menu bar (Controls > Volume controls).
It contains a mute button and a slider from 0 to 100.
The volume settings set in the GUI are saved in a new VolumeControls
struct, 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 player (if the player exists).
The player doesn't set its volume level according to the PlayerOptions
after its creation anymore. Instead, RuffleGui::on_player_created now
gets the player and sets its volume to the real volume set in the GUI.
The volume in the GUI itself defaults to the PlayerOptions value.
This also fixes the issue that the PlayerOptions volume has previously
not been adapted for logarithmic hearing.
The existing ftl files have been adapted (and new ones have been
created) to include the new multilingual text in the menu bar and the
volume controls window.
2023-09-07 00:51:58 +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]
4e75c3890a
fix(deps): update rust dependencies
2023-08-28 07:39:35 +02:00
Crowdin Bot
3ccda582e1
chore: Update translations from Crowdin
2023-08-25 11:50:24 +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
renovate[bot]
2f4c7d2fe3
fix(deps): update rust dependencies
2023-08-21 08:59:07 +02:00
renovate[bot]
1f4bfcf10d
fix(deps): update rust dependencies
2023-08-18 23:32:15 +02:00
Crowdin Bot
96faa8c5ce
chore: Update translations from Crowdin
2023-08-18 00:54:46 +02:00
Crowdin Bot
56b97e7b40
chore: Update translations from Crowdin
2023-08-13 20:04:29 +02:00
Crowdin Bot
8e1632ab22
chore: Update translations from Crowdin
2023-08-11 10:23:54 +02:00
Crowdin Bot
205ef09cc6
chore: Update translations from Crowdin
2023-08-08 23:49:31 +02:00
renovate[bot]
a4b179e1e0
chore(deps): lock file maintenance rust dependencies
2023-08-08 23:19:16 +02:00
sleepycatcoding
ba5eb9532b
desktop: Fix --no-gui issues
2023-08-08 18:25:45 +02:00
Daniel Jacobs
dbb5e381f2
core/desktop/web: Play unsupported videos with browser
2023-08-07 14:31:33 -06:00
Lord-McSweeney
66df964709
desktop: Don't wrap context menu item text; support enabled/disabled ctx menu items
2023-08-05 22:06:10 +02:00
Crowdin Bot
98c286e997
chore: Update translations from Crowdin
2023-08-04 17:18:58 +02:00
sleepycatcoding
ad5f087baa
desktop: Add --no-gui flag
2023-08-02 22:34:25 +02:00
sleepycatcoding
d7b6e588d0
desktop: Use new socket API
2023-07-31 22:32:03 +02:00
Crowdin Bot
739583c35c
chore: Update translations from Crowdin
2023-07-30 23:36:20 +02:00
Crowdin Bot
64b705a8c5
chore: Update translations from Crowdin
2023-07-30 16:33:54 +02:00
Crowdin Bot
82b88ebff5
chore: Update translations from Crowdin
2023-07-29 00:11:13 +02:00
Crowdin Bot
2455a5f1b7
chore: Update translations from Crowdin
2023-07-28 19:47:33 +02:00
Crowdin Bot
280de7cd61
chore: Update translations from Crowdin
2023-07-27 16:39:17 +02:00
Nathan Adams
55906c22fa
desktop: Change 'socket mode' text to 'TCP Connections'
2023-07-26 19:44:39 +02:00
Nathan Adams
1a0a82d898
core: Move fscommand execution outside of ExternalInterfaceProvider, so it can be implemented without causing ExternalInterface.available to become true
2023-07-26 17:00:15 +02:00
renovate[bot]
3e63a88c34
chore(deps): lock file maintenance rust dependencies
2023-07-25 08:23:28 +03:00
sleepycatcoding
a432b1cbca
desktop: Split read/write tasks for TcpStream
...
This should improve latency as we no longer wait for writing.
2023-07-23 09:13:01 +02:00
sleepycatcoding
4db16b76ab
Chore: fmt
2023-07-23 09:13:01 +02:00
sleepycatcoding
a82658687e
desktop: Update en-US translation file
2023-07-23 09:13:01 +02:00
sleepycatcoding
74b66fdd73
core+desktop: Rename SocketBehavior to SocketMode
...
Also change command line flag from --socket to --socket-mode
2023-07-23 09:13:01 +02:00
sleepycatcoding
d7421a9812
desktop: Default socket behavior to ask
2023-07-23 09:13:01 +02:00
sleepycatcoding
7cb6998991
chore: fmt
2023-07-23 09:13:01 +02:00
sleepycatcoding
4c6ce79210
desktop: Differentiate between TimedOut and Failed connection
2023-07-23 09:13:01 +02:00
sleepycatcoding
caddd5512b
desktop: remove Option for connection timeout
2023-07-23 09:13:01 +02:00
sleepycatcoding
4501bc19c4
chore: allow clippy::too_many_arguments
2023-07-23 09:13:01 +02:00
sleepycatcoding
b46cc2aadc
desktop: remove unneeded comment
2023-07-23 09:13:01 +02:00
sleepycatcoding
c0ebafdb95
desktop: Use provided timeout when connecting
2023-07-23 09:13:01 +02:00
sleepycatcoding
df4ee7fe05
Chore: Fmt
2023-07-23 09:13:01 +02:00
sleepycatcoding
2bcfc25b9f
desktop: Add socket behavior to OpenDialog
2023-07-23 09:13:01 +02:00
sleepycatcoding
22eb150756
desktop: add SocketBehavior and host whitelist
...
This adds a way to modify socket behavior to restrict, ask, or allow all
connections. Also adds a whitelist which can be used to allow specific hosts
without enabiling ask or allow all behaviors.
2023-07-23 09:13:01 +02:00