Commit Graph

5308 Commits

Author SHA1 Message Date
Tal Hayon 4625ca0e0b web: fix base param 2021-09-07 16:45:35 -07:00
dependabot[bot] b90436cffe build(deps): bump thiserror from 1.0.28 to 1.0.29
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.28 to 1.0.29.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.28...1.0.29)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-06 14:34:19 -07:00
dependabot[bot] 5e07d4e464 build(deps): bump syn from 1.0.75 to 1.0.76
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.75 to 1.0.76.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.75...1.0.76)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-06 14:33:56 -07:00
Chris Midgley d34d8457ea dev: Only test beta rust on ubuntu 2021-09-06 17:35:03 +02:00
Adrian Wielgosik 9bd0b624fd avm2: Add more Event class stubs and constants 2021-09-05 11:56:21 +02:00
David Wendt bc4f790031 avm2: Stub `SoundMixer.areSoundsInaccessible` and `SoundMixer.computeSpectrum` 2021-09-03 16:47:02 -06:00
David Wendt 34fe35a998 avm2: Impl `SoundMixer.bufferTime` 2021-09-03 16:47:02 -06:00
David Wendt 364ee62c92 avm2: Impl `SoundChannel`'s `soundComplete` event.
This includes a test that is currently ignored because `NullAudioBackend` can't fire complete events.
2021-09-03 16:47:02 -06:00
David Wendt d5718fe408 avm2: Initialize all sounds and channels at time of allocation 2021-09-03 16:47:02 -06:00
David Wendt efcab92d97 avm2: Impl `SoundMixer.stopAll` 2021-09-03 16:47:02 -06:00
David Wendt d73ba586d0 avm2: Impl `SoundChannel.stop()` 2021-09-03 16:47:02 -06:00
David Wendt 39305f6a38 avm2: Implement `SoundChannel.soundTransform` 2021-09-03 16:47:02 -06:00
David Wendt 9c6c64e4e3 core: `NullAudioBackend` should falsely report all sounds as not playing, like the real backends
This prevents sounds from being removed from the `AudioManager`, which allows sound transforms to be placed on them in tests.
2021-09-03 16:47:02 -06:00
David Wendt 6b7609ff4e avm2: Stub `SoundChannel.position`.
This also comes with an ignored test for `position`, because I originally believed this to be implementable.
2021-09-03 16:47:02 -06:00
David Wendt 4e77f89e0f avm2: Stub `SoundChannel.leftPeak` and `SoundChannel.rightPeak` 2021-09-03 16:47:02 -06:00
David Wendt 50092e6c04 avm2: Stub all remaining `Sound` methods. 2021-09-03 16:47:02 -06:00
David Wendt b6167c2f86 avm2: Allow playing sounds with a given `SoundTransform`. 2021-09-03 16:47:02 -06:00
David Wendt 5771d4c826 avm2: Deduplicate the sound transform conversion code 2021-09-03 16:47:02 -06:00
David Wendt 116fb1f323 avm2: Impl `Sound.play`
This does not (yet) implement the third `SoundTransform` parameter on `play`.
2021-09-03 16:47:02 -06:00
David Wendt 8a58956f1f avm2: Add `flash.media.SoundChannel` class & associated object storage 2021-09-03 16:47:02 -06:00
David Wendt 3c3228f3c9 tests: Add tests for `SimpleButton.soundTransform` and `SoundMixer.soundTransform` 2021-09-03 16:47:02 -06:00
David Wendt 46de9ee46e avm2: `soundTransform` isn't a movieclip property, so don't ask for one. 2021-09-03 16:47:02 -06:00
David Wendt 1bde07089d avm2: Alias `SimpleButton.soundTransform` to the class property of `SoundMixer.soundTransform` 2021-09-03 16:47:02 -06:00
David Wendt 0f625e7864 avm2: Impl `SoundMixer.soundTransform` class property 2021-09-03 16:47:02 -06:00
David Wendt 8e1122104d avm2: Correct `SoundTransform` class definition to match docs 2021-09-03 16:47:02 -06:00
David Wendt 2f6e695483 avm2: Impl `Sprite.soundTransform` 2021-09-03 16:47:02 -06:00
David Wendt 66117450f5 tests: Add more coverage of `rightToLeft` as it disables `pan` 2021-09-03 16:47:02 -06:00
David Wendt 3b9f0f271d avm2: `SoundTransform.pan` returns 0 if the transform sends sound to different channels 2021-09-03 16:47:02 -06:00
David Wendt 2b7a0bf898 avm2: `SoundTransform` stores it's values as square roots 2021-09-03 16:47:02 -06:00
David Wendt 9926237074 tests: Add a test for AS3 `SoundTransform` properties 2021-09-03 16:47:02 -06:00
David Wendt bd3cec0d20 avm2: Impl `flash.media.SoundTransform` 2021-09-03 16:47:02 -06:00
David Wendt 3b6eea2a1d core: Report sound duration as `f64` and round down in AS1 2021-09-03 16:47:02 -06:00
David Wendt e4c6e29b8a core: `NullAudioBackend` should not report latency seek data as part of the size of a sound. 2021-09-03 16:47:02 -06:00
David Wendt d7f2f782c4 avm2: Impl `Sound.length`
This also adds duration tracking for `NullAudioBackend`.
2021-09-03 16:47:02 -06:00
David Wendt e25fb732ea avm2: Stub `Sound.isBuffering`, `Sound.isURLInaccessible`, and `Sound.url` 2021-09-03 16:47:02 -06:00
David Wendt b184273352 tests: Add some basic tests for the `Sound` class 2021-09-03 16:47:02 -06:00
David Wendt 89b411593f avm2: Impl `Sound.bytesTotal` 2021-09-03 16:47:02 -06:00
David Wendt d5fb807387 avm2: Allow calling `Function.apply` without a second argument 2021-09-03 16:47:02 -06:00
David Wendt 7b31cd9a4d avm2: Allow instantiating a SWF sound by constructing it's symbol class 2021-09-03 16:47:02 -06:00
David Wendt 37eb746989 core: Don't warn when associating sounds to AS3 classes 2021-09-03 16:47:02 -06:00
David Wendt 0c591f3370 avm2: Stub implementation of `Sound` and accompanying object type 2021-09-03 16:47:02 -06:00
relrelb fff739d5c9 desktop: Cleanup `CpalAudioBackend` 2021-09-03 22:48:35 +03:00
relrelb 66e2a2166e desktop: Revert cpal initialization on a separate thread
It was initialized on a separate thread since 6178dd9ef1,
as a workaround for Windows.

But now thanks to https://github.com/RustAudio/cpal/pull/597, this
is no longer needed, and cpal can be initialized on the same thread
as before.
2021-09-03 22:48:35 +03:00
David Wendt 70556e5830 avm2: Forbid `applytype` opcodes with more than one argument type. 2021-09-02 17:57:58 -06:00
David Wendt e2bf0a9857 avm2: Prohibit naming types with more than one parameter, as they don't exist. 2021-09-02 17:57:58 -06:00
David Wendt 141b992a73 avm2: Storing past the end of a vector only works for the immediate one-off-the-end index 2021-09-02 17:57:58 -06:00
David Wendt 8cd2b4fd5e avm2: Fill vector holes with the default value at creation time instead of storing them. 2021-09-02 17:57:58 -06:00
David Wendt 3b48216762 avm2: Don't store more than one object parameter, because there are no classes with multiple paramters. 2021-09-02 17:57:58 -06:00
David Wendt 5c740ef1e1 chore: Grammar 2021-09-02 17:57:58 -06:00
David Wendt d1b9df61f3 avm2: Move `Vector`'s properties to the AS3 namespace and add prototype properties in the public one 2021-09-02 17:57:58 -06:00