Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: Optimized Airplay Support #31

Closed

Conversation

ianclawson
Copy link

@ianclawson ianclawson commented Mar 18, 2021

This PR implements Optimized AirPlay Support as per its Trello card.

There is a companion PR on Delta.

It's fully working and gets the feature just about there, minus a couple considerations noted below. Considerations are left unimplemented so as to keep this PR as small as possible.

Tested cases include:

  • Default portrait and landscape skins on all current consoles (NES, SNES, GBC, GBA, N64, DS, GEN)
  • Skins that act as overlays
  • Skins that define a smaller, single screen (e.g. default landscape GBC)
  • Rotation
  • Entering/exiting mirroring
  • External game controller attached/detached

Considerations:

  • The sustain button view isn’t present on the mirrored screen, and no longer has the right constraints set once mirroring ends. Unsure if porting sustain over to the mirrored screen would be the right move to make or not
  • When mirroring ends, I’m restoring gameView as a subview below controllerView. While that looked correct in my testing, it’s possible there is a more correct place elsewhere in the z-hierarchy that gameView should be that I have missed
  • DS: currently this only mirrors the non-touch screen and leaves the touch screen on the iPhone screen. One day perhaps there could be a custom mirroring skin that allows for a larger touch screen when mirroring. That touches more code than I'm comfortable committing in this PR, so I leave that as an exercise for someone else 😉

NOTE: refer to the companion PR on Delta for the Settings toggle to enable the feature.

IMG_1914

@zisko
Copy link

zisko commented May 9, 2021

Awesome change!

Ian Clawson and others added 3 commits July 21, 2021 13:17
…meViewController to dynamically add or remove airplay ui
… to didLayoutSubviews so that the subclassed version in Delta can insert the AirPlay view appropriately
@ianclawson
Copy link
Author

Closing this to clean up my work list of Open PRs

@ianclawson ianclawson closed this Aug 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants