r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3 Extensions] REBOL 3 Extensions discussions

Geomol
26-Aug-2009
[55]
http://www.antigrain.com/screenshots/compare_to_xara.gif
Maxim
26-Aug-2009
[56x2]
I've never seen a single font which didn't have at least a single 
letter which was grossely mis-AAed.  often its the s, the o, or the 
e..... they stick out in every word and its annoying.
it depends on the aa filter & sizeyou decide to chose.
Henrik
26-Aug-2009
[58]
Poor looking fonts in R3 are because the AA settings used in R3 are 
not correct. This requires intervention by Cyphre as those settings 
are not exposed in DRAW yet.
Geomol
26-Aug-2009
[59]
I took the image from: http://www.antigrain.com/screenshots/index.html
Maxim
26-Aug-2009
[60x2]
graphics are effectively very clean.
thin fonts really look bad in R2.
Pekr
26-Aug-2009
[62]
Anyway - good times ahead, once Host code is released ... the question 
is - when it is going to happen :-)
Maxim
26-Aug-2009
[63]
in any case, when you build a GUI with OGL, you build in such a way 
that everything scales, cause its sooo easy to do... its in fact 
free... like AGG.  so the fact that a GUI isn't exactly pixel perfect 
is secondary... since often you don't even have the same fonts on 
various OSes  ;-)
Oldes
26-Aug-2009
[64x4]
I prefere GUI to be pixel perfect.
That's also the reason why I'm not a fun of scalable GUIs.
And because "you don't even have the same fonts on various OSes", 
I like that in Flash you can embed own font glyphs.
And as Pekr mentioned Flash HW acceleration - it really sucks. In 
most cases you have to turn it off because it slows things down. 
You must design the app to be fine with HW, but nobody knows how. 
At least nobody is able to answer my questions on Adobe forums (and 
OSFlash as well).
Maxim
26-Aug-2009
[68x3]
true type and the ttf lib are pretty much on all OS nowadays... its 
just a question of having the right to distribute a font with your 
apps... which in theory is the same issue with flash I would guess.
on all
 should read "compiled for"
there is a big difference in how flash and AGG render their stuff.... 
it seems to me that AGG is actually more scalable in sheer quantity 
of strokes, whereas flash seems to be much better at handling textures 
and bigger screens... have you noticed the same reactions... having 
much more in depth knowledge of flash, I'm curious as to your observations....
Oldes
26-Aug-2009
[71]
The problem with TTF is, that in most cases the fonts are copyrighted, 
so zou cannot give them with the app. You can embed glyphs you need 
into Flash, but the the font is not TTF anymore so nobody can use 
it in other apps.
Maxim
26-Aug-2009
[72]
ah yess I see the nuance.  so font authors are wary of allowing re-distributable 
licenses?
Oldes
26-Aug-2009
[73]
I don't know AGG well so I'am not able to compare these. AGG can 
use same rasterization as Flash (which is more optimized for speed 
I guess). At least that's what Cyphre told me.
Pekr
26-Aug-2009
[74]
Cyphre has thought that we might switch to "compound rasterizer" 
of AGG, which would be more similar to Flash. But we might be slightly 
off-topic here :-)
Maxim
26-Aug-2009
[75x3]
I wish all those decisions where available to the programmers... 
often I have been bitten by these decisions in REBOL...  I plan to 
allow as much control to the Low-level stuff as possible with my 
OGL extension, even with the toolsets I'll build using it, I still 
want to allow the capacity to edit quality & quantity based-decisions, 
probably by providing a standard gfx setup requestor available to 
all applications of rogle.
this way developpers won't have to build their own, its going to 
be built-in and not require a "restart" of the application.
Q: anyone tried playing around with vector! datatype in extensions?
Pekr
26-Aug-2009
[78]
not yet ...
Maxim
26-Aug-2009
[79]
I haven't either
Rebolek
26-Aug-2009
[80]
I may look at vectors in extension later to produce some sound streams, 
but have no time right now
Maxim
26-Aug-2009
[81]
for 3D they might be the perfect datasets for transformation matrixes 
and stuff like that...
Pekr
26-Aug-2009
[82x2]
Sound streams ... Rebolek - vectors are one thing, but sound subsystem 
is another one. Is there sound in R3 View at all?
Someone requested multi-dimension vectors or something like that 
some time ago. Is that already implemented? Would it be usefull?
Maxim
26-Aug-2009
[84]
with extensions we can possibly use other timers, precise timers, 
and include that in the C code.  so if you open the sound ports in 
the extension and do the timing there... it could work... but its 
blocking right now... no async... so no real way to mix sound with 
other events... until async extension model is shared.
Rebolek
26-Aug-2009
[85]
Pekr no sound yet, but can be written using extensions probalby. 
I was thinking more in twerms of creating the soundstream for later 
use than actually playing it from R3 (at least right now, as a first 
step)
Pekr
26-Aug-2009
[86]
Max - this is interesting - I wonder where is the main event loop? 
Core dll, or Host code? I think host, so yes, it is replaceable. 
I still try to push Carl to switch to multimedia timers - would work 
much better.... I have good article on that, and Carl liked it.
Maxim
26-Aug-2009
[87x2]
yes I read the article...
in theory, you could replace the main loop if you want, if we have 
callbacks in extensions, the main loop can be handled from an extension. 
although its not like having it close to the core, where it can be 
smarter...


but if a callback can see if some events are waiting on a list of 
event ports (something like event: wait [ port 0] ), then we could 
use whatever timer/window events and fire from there....  the rogle 
extension includes GLut which already has its own (precise?) timer 
internally, but it can't trigger rebol code *yet*. so right now I 
have to handle all events in the C side :-(
Pekr
26-Aug-2009
[89x2]
Where's the event port? Core or Host?
There are some good open-source event libraries, but last I asked 
I've heard that R3 event code is new, and should be fast enough ...
Maxim
8-Sep-2009
[91]
brian, can we expect work to be done on improving the Extensions 
API for next release?
BrianH
8-Sep-2009
[92]
Sounds like a good idea to me. I would get devices working asap...
Pekr
8-Sep-2009
[93]
The question should be raised on R3 Chat, in order for Carl to see 
we request that ....
NickA
11-Sep-2009
[94]
My first attempt with extensions failed quickly.  I tried:
>> secure [extension allow]
>> import %libwmp3.dll

and got this error:

** access error: cannot open: %libwmp3.dll reason: none


libwmp3.dll is available at http://www.inet.hr/~zcindori/libwmp3/index.html
, an
d I've gotten it working in REBOL2

Any suggestions?


PS - that fact that we need to include "secure [extension allow]" 
should really

be included at http://rebol.com/r3/docs/concepts/extensions-using.html
!
Maxim
11-Sep-2009
[95x6]
extensions aren't like this.
they are REBOL plugins.  you must map the libwmp3.dll  or libwmp3.lib 
 inside of the extension...
and then you can call the commands inside the dll using rebol values 
natively.  its the plugin in C which does the mapping... look at 
the docs, you'll see that its quite easy to setup.
(http://rebol.com/r3/docs/concepts/extensions-making.html)
knowing how smart you are this shouldn't take you more than a few 
hours the first time... and then a few minutes for following libs 
 :-)
the advantage is that you are able to use the dlls in their native 
and have access to ALL of their code (C++ isn't working as-is yet, 
but is theoretically possible, with a few tweaks to the extensions.h 
stuff)
NickA
11-Sep-2009
[101]
Thanks Maxim - I'll break out my old C compiler and see what I can 
figure out :)
Maxim
11-Sep-2009
[102]
the examples make it very easy to understant  :-)
Maxim
15-Sep-2009
[103]
any one here ever used SWIG?


I am seriously thinking of building an Extensions module for it, 
including the mapping of all supported datatypes.
TomBon
16-Sep-2009
[104]
is there any example creating a extension connecting to  a external 
system library? , e.g. using api calls with nested structures, pointers 
etc.?