• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r4wp

[#Red] Red language group

Bo
1-Mar-2013
[5611]
I'm talking about converting it to a bitmap, like R2 does.
DocKimbel
1-Mar-2013
[5612]
Bo, have you looked into ImageMagick binding for Red/System yet? 

https://github.com/dockimbel/Red/blob/master/red-system/library/lib-iMagick.reds
Bo
1-Mar-2013
[5613]
Yes.  But I was hoping for something that would simply return a flat 
binary representation.
DocKimbel
1-Mar-2013
[5614]
You could write a Red/System wrapper over http://libjpeg.sourceforge.net/
Pekr
1-Mar-2013
[5615]
you mean, something like R2's image! datatype?
Bo
1-Mar-2013
[5616]
@Pekr: Yes.
DocKimbel
1-Mar-2013
[5617]
If your wrapper is good enough, there's a great chance that your 
code would be included in Red at some point.
Bo
1-Mar-2013
[5618]
@Doc: I may have to consider that.
Pekr
1-Mar-2013
[5619]
Doc - that's interesting questions indeed. What attracted ppl to 
Rebol, was, that it was a complete package. So no problem with tonnes 
of libraries out there, plus wrappers, but curious to know, if you 
still think, that some common standard would be nice to have ... 
well, it would be even better to have ports for many things, plus 
schemes, plus codecs below :-)
DocKimbel
1-Mar-2013
[5620x2]
common standard
 for what precisely?
What attracted ppl to Rebol, was, that it was a complete package
 Who said that Red will not be a complete package too??
Bo
1-Mar-2013
[5622]
@Pekr: That's one of the things that attracted me to Rebol.  I didn't 
like to have to specify every library file that I wanted to link 
to and have all these dependencies...just one package with everything 
in it.
Pekr
1-Mar-2013
[5623x2]
for many things we are used to ... so that Red is able to read bmp.jpg 
png, play basic sound, do compression/decompression ....
well, Bo, explained it better. I am not saying that you are not planning 
it, I was just asking, if it is planned, because other point of view 
might be, that we will get some very core funcionality, plus millions 
of nice wrappers, but that would make a different feeling ...
Bo
1-Mar-2013
[5625]
Or at least like the Rebol SDK where you can easily include the major 
components you want, and the granularity to remove ones you don't 
want, like the View subset.
DocKimbel
1-Mar-2013
[5626]
For Red, it will rather work as R2 SDK where you just import the 
modules you need to build your binary. We would also provide a console 
binary with all or most of modules included by default (like the 
fat binaries from the SDK).
Bo
1-Mar-2013
[5627]
I like the way the R2 SDK worked.  You could include a whole subgroup 
of functionality or just component-by-component.
Kaj
1-Mar-2013
[5628x3]
As we discussed before, you can get JPEG data from the GDK binding, 
but you have to finish the struct definition
Any framework that supports more than one image format will have 
its own internal format. That goes for R2, SDL, GDK, ImageMagick 
and any other framework you could bind to
If you bind to LibJPEG directly, you'll have to devise your own internal 
format once you add support for another image type
Bo
1-Mar-2013
[5631]
@Kaj: I'm trying to get the JPG data without having X11 installed. 
 If I were to do something with LibJPEG directly, I would try to 
make it look like the R3 image! datatype.
Kaj
1-Mar-2013
[5632x2]
Are you sure GDK has a dependency on X?
Looks like it
Bo
1-Mar-2013
[5634]
I was pretty sure GDK required X.
Kaj
1-Mar-2013
[5635x4]
Yeah, I checked and I'm not sure, but it's very entangled
You could compile GDK on DirectFB instead of X, but it would be a 
lot of work
You could make a binding with SDL-Image to have fewer dependencies
A binding with DirectFB or Enlightenment just for the images would 
also be less massive
Bo
1-Mar-2013
[5639x2]
Thanks for those ideas, Kaj!  I'm thinking it may be better just 
to wrap libjpeg.
I don't have a lot of experience with C and library bindings, but 
I've done a bit and I can give it a shot when I have a bit of time.
Bo
2-Mar-2013
[5641x2]
Sometimes, I'm such a dunce!  Something Kaj said in the past hit 
me as I lay awake in bed at 4:45am this morning.  IIRC, he said that 
Red/System could be used to extend R3.  My problem is that I need 
to perform some advanced processing on jpg images.  I wanted to do 
this natively in Red/System, but had issues getting the jpgs loaded 
into bitmap form.  R3 can already load jpgs into bitmap form, so 
why not  call a Red/System compiled executable to do the processing?
Thanks so much, Doc, for making R3 easy to extend using a Rebol-like 
compiled language!
Thanks so much, Kaj, for your insight and foresight!
Kaj
2-Mar-2013
[5643x4]
If that's your purpose, then yes, that would be a nice combo
Just this week I checked that the Red-R3 bridge works with the updated 
dyn-lib-emitter branch of Red
There are still various bugs in R3, though. You seem to need the 
latest build from Andreas, and R3 corrupts tuples passed across the 
bridge
On the other hand, weren't you doing this on Raspberry Pi? The Red 
dyn-lib-emitter branch and thus the bridge are currently only available 
for Windows
Bo
2-Mar-2013
[5647]
That will be a problem.  Maybe I'll have to pass the data using slower 
semaphores.
DocKimbel
2-Mar-2013
[5648x3]
Function building and evaluation now supported by the interpreter. 
Here's how it looks like from the Red console:

red>> foo: func [a b][a * b]
== func [a b][a * b]
red>> foo 3 4
== 12
The interpreter (DO) is much more capable than the current console 
with its currently limited tokenizer (LOAD). So, e.g., the interpreter 
fully supports paths and refinements while the console don't.
Nobody has proposed me so far to build a R2-level cross-platform 
console for Red, so I will implement one in the next weeks. Before 
that, I will probably work on PIC support for Mach-O and ELF and 
implement object! support.
Kaj
2-Mar-2013
[5651]
Exciting!
Gregg
2-Mar-2013
[5652]
That's great Doc!
Kaj
2-Mar-2013
[5653]
Bo, you could use the 0MQ bindings to pass the images between Red 
and R3
Bo
3-Mar-2013
[5654]
I've never really looked into 0MQ, but I know you did some binding 
work with that.
Arnold
3-Mar-2013
[5655x4]
Sorry Doc, it is hard to get-and-keep up to what you all achieve!! 
(And Kaj too) Even though I myself have less hours at my job I do 
not have as much time to follow it all. (More projects and chores 
in and about the house to do now and less 'spare' time at work for 
a quick review.
I will try to answer the question of how I see possibilities to make 
Red more suitable for funding. And have it get the attention a first 
proper release needs. Everybody else is hereby invited to think along 
how to make this possible.
What I see as a first possible step is have a kind of Red website 
hosting where websites can be hosted using Red (cheyenne server) 
and a database behind it (MySQL or SQLite) and a possibility for 
digital payments (such a module could be additionally payed and kept 
'closed' source). This could obviously generate a modest cashflow.
There would be needed books etc.
time is up now sorry.
Kaj
3-Mar-2013
[5659x2]
I'm happy to report that Red works well on stock Windows 2000
Even most of the bindings work, except GTK and 0MQ, because their 
libraries are not compatible with 2000