v3.5.0
Enhancements
- #46, #98, #250, #265, #272 - Added support for opening HTTP and HTTPS requests using
_OPENCLIENT()
. - @mkilgore- Feature is current unstable and requires
$Unstable:Http
to use. - On Linux and Mac OS this functionality requires
libcurl
to be installed. - HTTP(s) connections are opened using
_OPENCLIENT()
and generally work the same as the existing TCP/IP streams. - See the Wiki page on Downloading Files to see a complete overview of this functionality.
- Feature is current unstable and requires
- #28, #279 - Added
_SNDNEW(frames&, channels&, bits&)
function which can be used to make new sound buffers of a predetermined number of frames. - @a740g- The created sound buffer can be accessed using
_MEMSOUND()
to write sound data to it, and then played like any other sound.
- The created sound buffer can be accessed using
- #232, #279 - Sounds can now be opened from memory using
_SNDOPEN(sound$, "memory")
. - @a740g- The string provided to
_SNDOPEN()
in this case is not a filename, but instead contains the actual sound data that should be loaded into the new sound buffer.
- The string provided to
- #280, #279 - Added support for playing Amiga AHX and HVL audio files. - @a740g
- They are played using
_SNDOPEN()
like any other audio file.
- They are played using
- #261 - The IDE's new open file dialog will now remember the previous directory it was open to. - @SteveMcNeill
- #264 - The error line color in the IDE is now configurable. - @SteveMcNeill
Bug Fixes
- #252, #276 - Wiki will now be downloaded using the new HTTP support,
curl
is no longer needed. - @RhoSigma-QB64 - #254 -
_FONT
settings that are invalid now produce an error rather than segfaulting. - @SteveMcNeill - #256, #258, #266, #267 - Fixed the command line compilation output when using some commands like
$NoPrefix
. - @mkilgore - #256, #257 - When compiling from the command line, the exe is now always located relative to the provided source file path. - @mkilgore
- #234, #260 - Programs now wait for GLUT to be properly initialized before starting. - @mkilgore
- #66, #270 - GLUT commands are now always executed on the correct thread. This fixes issues where some programs would randomly crash. - @mkilgore
- #262, #233 -
$IF
checks involvingVERSION
now correctly compare all segments of the version individually. - @SteveMcNeill- Previously
VERSION
was compared as a string, which would have caused incorrect comparisons when the version numbers get larger.
- Previously
- #275 - Reduced the number of times
nm
is invoked to resolve Declare Library functions. - @flukiluke - #166, #279 -
_SNDRAW
is now fully implemented for the miniaudio audio backend - @a740g- The OpenAL audio backend is likely to be removed in the next version of QB64-PE.
- #166, #279 -
PLAY(n)
now returns the number of sound samples left to play fromPLAY
,SOUND
, orBEEP
. - @a740g - #167, #279 - The timing of
SOUND
andPLAY
calls were improved so that they wait for the sound to finish playing. - @a740g - #186, #279 -
SOUND
andPLAY
now generate mono sound, reducing memory usage. - @a740g - #217, #279 - The
N
command forPLAY
now plays the note in the correct octave. - @a740g, @mkilgore - #282, #284 - The long start-up time for QB64-PE programs has been fixed, there should no longer be a delay before the QB64-PE code starts running - @mkilgore
- #281, #284 - A use-after-free bug was fixed in some of the buffer logic for the HTTP code - @mkilgore
Full Changelog: v3.4.1...v3.5.0