Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
QB64PE v4.0 is now live!!
#11
First bug of V4 ???
example:

Do
    Print ".";
    c = c + 1
    If c Mod 10 = 0 Then Play "a64g64"
Loop

Play volume is not default 50% and not changeable with the Q##  "play" variable.  Tested with 3.14 as a baseline.  V4.0 is much louder 100% and harsh distorted because of it.  Sorry you got to kill the window, didn't leave an escape route.
Reply
#12
(12-15-2024, 01:14 PM)doppler Wrote: First bug of V4 ???
example:
Do
    Print ".";
    c = c + 1
    If c Mod 10 = 0 Then Play "a64g64"
Loop
Play volume is not default 50% and not changeable with the Q##  "play" variable.  Tested with 3.14 as a baseline.  V4.0 is much louder 100% and harsh distorted because of it.  Sorry you got to kill the window, didn't leave an escape route.

The volume is still 50% by default. It is just that it uses a square waveform by default just like QB45 did back in the day. Previously, QB64 used a triangle waveform, which has a much softer sound compared to a square waveform. For compatibility, we always reference QB45 as the standard.

You can adjust the volume using the "v" MML command. For example:
Code: (Select All)
PLAY "v20"

Alternatively, you can change the waveform to a triangle with an optional volume ramp like so:
Code: (Select All)
PLAY "@3Q1"
Once set, all subsequent PLAY commands will use the triangle waveform. If you are using multi-voice playback, remember to apply this change for each voice.
Reply
#13
(12-15-2024, 02:03 PM)a740g Wrote:
(12-15-2024, 01:14 PM)doppler Wrote: First bug of V4 ???
example:
Do
    Print ".";
    c = c + 1
    If c Mod 10 = 0 Then Play "a64g64"
Loop
Play volume is not default 50% and not changeable with the Q##  "play" variable.  Tested with 3.14 as a baseline.  V4.0 is much louder 100% and harsh distorted because of it.  Sorry you got to kill the window, didn't leave an escape route.

The volume is still 50% by default. It is just that it uses a square waveform by default just like QB45 did back in the day. Previously, QB64 used a triangle waveform, which has a much softer sound compared to a square waveform. For compatibility, we always reference QB45 as the standard.

You can adjust the volume using the "v" MML command. For example:
Code: (Select All)
PLAY "v20"

Alternatively, you can change the waveform to a triangle with an optional volume ramp like so:
Code: (Select All)
PLAY "@3Q1"
Once set, all subsequent PLAY commands will use the triangle waveform. If you are using multi-voice playback, remember to apply this change for each voice.
So it was a bug.  THAT WAS FIXED to be qb45 compatible.  Thanks for the unfix suggestions (qb64 compatible).  Square waves contain too many harmonics that made it sound harsh.
Reply
#14
Happy Birthday, QB64PE v4.0!
Thanks to all people that made it possible.
Looking forward to try it out.
Reply
#15
Thanks for the hard work! All this effort is very much appreciated!
Reply
#16
Blistering fast:

I ran my number-crunching speed test, as I typically do with new versions of QB64. The test consists of timing how long it takes to compute all the prime numbers from 3 to x, where I run five different x values, and time each one in five separate tests.

All five tests showed obvious improvements. The punch line is that for the longest test, where x = 1,200,007, the time required went from ~ 1.8+ seconds for version 3.14.1 to 1.10 to 1.16something seconds in version 4.0.0. (Same computer, of course.)

Must be the new c++ compiler? Anyway, that's a really substantial improvement. So, thanks, developers!!
Reply
#17
(12-14-2024, 10:17 AM)SMcNeill Wrote: GRAB IT FROM THE GITHUB: https://github.com/QB64-Phoenix-Edition/...tag/v4.0.0
...

Multichannel sound, a native IIF function, logging, and new constants?
These are features I've been wanting since I first tried QB64, so thank you, Thank You, THANK YOU!
What's that patreon link for donations again?
Reply
#18
thank you for the new release.  channel 4 ho!

i must confess, i have been hesitant to upgrade after 3.11.  it forced me to update my debian bookworm system for libpng.  otherwise qb64pe compiled successfully and works without problems.  i also tried it on debian bullseye system with lxqt.  also compiled successfully with one warning (sorry didn't record where) but no problems and works as expected.

i believe the help page for _FLOAT should say that it's possible to have an "F" as sentinel of exponent for scientific notation instead of "E" for SINGLE or "D" for DOUBLE.  this is because the new _TOSTR$ function could return _FLOAT value as a string including "F" as is demonstrated in one of the examples on its page.
Reply
#19
A question about the ternary operator: There is no problem with two numbers, but with three numbers. Is this fundamentally impossible with the way it is implemented in QB64, or is it just because of my incorrect bracketing?

I spent over two hours yesterday trying to get it to work, but to no avail. I tried to use the bracketing to achieve the TruePart - FalsePart scheme, but without success.

[Image: 3fach-Tenaer-in-QB64-2024-12-17.jpg]
Reply
#20
I think what you want to do is nest _IIFs.

Code: (Select All)
clamped = _IIF(value < minValue, minValue, _IIF(value > maxValue, maxValue, value))
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  QB64PE v4.1 is now live SMcNeill 12 3,758 03-07-2025, 05:15 PM
Last Post: bplus

Forum Jump:


Users browsing this thread: 1 Guest(s)