Author Topic: Documentation  (Read 29856 times)

0 Members and 1 Guest are viewing this topic.

Alex_Longard

  • Newbie
  • *
  • Posts: 31
Re: Documentation
« Reply #210 on: January 18, 2019, 02:56:02 AM »
Hi John,
I try to rewrite VST sdk for O2, I just did not see examples for "prototypeof" and some others commands...
It is difficult to understand pointers in O2, after being used to writing on pure C and a bit strange PureBasic.
When I make a minimally working project, I want to put it in you sandbox so that other people can see how can write very fast and convenient code for DSP on O2.

John

  • Hero Member
  • *****
  • Posts: 3607
Re: Documentation
« Reply #211 on: January 18, 2019, 10:09:26 AM »
This is outside my level of expertise and Charles should test this and place it in the sandbox where he thinks it should go.

@Charles- You can use the web UI for the sandbox to add / change files. Just add a commit note so we know why it's there.

Charles Pegge

  • Admin Support Member
  • *****
  • Posts: 4205
    • Oxygen Basic
Re: Documentation
« Reply #212 on: January 22, 2019, 12:26:27 AM »
Hi Alex,

I would be very interested to see your VST work. Perhaps we can include some in the package.

O2 hides its pointers. This is consistent with BASIC parameters passed byref, but opposite to the way pointers are handled in C. The variable address is set by left sided expressions like:

&v=pt
or
@v=pt

Alex_Longard

  • Newbie
  • *
  • Posts: 31
Re: Documentation
« Reply #213 on: January 26, 2019, 12:56:20 AM »
Hi Charles!
I while write my first plugin in pure C,
and now i very slow write this in O2. I donít know how to write some functions that are not in O2, I have to use what is already there Msvcrt.inc.
This will work very badly, the plugin should be less dependent on winapi, unless it is a graphics functions.
Big thanks for your pointer example, it's very helpful to me!

There my code in last post:
https://www.kvraudio.com/forum/viewtopic.php?f=33&t=518049

Arnold

  • Hero Member
  • *****
  • Posts: 872
Re: Documentation
« Reply #214 on: July 17, 2019, 03:29:11 AM »
Hi Charles,

somehow I overlooked the Docs folder of OxygenBasic on GitHub. This is really helpful information. Together with the help file of Oxygenbasic not many wishes remain open any more.

I noticed that in the section Control_Flow / Looping Statements you used the notation "exit ehile". Will "exit while" be deprecated at some time in favour of "break when"?

There is also the interesting section of Windows Data Types. Can the O2 definitions be used for these data types? Must the names of the Data Types be used in upper case, and will there be no conflicts e.g. HANDLE - handle, HBRUSH - hbrush, HWND - hwnd? As I apply case-insensitive code, these constructs look like magic to me. But if that works, I will use these definitions right away.

Roland

Charles Pegge

  • Admin Support Member
  • *****
  • Posts: 4205
    • Oxygen Basic
Re: Documentation
« Reply #215 on: July 17, 2019, 04:25:44 AM »
Hi Roland,

These docs are the preliminary work of Josť Roca. They are a very good start but we will need to revise and extend them.

typedef long LONG will not cause recursion, even in case-insensitive mode. There is protection against this possibility.

On the other hand, dim as HANDLE handle can only be used in the case-sensitive modes


exit while will remain the standard, the others are more experimental.
« Last Edit: July 17, 2019, 04:33:28 AM by Charles Pegge »