github ppy/osu-framework 2021.1118.0

latest releases: 2024.528.1, 2024.528.0, 2024.523.0...
2 years ago

Thanks for following along! This is a tagged release (2021.1118.0).

Breaking Changes

KeyBindingContainer now sends key repeat events by default

KeyBindingContainers are commonly used in UI, where we expect to be able to receive key repeats. Historically this was controlled by the SendRepeats flag, but now that all events send KeyBindingPressEvent with a repeat argument, handling this legacy mode of operation was causing more issues that it was worth. The default expectation should be that repeats arrive.

For cases where key repeat may not be wanted (ie. gameplay, where your code is in complete control of user input and doesn't want to receive arbitrary key repeat events), you may opt out of receiving them by creating a subclass of KeyBindingContainer:

public class NoRepeatKeyBindingContainer : KeyBindingContainer<T>
{
    protected override bool HandleRepeats => false;
}

Alternatively, if you have only certain cases which you wish to opt out of, you can early return in your OnPressed implementation:

public bool OnPressed(KeyBindingPressEvent<MyAction> e)
{
    if (e.Repeat)
        return false;

    if (e.Action == MyAction.Action)
    {
       ...
    }
}

What's Changed

  • Add mixer output levels to audio visualizer by @nekodex in #4889
  • Add SDL2DesktopWindowTextInput and polish ITextInputSources by @Susko3 in #4865
  • Add "iPhone Developer" codesign key to iOS projects by @frenzibyte in #4891
  • Update iOS native packaging by @huoyaoyuan in #3044
  • Fix .webm videos reporting incorrect duration by @Opelkuh in #4892
  • Improve test coverage of video playback by @Opelkuh in #4893
  • Preserve BASS FX and BASSmix library symbols from getting stripped in iOS by @frenzibyte in #4890
  • Remove KeyBindingContainer.SendRepeats by @peppy in #4896
  • Exclude BASS default audio device from the public AudioDeviceNames list by @frenzibyte in #4868
  • Ensure non-alive drawables don't receive key repeats from KeyBindingContainer by @peppy in #4899
  • Add back ability to disable key repeat firing in KeyBindingContainer by @peppy in #4901
  • Update all OnPressed methods to block repeats where applicable by @peppy in #4900

Full Changelog: 2021.1111.0...2021.1118.0

Don't miss a new osu-framework release

NewReleases is sending notifications on new releases.