timur77
Junior Member
Someday I will tell my grandsons that I am older than the Internet. And it will blow their brain.
Posts: 79
|
Post by timur77 on Apr 24, 2020 0:51:27 GMT -5
Dear forum users, let us dream and express our ideas which operators I would like to see, but in a simple way. Maybe respected Carl Gundel will add something to the LB5 implementation
|
|
timur77
Junior Member
Someday I will tell my grandsons that I am older than the Internet. And it will blow their brain.
Posts: 79
|
Post by timur77 on Apr 24, 2020 0:53:17 GMT -5
I would like support for multi-threading. Using as easy as bmp other pictures (gif, png, jpg ...). Easy mp3 playback and the ability to play multiple sounds simultaneously. Easier access to midi tools not through dll (there was such a SOUND statement - it played sound with the specified frequency and duration). Add a "paint" statement to determine the color of a point or just access to the contents of the part of the screen stored in the index of the drawing area.
|
|
|
Post by sarossell on Apr 24, 2020 1:03:42 GMT -5
I'd be thrilled with just the ability to use a third-party editor and be able to create stand-alone apps with the full command set. I think that's all already on the list. So, maybe add native ability to handle drag-n-drop on windows and icons.
|
|
|
Post by tkpatric on Apr 25, 2020 13:22:26 GMT -5
If LB will be really famous, make it possible to program the Arduino! :-)
|
|
timur77
Junior Member
Someday I will tell my grandsons that I am older than the Internet. And it will blow their brain.
Posts: 79
|
Post by timur77 on Apr 28, 2020 0:52:57 GMT -5
the ability to create multilevel arrays, for example A(5,5,5,5,5,5)
|
|
|
Post by Brandon Parker on Apr 28, 2020 21:00:25 GMT -5
the ability to create multilevel arrays, for example A(5,5,5,5,5,5) I'm pretty confident this will definitely be there. {:0) Brandon Parker
|
|
timur77
Junior Member
Someday I will tell my grandsons that I am older than the Internet. And it will blow their brain.
Posts: 79
|
Post by timur77 on May 6, 2020 0:07:44 GMT -5
A couple of days ago, I saw a question in the forum thread "Game and Graphics code", "Screen capture" and I remembered how easy it was to take screenshots even outside the graphics window in Windows XP, without any API, with the print #handle, "getbmp operator bmpName xy width height ". This is exactly the concept that should be in the new LB5. Why complicate the programming process when it should be simple and easy.
|
|
timur77
Junior Member
Someday I will tell my grandsons that I am older than the Internet. And it will blow their brain.
Posts: 79
|
Post by timur77 on May 6, 2020 0:10:32 GMT -5
It is proposed that popular and frequently-used API functions be wrapped in simple operators and entered in LB5.
|
|
|
Post by Chris Iverson on May 6, 2020 1:56:17 GMT -5
A couple of days ago, I saw a question in the forum thread "Game and Graphics code", "Screen capture" and I remembered how easy it was to take screenshots even outside the graphics window in Windows XP, without any API, with the print #handle, "getbmp operator bmpName xy width height ". This is exactly the concept that should be in the new LB5. Why complicate the programming process when it should be simple and easy. This may be more difficult to do in LB5, due to the new cross-platform toolset. It all depends on the toolset Carl has. The thing to keep in mind is that this was NOT an LB change, this was a Windows OS change. Microsoft added a feature called "desktop composition" to prevent hanging and badly-behaved programs from locking up or blocking the UI on your entire computer, as they were able to do in XP. It does this by giving each window it's own empty desktop plane to draw on, and then the window manager in Windows composes the drawn views together to present your desktop view(hence the name). If a program isn't responding, it will leave that program out of the final composition, and use a cached version of what that window drew last in it's place, faded out, and adds "(Not Responding)" to the window's title. As a side effect, programs can't grab visual data from the whole desktop by accident anymore, by doing a blit from outside of their window's bounds. They're just going to get the empty data from their own desktop plane. You have to explicitly go looking for the composited data to be able to get it, which LB doesn't do(because it hasn't needed to to be able to draw and manage its own graphics.) It is proposed that popular and frequently-used API functions be wrapped in simple operators and entered in LB5. Carl has stated previously that he does intend to add similar features as the most commonly used API calls/abilities, to provide people with some way to use those features.
|
|
Larry
New Member
Posts: 40
|
Post by Larry on May 13, 2020 13:38:32 GMT -5
I number my buttons sequentially #main.b1, #main.b2 etc.
So I am always having to write #main.b1,a$ #main.b2,b$ or something similar.
Why can't we make it easier by allowing this type of code
for i=1 to 5 #main.b(i),a$(i) next i
This would substitute the value of i from the loop and it would be like b1, b2 etc. without having to type in each one seperatelty for each button.
Just a thought.
|
|
|
Post by Carl Gundel on May 13, 2020 13:41:13 GMT -5
I number my buttons sequentially #main.b1, #main.b2 etc. So I am always having to write #main.b1,a$ #main.b2,b$ or something similar. Why can't we make it easier by allowing this type of code for i=1 to 5 #main.b(i),a$(i) next i This would substitute the value of i from the loop and it would be like b1, b2 etc. Just a thought. You can already do something similar with LB5 build 351, which will be out any day.
|
|
timur77
Junior Member
Someday I will tell my grandsons that I am older than the Internet. And it will blow their brain.
Posts: 79
|
Post by timur77 on Aug 2, 2021 1:18:56 GMT -5
I kept thinking about the possibility of connecting third-party libraries in Liberty Basic. This is a very useful feature, undoubtedly, but it can lead away from the concept of Basic as such "A programming language for beginners", for example - Suppose we have a programming language that is not rich in various operators, but is able to work with API functions, include assembler, C ++ and anything else. Why do we really need different operators if we can include code in a powerful language! And then I come to an example and look at this language, but there is no programming language, there is a shell around C ++, assembler, API, etc. I had already worked in these languages before, left them and returned to them again. Once again, I will make a reservation, these are hypothetical reflections. I mean, in principle, for example, you can determine the color of a point, with a large code, but in the native Basic there is an operator "point (x, y)", which performed this function and it haunts me.
|
|
|
Post by Rod on Aug 2, 2021 7:04:32 GMT -5
Point(x,y) is very desirable. Windows makes it difficult and no doubt Linux et al. However if we will be having a buffer perhaps quicker slicker access to a points color info might be possible.
|
|
|
Post by bluatigro on Aug 4, 2021 4:54:17 GMT -5
i have a view sugetions : triangles a swap sub byref working on array's OOP + oprator overloading joy1x4 joy1y4 joy1buttons [ a long with a bit for every button ] a unary operator so i can do a = -a a ubound function function foo( a() ) function foo( a(,) ) etc... function foo()( a() ) function foo(,)( a(,) ) etc... dim a() = { 1 , 2 , 3 } type v3d dim as double x , y , z [ aslo long , single [ default ] , integer , string ] end type constructor v3d( x as double , y as double , z as double ) operator +( a as v3d , b as v3d ) as v3d non global array's dynamic array's hex numbers ( &hff ) bin numbers ( %11001100 ) savewav file$ , A() sound Hz , ms enums [ traficlight = red yellow green ] consts : pi , true , false
|
|
|
Post by Carl Gundel on Aug 4, 2021 12:16:30 GMT -5
Thanks for all your suggestions. I will continue to be very conservative about what I add to Liberty BASIC. Too many features will cause LB to lose its essential character of BASIC. Liberty BASIC will never look like C.
|
|