RE: "Goal: Create an EXE which will be equivalent or identical to QBasic"by (no login)"You should change the subtitle of this forum. ;-)"-OLPC I agree, it is a bit misleading, as it implies the same limitations apply to QB64 as do QBASIC. However, I don't have the privileges to change this. "BTW, you should use namespaces instead of underscores; those get messy fast."-OLPC The problem with this approach is it's like changing the "mode" of the compiler, others have suggested a meta-command to achieve a similar effect. My objection, which I agree sounds a bit silly at first, is that code "fragments" from one section of the code cannot be pasted into another section of code in a different mode. Of course, you could override this functionality on a case by case basis with namespaces... then again, you could just use underscores. I'd be interested to know what others think about this. Regarding the library: I intend to also internalize mouse, joystick/gamepad, printer and networking. I will not be building a 3D library for QB64, however you will be able to include and access OPENGL. The reason I won't be internalizing 3D is because it is a constantly evolving and extremely complex field, there is actually very little which is "basic" about quality 3D programming and there is certainly no possible "one size fits all" high-level set of functions. QB64 will include a 2D library with alpha-blending as standard. As for the limitations of the QB64 sound library, it is expandable to include further capabilities in the future. It is designed to "ride on top" of an underlying multi-platform C++ audio library, which may change in the future. Atm it is using SDL_Mixer. I took a look at FMOD, which looks good too. What are the specs of this audio library? I'll release the documentation soon. In brief, capabilities extend to playing multiple sounds simultaneously, positioning, looping, misc. feedback, 3D positioning and guaranteed future support of the formats WAV, MID, MP3 with specified restrictions. How many functions does it include? _SNDPLAYFILE Simple command to play a sound file (has limited options) _SNDOPEN Returns a handle to a sound file _SNDCLOSE Unloads a sound file (waits until after it has finished playing) _SNDPLAY Plays a sound _SNDCOPY Copies a sound (so two or more of the same sound can be played at once) _SNDPLAYCOPY Copies a sound, plays it and automatically closes it _SNDSTOP Stops a playing (or paused) sound _SNDPLAYING Returns whether a sound is still playing _SNDPAUSE Pauses a sound _SNDLOOP Like _SNDPLAY but sound is looped _SNDLEN Returns the length of a sound in seconds _SNDVOL Sets the volume of a sound _SNDBAL Sets the balance or 3D position of a sound _SNDGETPOS Returns to current playing position in seconds _SNDSETPOS Changes the current/next playing position of a sound How many channels or bit rates does it support? As this is a high-level function set, you don't deal with the bit-rates or channels directly. A loaded stereo sound plays in stereo under most conditions. Does it require a .DLL file? Several How many KB does it add to the compiled program? As it uses DLLs, the real question is how big are the DLLs. The SDL_MIXER DLLs weigh in at approx. half a meg. "so if people want to play songs at different speeds, pause tracks, load some audio into memory while some is played directly from the file, record from a microphone, or play directly from a CD, they are probably going to need an external library anyway."-OLPC Yes, they might. However there is no reason an external library would clash with QB64's internal audio library. from IP address 58.110.128.68 |
| Response Title | Author and Date |
| * Pete hates .DLL files! xD | OLPC on Feb 19 |
| No, Pete hates FreakBasic. (sp?) | Pete on Feb 19 |
| * I distinctly remember you (and / or others) using DLL against Windows etc. in some rants | OLPC on Feb 19 |
| Then you shouldn't have any trouble tracking that down. I'd be interested in seeing it. | Pete on Feb 19 |
| Oops... | OLPC on Feb 23 |
| * A lot better than using your silly FB game maker Man! | on Feb 24 |
| * I do not have a game maker. | OLPC on Feb 25 |