Forum Replies Created
-
AuthorPosts
-
I always rebuild with MX2_USE_MSVC=1
Aha! Yes, this will cause updatemx2cc to fail as I haven’t taken into account rebuilding mx2cc with MSVC. I only really intended it to be used to speed up compiling/linking on the c++ side.
Sorry about that, things are getting a wee bit involved building from source these days!
Have you rebuilt mx2cc? You should *always* do this when dealing with the dev branch, as I very seldom push the binary because it bloats the repos so much. I am planning on removing it altogether some time soon.
So best/safest practice is to always rebuildall after git pull from dev branch. Are you doing this? If you are having problems with latest dev even after a rebuildall, please post a bug report in github issues.
I recommend the emscripten-discuss google group, they’re usually pretty cool and helpful there. For starters, just try and get 1.37.9 going from the command line.
I’m in a similar situation on macos, so might see you there myself soon, emscripten hasn’t worked for me on macos for about 6 months now, need to attempt a major clean/reinstall (again).
If anyone’s feeling brave, I’d love to see a monkey2 devtools package that ‘just worked’. Last time I attempted this it ended in tears though. But with the new portable installer this might be easier now?
Try entirely removing emscripten and reinstalling.
Alas, macos has majorly broken PATH and environment vars over the years – processes no longer inherit env vars so you need to make sure env_macos.txt is correct instead of relying on system PATH.
And please make sure you have at least v1.37.9 of emscripten installed if you want to use wasm. Otherwise, stick with asmjs output.
Also, you might want to delete any emscripten folders in blah.products dirs (or just whole blah.products dir). Older versions of these could be causing problems too.
The first time you run an emscripten app now, you should get a product setting prompt asking of wasm, wasm+asmjs or asmjs apptype.
I haven’t tried the itch.io version
Could you please try this?
I know people have a lot of ‘custom’ versions of monkey2 going so I need to be able to rule potential problems there out.
Have you tried a *clean* install of the v1.1.07 package?
Are you using very latest ted2go?
Ok, to fix this I’ll need to add Keyboard.Flush(), ala ye olde FlushKeys() in blitz3d. A bummer, but I can’t see any way around it if we want to be able to read keypresses asynchronously on timers.
You will need to call Keyboard.Flush() to prevent any keys that have been recently pushed from being detected, eg: after loading screens etc.
The previous system would only report keypress that occured in the same ‘frame’, which worked well if everything is synchronous, but it doesn’t work well with timers which can go off in future frames.
In practice keyboard ‘polling’ is just reverting to how blitz3d and blitzmax used to do it.
Success!
I tried a 3rd party openal.dylib instead of the system openal framework and it fixed the kick.wav issue!
Will add this for the next release, mx2cc needs some changes too to be able to import dylibs properly.
Ok, I can reproduce this, but I have no idea what’s up, except that it doesn’t seem to be in monkey2 code.
Openal (and quick time) don’t seem to like the sample at all. I get very much the same problem if I play it with quicktime, except it works first time. Also, playing in Ted works sometimes when you loop it or repeat it, sometimes not.
If I blast over the first N bytes of the sample with a sine wave, the sine wav plays OK so it’s not that the audio driver isn’t playing the first N bytes, it’s just playing them wrong!
I will keep looking into this, but to be honest it may be a while before there’s a solution as it may involve writing a completely new driver from scratch, so go ahead and tell everyone monkey2 sucks on macos in the meantime! There are no such problems on windows anyway.
Perhaps try a different sample?
Looks like KeyPressed is having problem inside a timer. Works OK inside OnRender so you’ll have to use that for now or KeyDown.
Think I know what’s up, will look into this ASAP. Did it used to work in a timer? What version?
Just a quick note that Vec2, Vec3 etc have single component ctors too, eg: New Vec3f( .8 ) is the same as New Vec3f( .8,.8,.8 ).
What’s a ‘wallop’? Pehaps the 0->128 click at the end?
Updated my sine wave code so you can try different lengths. Like how stereo is definitely louder than mono!
Do you hear a steady sine wave with n=8192?
As for your code, not sure you can just throw some numbers at audio and then say ‘thats wrong’ (well, with my level of experience anyway). I just noticed that setting data to ‘0’ produces a noticeable click when it stops. I assume this is because 128 is really 0 as mono8 is unsigned – changing 0 to 128 prevents this click. I guess it’s the transitions that count with audio.
I am still not convinced there’s actually any problem as yet.
-
AuthorPosts