Skip to main content

News

Topic: Sphere 5.5.1 (miniSphere) (Read 408641 times) previous topic - next topic

0 Members and 3 Guests are viewing this topic.
  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: minisphere 1.4.7
Reply #720

Additionally, I dug up the SVG version of the Spherical icon NEO posted a while back and scaled it up 768x768, so now minisphere has a proper Win10-ready icon. :)

It is actually casiotone's, but I lost the original SVG he gave me when we lost the forums so I recreated it.

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.4.7
Reply #721
Did you ever find the gradient version?
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: minisphere 1.4.7
Reply #722
I think the SVG of the gradient version might be on my Windows laptop somewhere, but I haven't had occasion to look for it recently.

  • FBnil
  • [*][*]
commit 8f8e0273652ffe3b39dcc27143dd33c104264a6f
Reply #723
Date:   Wed Jul 8 14:26:40 2015 -0400
Does not run (immediate coredump) on Linux

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.4.7
Reply #724
Hm.  Run with option --log-level 4, what is the output?
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • FBnil
  • [*][*]
Re: minisphere 1.4.7
Reply #725
Sorry, did not read on time. I updated to today and it does not crash anymore. Do you need me to go back in time to compile that version again?

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.4.7
Reply #726
Nah, as long as it's working now that's good.  I probably broke something while I was moving the audio code around.
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.4.7
Reply #727
Good news, guys: minisphere 1.5 is only a few days off. :D  Progress has been a bit slow because I'm in the middle of a huge overhaul under the hood of Sphere Studio (I have to earn my collaborator status you know! :P) but I just finished up implementing Mixers and so far everything looks good.  I do still have to add documentation for the Audialis additions and the Mixer object needs a few more features (volume adjustment, for one), but otherwise I'm pretty close to wrapping this up.

Keep in mind that SoundStreams will be limited to 8-bit unsigned in minisphere 1.5.  This makes them easy to manipulate with Sphere ByteArrays, whereas any other sample format would be unwieldy to work with under these circumstances.  Once Duktape releases a version supporting ArrayBuffer/TypedArray, then I'll open up more sample formats. ;)
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.5.0
Reply #728
Okay, 1.5 is up.  Nil, could you try out the new Audialis stuff and let me know how it works?

I removed the demo games from the installers for 1.5.  This got the engine-only down to 2.2mb and the GDK is under 4.5mb.  Not too shabby at all!
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.5.1
Reply #729
I posted minisphere 1.5.1 to fix an issue with creating 8-bit mixers.

To clarify on how the Mixer object works: It actually encapsulates both a hardware voice and a software mixer.  In 1.5.0, both of these were created with the parameters passed to the Mixer constructor.  This failed in the case of 8-bit, as Allegro will create an 8-bit voice but refuses to create an 8-bit mixer.  For good reason, too--it'd be difficult to do any kind of decent mixing at all with only 8 bits of precision! :P

As of 1.5.1, the hardware voice created matches the Mixer() parameters, but the mixer itself is float32.  This ensures the call will succeed so long as the underlying sound hardware supports the requested bit depth and channel count.
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.5.1
Reply #730
So I found a great use for Audialis already: Crossfading BGM.  Previously this would have been a pain, since the BGM volume is generally global, while crossfading requires manipulating individual streams' volume settings.  Under the Sphere 1.x API, something like setting the BGM volume in the middle of a fade would prove to be very tedious indeed.

Under Audialis, I can just set the volume on the BGM mixer when adjusting global volume, and adjust the individual stream volumes separately to handle crossfades.  It makes the code very elegant.
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • DaVince
  • [*][*][*][*][*]
  • Administrator
  • Used Sphere for, like, half my life
Re: minisphere 1.5.1
Reply #731
I don't really get it. I've successfully done audio1.setVolume(fadeoutvalues); audio2.setVolume(fadeinvalues); before. Or is BGM a separate thing compared to Sphere's standard sound playback functions?

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.5.1
Reply #732
That indeed works, the issue is if someone adjusts the global BGM volume in the midst of a fade, things get tricky because you're in the middle of a tweening operation.
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • miniSphere Developer
Re: minisphere 1.5.1
Reply #733
To clarify further, assuming there's a fade in progress:

Code: (javascript) [Select]
mixer.volume = 0.5;


The above won't disturb a crossfade-in-progress.  Further, this allows the global volume to be faded at the same time, for example in a cutscenes where you want to fade down the BGM to half while simultaneously switching tracks.

Another good use would be to implement an in-game volume setting menu.  You create two mixers, one for music and one for sounds, and the volume slider adjusts the volume of the mixers without having to touch the individual Sound objects.

I'm glad I implemented this. :)
Sphere 5.5.1 - miniSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: minisphere 1.5.1
Reply #734
Does 1.5.1 come with an example for using this new Mixer? I also would like updated instructions for Mac compilation (>=Mavericks) so I can try it out, thanks!