NOTICE: This channel is no longer actively logged.
[21:12:43] *** echelog-1 has joined #nme[21:12:49] <photex> I'm just trying to avoid manually doing things[21:13:06] <photex> so one thing that's strange, is that tiled seems to be putting gzipped data into the xml[21:13:13] <photex> so that can't be right[21:16:00] <photex> I can't see how to export without that… must have set it up incorrectly[21:17:28] <photex> ok, that was in the preferences[21:18:26] <photex> now I see how it's laid out[21:18:33] <photex> it's just a chunk of tile gids[21:20:45] *** ChanServ changes topic to "NME, an awesome cross-platform framework || Windows, Mac, Linux, iOS, Android, BlackBerry, webOS, Flash, HTML5 || http://www.haxenme.org || Channel log: http://echelog.com?nme"[21:21:57] <singmajesty> Yep[21:22:04] <singmajesty> I might be able to help if its a burden[21:29:25] *** justinfrontThink has joined #nme[21:32:04] <singmajesty> justinfrontThink: We've got chat logging now[21:32:34] <photex> at the moment I've found Matt Tuttles library[21:32:39] <photex> which I'm trying to understand[21:35:51] <photex> it's not clear what I'm supposed to provide for the bitmapData parameter[21:35:57] <photex> https://github.com/MattTuttle/HaxePunk-Tiled[21:39:00] <Decept808> seems my nme build was outdated[21:39:02] <Decept808> facepalm[21:39:21] <Decept808> i guess this was fixed not too long ago[21:54:58] <singmajesty> Decept808: It used to use a different event name. I changed it to FocusEvent.FOCUS_IN and FocusEvent.FOCUS_OUT[21:55:02] <singmajesty> Because I thought that felt more logical[21:55:22] <singmajesty> I think it was "has_focus" and "lost_focus" or something before[22:28:38] <singmajesty> Decept808: What are the changes you made for Android sound?[22:34:38] *** camboris has quit IRC[22:49:46] <Decept808> singmajesty i exposed every soundpool method as a static method[22:49:51] <Decept808> and wrote jni to talk to all of them[22:50:11] <Decept808> also added a check for the soundpool load state, tracking the load calls vs how many of them finished[22:50:33] <Decept808> also in AndroidSound.cpp i added a field for wether the sound has been stopped[22:50:58] <Decept808> and return its value in isComplete()[22:51:29] <Decept808> since returning true in there still results in premature gc for me which means i cant affect the sound during playback[22:52:11] <Decept808> so i always manually call stop() from my sound manager[22:52:33] <eightbitpimp> yoooo[22:52:38] <Decept808> though that doesnt actually matter anymore, come to think of it, since i don't use the Sound api at all for android anymore[22:52:40] <Decept808> just the JNI calls[22:53:15] *** justinfrontThink has quit IRC[22:53:23] *** justinfrontThink has joined #nme[22:53:32] <singmajesty> What were you saying before about SoundPool...[22:53:44] <singmajesty> There was a way to pause and resume it, like MediaPlayer, rather than destroying and recreating?[22:53:48] <Decept808> yeah[22:53:51] <Decept808> autoPause/autoResume[22:54:00] <Decept808> tested it, works beautifully[22:54:07] <singmajesty> With Android 2.1?[22:54:39] <Decept808> ah, thats right. you target 7?[22:54:52] <singmajesty> Oh, its in 2.2[22:54:57] <singmajesty> Well, we might have to bump up to 2.2[22:55:05] <singmajesty> Since that's when OpenGL ES 2.0 was added, anyway[22:55:08] <Decept808> well you can just track what ids are being played and just iterate over them and call pause/resume on them each[22:55:37] <singmajesty> "*New APIs in SoundPool to detect completion of sound-loading."[22:55:40] <singmajesty> What is that?[22:56:01] <singmajesty> So we can't tell if sound is loaded without being on 2.2?[22:56:19] <Decept808> seems not[22:56:41] <Decept808> i think 2.1 is a noble goal, but imho android sort of wasnt worth taking very seriously prior to 2.2 ;P[22:56:46] <Decept808> <- elitist prick[22:57:03] <singmajesty> So initial thoughts:[22:57:05] <Decept808> in 2.2 you can listen for sound load complete events[22:57:10] <singmajesty> 1.) We bump up to 2.2[22:57:22] <singmajesty> 2.) We use autoPause and autoResume, and eliminate the code for reloading[22:57:40] <singmajesty> 3.) We automatically play sounds after they are loaded, if they were not finished loading when a play was requested[22:57:45] <singmajesty> We support sound.complete for real[22:57:54] <singmajesty> 4.) We support sound.complete for real[22:58:15] <singmajesty> What do you think?[22:58:24] <singmajesty> What more would you need from a sound manager?[22:58:35] <Decept808> you still have a problem with sound priorities on android though, unfortunately soundpool will happily kill a looping sound if it runs out of polyphony[22:58:45] <Decept808> whereas if you play loops with a higher priority, that is less likely to happen[22:58:49] <singmajesty> :/[22:58:52] <Decept808> so you might need some specific behavior for that[22:58:57] <singmajesty> *sigh*[22:59:02] <Decept808> like if loops > 0, set the priority to 1[22:59:04] <Decept808> else set it to 0[22:59:14] <singmajesty> That would make sense[22:59:15] <Decept808> could probably be handled in the java template[22:59:18] <singmajesty> So my thoughts are...[22:59:27] <singmajesty> 1.) Do it right automatically[22:59:37] <singmajesty> 2.) If there's a clear case for it, leave hooks for JNI, for cool people like you[22:59:41] <Decept808> yeeah[22:59:44] <Decept808> cool dudes need cool hooks[22:59:59] <singmajesty> I don't want everyone to have to mess with this stuff just to have normal sound features functioning[23:00:05] <Decept808> i mean soundpool does support some cool stuff, like pitch shifting[23:00:09] <singmajesty> And I don't want to needlessly expose complexity[23:00:19] <Decept808> so its nice to have it available if i'm only targeting droids[23:00:43] <singmajesty> I would really appreciate it if you wanted to take a crack at this[23:01:03] <Decept808> sure[23:01:09] <Decept808> i'm almost there anyway :)[23:01:31] <Decept808> one thing we have to think about though is how to get sound.length on android, and how to track wether a sound has finished playing[23:01:53] <singmajesty> Yeah, we don't want to slow down all sounds by constantly babying them[23:02:02] <singmajesty> Most people probably don't need to know when it has ended[23:02:04] <Decept808> would be nice to be able to guarantee sound lengths and sound complete events for all targets[23:02:18] <singmajesty> Hard to automate a complete event based on length[23:02:23] <singmajesty> But we can pre-calculate length[23:02:44] <Decept808> for our game we just use it as a guide more than a precise measure. Like wether a character has finished speaking or not[23:03:02] <singmajesty> What kind of game are you making?[23:03:13] <Decept808> 2d side scrolling shooter :)[23:03:13] <singmajesty> Curious :)[23:03:18] <Decept808> with some dumb story elements[23:03:27] <singmajesty> Mobile, desktop, web?[23:03:31] <Decept808> android, ios[23:03:38] <singmajesty> Tablet? Phone?[23:03:42] <Decept808> desktop later but that takes some redesign[23:03:44] <Decept808> phone for now[23:03:50] <singmajesty> Cool[23:04:17] <Decept808> http://www.youtube.com/watch?v=OGgFNjJXBdY[23:04:19] <Decept808> a pretty old build[23:04:42] <Decept808> also this dude is doing our soundtrack http://www.youtube.com/watch?v=OPyZGCKu2wg which is pretty cool[23:05:01] <singmajesty> Oh! Right.[23:05:09] <singmajesty> Super Croissant Fighter[23:05:13] <singmajesty> Nice[23:05:48] <Decept808> we tried making this game in Air before[23:05:52] <Decept808> that was sort of a massive failure[23:06:09] <Decept808> i don't know whats up with air for android but nothing feels remotely responsive[23:06:18] *** Mazon has left #nme[23:16:10] <singmajesty> Do you think having AIR support will help people?[23:16:30] <singmajesty> Means you would be able to move from Flash/AIR to Haxe/AIR easily, then play with native (and realize its way faster and move over entirely)[23:17:18] <Decept808> haha[23:17:54] <singmajesty> Or in some small cases, there's people who rely heavily on SWF assets, and maybe they'll go back to AIR for a little bit while we improve things in native[23:18:03] <singmajesty> But they won't feel that they need to go to AS3 + AIR entirely[23:18:08] <singmajesty> They just add "-air" when compiling[23:18:13] <Decept808> hm, hard to say if its worth the effort. I think NME's big strength is really on mobile, not so much on desktop where AIR still supports way more "cool stuff"[23:18:42] <Decept808> air on mobile also, on paper, supports more stuff[23:18:56] <singmajesty> I already have AIR support for desktop[23:19:02] <singmajesty> nme test mac -air[23:19:33] <Decept808> so i dunno, it's like a paradigm shift. NME for me is like having the fundamentals sorted for you, and then you can go into the framework and add special bits and bobs as you need them. It reminds me more of openframeworks than flash[23:20:15] <Decept808> i think writing an air app in nme for deploying on mobile would, somehow, feel like missing the point ;)[23:20:39] <singmajesty> Well, in a sense...[23:20:48] <singmajesty> I think that deploying to AIR or native should be as simple as a flag[23:20:58] <singmajesty> Since AIR is really Flash with different lipstick[23:21:47] <Decept808> i just wonder if people wouldnt feel miffed there wasnt any stage3d support[23:22:09] <singmajesty> Yeah, I don't know[23:22:12] <singmajesty> I mean, NME is faster[23:22:17] <singmajesty> But still[23:22:23] <justinfrontThink> But if you need 3d or video than air can supply that so if your pitching to a client for some projects and they find out you have no video or 3d even if they don't use them but if you say that fine we can output slower air but do that when needed. So I think it can be useful but it could look like we don't believe in pure nme[23:22:29] <singmajesty> I had someone today say, after I posted about threads, "Now you need to add workers"[23:22:31] <singmajesty> ...[23:22:54] <Decept808> its not a really good comparison but ill give it a shot:[23:23:02] <Decept808> i just did a project for a client, 5 installations for a showroom[23:23:10] <Decept808> they wanted this smooth, fluid dynamics grid background[23:23:16] <Decept808> so i wrote it in stage3d[23:23:25] <Decept808> later, they decided they wanted the grid on top of the content, which stage3d cant do[23:23:33] <Decept808> so i switched to a "normal" flash rendering approach[23:23:48] <Decept808> and it looked super poopy because the software vector antialiasing is worse than the gpu[23:24:00] <Decept808> like a compromise can seem simple[23:24:05] <Decept808> but really bust a project up good[23:24:19] <Decept808> i feel better knowing the exact extent of the capabilities i have at hand[23:24:26] <Decept808> rather than sort of winging it on the fence[23:25:49] *** Yrgkala has joined #nme[23:26:38] <Decept808> blablabla ;)[23:26:43] <Decept808> of COURSE I'm for more cool stuff[23:27:09] <Decept808> but you asked my opinion and i think a stronger SDL/openGL api native to NME is more important than wrapping what AIR can do[23:28:45] <justinfrontThink> Jan has done air3 surely it would be not too hard to get his help and then flashdevelops and set it all up? I think it is more about getting the packaging of NME parts sorted more than anything else?[23:28:55] <singmajesty> Yeah, its packaging[23:28:59] <singmajesty> So this isn't diminishing returns[23:29:13] <singmajesty> I'm not the guy who's the best person to do shaders and 3D support in NME, anyway[23:29:17] <singmajesty> I know those are important :)[23:29:37] <singmajesty> It's like Justin said ... if you suddenly HAVE to have video[23:29:42] <singmajesty> You can help add a Video extension[23:29:46] <singmajesty> Or publish to AIR, temporarily[23:29:53] <Decept808> truth[23:29:55] <singmajesty> No dead end[23:29:59] <singmajesty> So it means you have options[23:30:03] <singmajesty> Basically, you can go C++, Flash or HTML5[23:30:11] <singmajesty> To mobile, desktop, web[23:30:15] <singmajesty> You can mix-and-match[23:30:22] <singmajesty> That's one of the reasons why I was working with Cordova[23:30:28] <singmajesty> Is HTML5 as fast as C++? No[23:30:31] <justinfrontThink> Did you try Hugh h3d Joshua, I think it is broken in current NME but would be nice to be able to use it.[23:30:32] <singmajesty> But it is an option[23:30:44] <singmajesty> And opens up things like BlackBerry OS or Windows Phone, which don't have C++ support[23:30:52] <singmajesty> What's h3d?[23:30:57] <Decept808> is blackberry OS the playbook/qnx thing?[23:30:57] <justinfrontThink> well Nicolas h3d,[23:31:06] <singmajesty> Nope[23:31:12] <singmajesty> BBOS are the Java-based smartphones[23:31:15] <Decept808> aah[23:31:25] <singmajesty> BlackBerry Tablet OS is the PlayBook, it's QNX-based, supports C++ really well[23:31:37] <singmajesty> BlackBerry 10 is based on QNX as well, so that's the future for the platform[23:31:44] <Decept808> i worked on that thing as a prototype a while back[23:31:52] <Decept808> it was pretty crazy to see air integrated like that[23:31:55] <justinfrontThink> http://gamehaxe.com/2009/04/08/haxe3d-c-demo/ http://gamehaxe.com/wp-content/uploads/h3d-cpp-demo-2.zip[23:31:58] <Decept808> impressive[23:32:25] <singmajesty> huh[23:32:35] <singmajesty> Yeah, Hugh says he wants to do 3D[23:32:39] <singmajesty> I think we're mostly there[23:32:49] <singmajesty> Actually, he said OpenGL ES 2.0 support was already in NME (?)[23:32:53] <singmajesty> I think there's a flag to enable it[23:33:00] <Decept808> whoa[23:33:02] <justinfrontThink> Really how do I get preview access[23:34:08] <singmajesty> Maybe...[23:34:13] <singmajesty> <setenv name="ALLOW_OGL2" />[23:34:18] <singmajesty> I *have NOT* tried it[23:35:59] <Decept808> i guess we shouldnt really see any difference[23:36:08] <Decept808> other than delicious sweet potential ;)[23:36:21] <Decept808> i swear, the day NME just straight up gives me the opengl api[23:36:34] <Decept808> i will be one happy puppy dog[23:36:46] <singmajesty> haha :)[23:36:54] <singmajesty> We almost looked at working with HXGL[23:37:07] <singmajesty> Which was implementing basically the full GL API for WebGL, C++, and Stage3D[23:37:16] <singmajesty> But it wasn't really compatible[23:37:20] <singmajesty> We're going to do something more integrated[23:37:23] <justinfrontThink> anyway off to dance hopefully get some salsa :) laters[23:37:28] <Decept808> have fun![23:37:31] <singmajesty> You know, every display object is a texture in GL, basically, anyway[23:37:38] <singmajesty> So why not add to nme.display.Graphics or something[23:37:47] <singmajesty> later :)[23:38:10] <Decept808> i suppose you could create an OGLRenderer displayobject or something that would define a viewport[23:38:21] <justinfrontThink> the inheritance in flash is too large you could probably throw half of it away[23:39:11] <Decept808> trying to think of a good way to integrate whats a pure 2d renderer with 3d geometry and projection[23:39:16] <Decept808> brain melt[23:39:30] <Decept808> guess thats why adobe gave it up[23:39:30] <Decept808> ;P[23:42:15] *** Caribou| has joined #nme[23:43:14] *** justinfrontThink has quit IRC[23:49:06] <singmajesty> ipa-debug-interpreter-simulator: error 301: Application descriptor missing/cannot be opened[23:49:11] <singmajesty> Has anyone gotten an error like this?