Qbasicnews.com
freeBASIC (a 32-bit QB-syntax compatible compiler) preview.. - Printable Version

+- Qbasicnews.com (http://qbasicnews.com/newforum)
+-- Forum: General (http://qbasicnews.com/newforum/forum-6.html)
+--- Forum: General/Misc (http://qbasicnews.com/newforum/forum-18.html)
+--- Thread: freeBASIC (a 32-bit QB-syntax compatible compiler) preview.. (/thread-4948.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40


freeBASIC (a 32-bit QB-syntax compatible compiler) preview.. - adosorken - 11-05-2004

True, I didn't think of that...grr oh well. Well, I suppose I can work on it over the weekend, after DeskQueen's demo is released (in about an hour).


freeBASIC (a 32-bit QB-syntax compatible compiler) preview.. - Jofers - 11-05-2004

It's nice that people are willing to convert other IDEs out there to work with this new one. However, if this is going to be popular, a nice, new IDE needs to be made from the ground up that everyone can get behind, an official complement to the compiler, that's modular and extendible. It could have all those nice features, but being steamlined, simple (as in easy to pick up) and productive (as in not bloated with wizards and features and help screens).

...which makes me wonder if an FB community project is in order (*devilish grin*). But that would have to wait for a compiler release.


If all goes successfully well, then FreeBasic here I come!! - Adigun A. Polack - 11-05-2004

To v3cz0r:

Hello and an absolute pleasure! Telling from your ever-awesome FreeBasic (FB) preview demos and the MASSIVELY HUGE number of replies and stuff, I can now safely confess personally that your FreeBasic project sure has outstandingly strong potential to become the Windows grand successor of what QB in DOS was like, period, end of the conversation. For real! Big Grin I must say, v3cz0r, it sure is a most fiery ambitious project that I will encourage you that it WILL become a success if done right, and so far, it is being done right! Cool=b !


And to Adosorken:

Look, I saw your replies about the FB project, and I must *no less than* agree on what you have said, even about the famous BASS library being translated into this monstrous mammoth of a compiler. ^-^ ! Man, as far as I can honestly remember about the BASS library, it is a .DLL based one created by none other than Ian Luck himself that has the ability to play back musics in .MOD, .S3M, .XM formats as well as play so many .WAV-based and .MP3-based sound effects at a time, among loads of editing features within them all, and so many more. It was already used in the development of DS4QB, DS4QB2, and DS4QB++, and now, I believe that it is apparently being developed for FB, too! AWESOME!! Wink

Quote:Y'all realize that this is the future of QB, right? Big Grin

No bull about that, man! I am with you. d=:wtnod:=b



Next, I go over to v3cz0r once again:

v3cz0r, for sound, since FB promises to be 100% compatible with QB, will you be using the standard “Play”, “Beep”, and “Sound” commands to emulate the PC speaker in some way, shape, or form? I know that this is not gonna even be an easy feat at all, but, if you can, that’ll be good. Smile In addition, for sound, I have an idea, man. Look, in addition, using the BASS library, if you would create some all-new, FB-exclusive commands like:

_________________________________________________
• ModPlayback (a command that plays back *any* .S3M, .MOD, .XM, .IT, or .OGG music file.)

Code:
ModPlayback (musicfile, channel, repeat)
  • musicfile = any music track in .S3M, .MOD, .XM, .IT, or .OGG that you want to play.

    channel = any channel that you want the music to be played on.

    repeat = lets you know whether or not you want the music to repeat itself after it is being played in its entirety. Call “True” for music repeat, but call “False” for no repeat.
_________________________________________________
• ModFade (a command that fades in/out any .S3M, .MOD, .XM, .IT, or .OGG music file.)

Code:
ModFade (channel, fadespeed)
  • channel = any channel that the music is playing.

    fadespeed = the speed at which you want the track on the channel you want to be faded in or out in its entirety. Call a negative number anywhere down to -255 in order for the music to be faded out (lower numbers here mean faster fade-outs!), but call a positive number up to 255 if you want the music to be faded in (higher numbers here mean faster fade-ins!).
_________________________________________________
• ModSetVolume (a command that sets the volume of any .S3M, .MOD, .XM, .IT, or .OGG music file that is playing.)

Code:
ModSetVolume (channel, volume)
  • channel = any channel that the music is playing.

    volume = changes the volume of the channel (0 = mute; 255 = LOUD!!).
_________________________________________________
• ModPauseMusic (a command that pauses any .S3M, .MOD, .XM, .IT, or .OGG music file that is playing.)

Code:
ModPauseMusic (channel)
  • channel = any channel that you want the music to be paused at.
_________________________________________________
• ModResumeMusic (a command that resumes any .S3M, .MOD, .XM, .IT, or .OGG music file that is has been paused through ModPauseMusic.)

Code:
ModResumeMusic (channel)
  • channel = any channel that you want to resume the music from where it was last paused.
_________________________________________________
• ModStopMusic (a command that *instantly* stops any .S3M, .MOD, .XM, .IT, or .OGG music file that is playing once it is used.)

Code:
ModStopMusic (channel)
  • channel = any channel that you want the music to stop.
_________________________________________________
• ModSeekPattern (a command that simply seeks the pattern of any .S3M, .MOD, .XM, .IT, or .OGG music file you want to play and then plays it from *that* spot on.)

Code:
ModSeekPattern (musicfile, channel, checkpattern, repeat)
  • musicfile = any music track in .S3M, .MOD, .XM, .IT, or .OGG that you want to play.

    channel = any channel that you want the music to be played on.

    checkpattern = any target pattern that you want to start the music on (VERY difficult, but *most* useful if you know some music-tracker stuff in the song you want to play! Check out some music trackers like ModPlug Tracker and ScreamTracker to help you pinpoint the exact spot of the pattern you want the track to start for this command. Big Grin )

    repeat = lets you know whether or not you want the music to repeat itself after it is being played in its entirety. Call “True” for music repeat, but call “False” for no repeat.
_________________________________________________

........and instantaneous, flawless .WAV and .MP3 sound effects support for somewhere between 24 and 1,028 channels, then that would put FB _way_ over the top in the sounds department!! Cool Downright challenging stuff — like having the BASS library initializations all set up and all of that — but hey, if you want to add it all, man, then GO FOR IT!!! Wink=b !!



To you both, v3cz0r and Ado, I wish you so truly well on the whole FB enchilada, and I SURE HOPE THAT IT ALL BECOMES A BRIGHTLY BLAZING SUCCESS. Period.

Talk to you later. :king:



GIVING YOU THE HELPING HAND ON THE IDEAS OF FREEBASIC,

[Image: AAPname.gif]
Adigun Azikiwe Polack
One of the Founders of “Aura Flow”
Continuing Developer of “Frantic Journey”
Current Developer of “Star Angelic Slugger”
Webmaster of the “AAP Official Projects Squad”



______________________________________
[Image: NewQBCPCbanner.jpg]
T H E • T H I R D • C A L I B E R • N O W • B E C O M E S • E V E N • M O R E • T H R I L L I N G ! ! ! Big Grin !!

Continuing to encourage even more positive originality than ever before, this original compo currently has EXCLUSIVE challenges in QB programming based on Gradius and even our old-school favorite console called the Atari 2600, plus a whole lot of other very exciting new stuff now!!! ;*) !

Yo, got game for the QuickBASIC Caliber Programming Compo 2004/2005? Then I just challenge you to please visit http://dhost.hopto.org/aapproj/qbcpc/. That means YOU, pal! Wink


freeBASIC (a 32-bit QB-syntax compatible compiler) preview.. - adosorken - 11-05-2004

Incorporating Bass directly into FB might be an interesting idea, but I think some people might find it a bit limiting...its license prevents it from being used commercially without paying a license fee. I can easily see FB becoming used for commercial products. Big Grin


freeBASIC (a 32-bit QB-syntax compatible compiler) preview.. - barok - 11-05-2004

Yes... this would most definately be used for commercial use!!! Especially if it would have support for a few higher screen resolutions and music/sound support without using libs... (hint hint!) Utopia!!!

Definately, freebasic will have it's own community! But why not just do a bit of a work with the current communities? All we need to do is rename all the websites to freebasic whatever. e.g.

FreeBasicNews.com
FreeBasic.com
FBTK.com
FBNZ.com
FB45.com

heh... j/k. Wink


Using BASS in FB commercially is pretty risky indeed, Ado. - Adigun A. Polack - 11-05-2004

To Adosorken again:

Oh man. Well, if FB were to be truly used for commercial products indeed, you *would* have to fork over a huge license fee for that to even happen safely. Sad So technically, man, I guess that if the whole BASS library were to be implemented in FB and that it were to be used for creating no more than just freeware programs through the compiler itself, then that is playing it totally safe right there. On it all here, it is kind of a toss-up and an even bigger challenge right there that must be pondered and thought through both carefully and cleverly if the sound capabilities in FB were to even pay off richly.

You are on to something, man. See you as this thing gets closely explored. Wink



[Image: AAPname.gif]
- Adigun Azikiwe Polack
One of the Founders of “Aura Flow”
Continuing Developer of “Frantic Journey”
Current Developer of “Star Angelic Slugger”
Webmaster of the “AAP Official Projects Squad”


freeBASIC (a 32-bit QB-syntax compatible compiler) preview.. - barok - 11-05-2004

why not do the same thing with a different sound lib?


freeBASIC (a 32-bit QB-syntax compatible compiler) preview.. - adosorken - 11-05-2004

I personally believe that half of the power in something like FB comes in the form of developer choice. Being able to choose from a wide variety of APIs is much preferrable to having one like this built-in. Think of it this way...how many people using QB actually still use PLAY or SOUND? Big Grin However, it might be interesting to still use both commands...PLAY could use the standard MPU401 interface, and SOUND could be used as always. It'd make for interesting things. Big Grin


freeBASIC (a 32-bit QB-syntax compatible compiler) preview.. - marzecTM - 11-05-2004

@pollack mister 30kb posting strikes back hehe....

well, i really don't like the idea of introducing new runtimelib features like sound and graphics commands, i would want the language and runtimelib to be as small as possible. i guess it's not really hard to do

'$include: 'bass.bi'

the only thing that needs to be ported to fb is the headerfiles so...

and if someone writes a wrapper for that lib, there's also no need to do the initstuff yourself if you prefer to use the lib at such an easy-to-use level

BTW,

i just finished the first version of the preprocessor, intended to be used in conjunction with freebasic.

http://ratatoskr.bad-logic.com/ppbasic.rar

it's a small handy preprocessor that allows

* including files ( '$include: 'filename.bi' )
* setting defines ( '$define DEFINE_NAME )
* conditionals ('$ifdef/ifndef DEFINE_NAME {'$else } '$endif )

with this limited command set you are able to implement include guards (necessary if an includefile gets included several times, you don't have to care about duplicate definitions anymore) and conditional compilation ( for example if you have os specific stuff within functions and the like )

i hope it's usefull to some extend. testing would be appreciated

i may release some further versions including the following addons

* '$elseif branches for conditionals
* value assignement to defines and replacement in source ('define DEFINE_NAME value)
* macros (just maybe really just maybe....)

any other ideas can be posted here or on forum.bad-logic.com->projects


freeBASIC (a 32-bit QB-syntax compatible compiler) preview.. - barok - 11-05-2004

Oh, i see what you mean. Yeah, your completely right.