I don't have any knowledge on Airplay. But you can access and change AppDelegate, ViewController and EAGLView in iOS player and exported Xcode project. Therefore it may be possible to support Airplay without touching the internals.
@Atilim, Is there a possibility to create a second OpenGL context? That way we can create an external display and use native Gideros objects rather than using UIKit for the external display window.
I haven't tried with Airplay, I will try connecting to the AppleTV and update if this is possible or not.
@OZApps really interesting post! I enjoyed a lot while reading it.
> Is there a possibility to create a second OpenGL context? Currently, it's not possible. But in the future, I can create multiple Stage objects to support multiple screens. e.g.:
stages[1]:addChild(...)-- add sprite to the first stage to display on first screen
stages[2]:addChild(...)-- add sprite to the second stage to display on second screen
stage:addChild(...)-- add child to the default (first) stage (stage and stages[1] will be same)
And I'll need to move some functions of Application class to Stage class. (without breaking backward compatibility).
@Atilim, I was going to suggest the same thing, something like currentStage and getStageAtIndex for multiple stages, but you are on top of us all even with ideas
Will look forward for that functionality some day soon, who know you could surprise us one of these days soon
You could have an ipod Airplay to the MacBook and then using Air Display add an iPad as an external screen and move the Airplay screen to the iPad, so that way you would be seeing the contents of the iPod on the iPad via the MBP (serves no purpose but just for the sake of it to complicate).
@phongtt@OZApps If relevant, the way I do it : I run the Gideros player on the iPod Touch. I Airplay (as if it was a verb) the iPod Touch to the Macbook Air through AirServer/Reflection. Then on the Macbook Air, I activate the Airplay "extend display" feature in Mavericks that allows the creation of a second display (Big screen) without the HDMI connection (wireless) through the AppleTV. It"s a new feature, before that it seems that only mirrorring the main display was available (not sure, my Macbook was not running under Mountain Lion).
So : I code on the Macbook Air - Test the app on device - Airplay several devices (iPod Touch + iPad) on the big screen wirelessly. - Enjoy using two (##or more##) screens : last time I airplayed to several big screens (not simultaneously) during a seminar and just had to switch from one to another, while keeping my code in front of me
This allows : - players to move wherever they want - me to see several play sessions on the big screen (great to see how players use the app) - save a video all the game sessions on one sreen through Screenflow for later replays - code on the laptop and refresh all the devices instantly (well, one after the other because I had to modify the IP in device settings) thanks to the Gideros instant testing feature (still amazed at it ) - I can move next to the player I want with the Macbook Air because it's wirelessly connected to the Big Screen
Even better would be to use Zerobrane Studio for live coding but I didn't have time to set it up yet.
What I would like : A way to add several device IP (instead of only one) so that all devices can be refreshed after a code update. @atilim does that sound reasonable? It would seem to be possible?
What I would like : A way to add several device IP (instead of only one) so that all devices can be refreshed after a code update.
Actually I used to want such feature. It's not related to airplay but for testing multiplayer game (=> one click to refresh the game on several devices)
What I would like : A way to add several device IP (instead of only one) so that all devices can be refreshed after a code update. @atilim does that sound reasonable? It would seem to be possible?
The only practical problem with this is that if you want this to be a braodcast to display on several devices, it would be fine, but if each of the devices had events like touch, orientation etc, the main app would go crazy not knowing how and what to handle.
Personally, I like the idea of making a view-only listener, that could connect to a running instance of an app and display like Airplay.
However, I am also awaiting the multiple stages and the graphics advance stuff... :-w
The only practical problem with this is that if you want this to be a braodcast to display on several devices, it would be fine, but if each of the devices had events like touch, orientation etc, the main app would go crazy not knowing how and what to handle.
True, what I asked seems to be just one more step to what is already available. Instead of running the player, change the IP, run the player, change the IP etc... make Gideros studio handle it but indeed only the latest device can be monitored in the console.
@OZApps True, what I asked seems to be just one more step to what is already available. Instead of running the player, change the IP, run the player, change the IP etc... make Gideros studio handle it but indeed only the latest device can be monitored in the console.
I think a very good alternative solution would be to have a Read-Only and an interactive player. So the others can view while one of the players gets the input/interaction.
I was actually thinking once to create autodiscovery (using broadcasting and multicasting) of devices in Gideros IDE in your LAN, so that you won't need to write IP adresses anymore (or at least make it optional), but rather simply select discovered devices
But that feature would also require heavy changes on the GiderosPlayer part. And since Gideros Player is literally the shell for any Gideros App, need to be very cautious when playing with it
Oh and about launching it on multiple devices, then currently I think the problem is that Gideros Player is actually the server, and you enter IP address in Gideros IDE and connect to this server. So IDE can't act as server only as client, thus can handle only single connection and would require quite rework of the current model to achieve this.
Comments
have a read of http://howto.oz-apps.com/2012/10/using-tv-out-for-extra-information.html this is an article on using the external display, slightly different from what you were after with Airplay.
@Atilim,
Is there a possibility to create a second OpenGL context? That way we can create an external display and use native Gideros objects rather than using UIKit for the external display window.
I haven't tried with Airplay, I will try connecting to the AppleTV and update if this is possible or not.
Likes: TheOddLinguist, atilim
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
> Is there a possibility to create a second OpenGL context?
Currently, it's not possible. But in the future, I can create multiple Stage objects to support multiple screens. e.g.:
But this is a long term plan.
Likes: OZApps, keszegh
Will look forward for that functionality some day soon, who know you could surprise us one of these days soon
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
http://www.slashgear.com/samsung-announces-screencasting-sdk-with-multiscreen-and-overlay-capabilities-28303309/
Fragmenter - animated loop machine and IKONOMIKON - the memory game
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
You could have an ipod Airplay to the MacBook and then using Air Display add an iPad as an external screen and move the Airplay screen to the iPad, so that way you would be seeing the contents of the iPod on the iPad via the MBP (serves no purpose but just for the sake of it to complicate).
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
If relevant, the way I do it :
I run the Gideros player on the iPod Touch.
I Airplay (as if it was a verb) the iPod Touch to the Macbook Air through AirServer/Reflection.
Then on the Macbook Air, I activate the Airplay "extend display" feature in Mavericks that allows the creation of a second display (Big screen) without the HDMI connection (wireless) through the AppleTV.
It"s a new feature, before that it seems that only mirrorring the main display was available (not sure, my Macbook was not running under Mountain Lion).
So :
I code on the Macbook Air
- Test the app on device
- Airplay several devices (iPod Touch + iPad) on the big screen wirelessly.
- Enjoy using two (##or more##) screens : last time I airplayed to several big screens (not simultaneously) during a seminar and just had to switch from one to another, while keeping my code in front of me
This allows :
- players to move wherever they want
- me to see several play sessions on the big screen (great to see how players use the app)
- save a video all the game sessions on one sreen through Screenflow for later replays
- code on the laptop and refresh all the devices instantly (well, one after the other because I had to modify the IP in device settings) thanks to the Gideros instant testing feature (still amazed at it )
- I can move next to the player I want with the Macbook Air because it's wirelessly connected to the Big Screen
Even better would be to use Zerobrane Studio for live coding but I didn't have time to set it up yet.
What I would like :
A way to add several device IP (instead of only one) so that all devices can be refreshed after a code update.
@atilim does that sound reasonable? It would seem to be possible?
Personally, I like the idea of making a view-only listener, that could connect to a running instance of an app and display like Airplay.
However, I am also awaiting the multiple stages and the graphics advance stuff... :-w
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
Cool Vizify Profile at https://www.vizify.com/oz-apps
Christmas is coming, we have a Santa around here who will make aaaaall our wishes come true
But that feature would also require heavy changes on the GiderosPlayer part. And since Gideros Player is literally the shell for any Gideros App, need to be very cautious when playing with it