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

World: r3wp

[Red] Red language group

Pekr
5-Feb-2012
[4753x2]
What's your experience with Red/System wrapping interface? Is it 
suitable to wrap (relatively saying) "any" C defines? I am recently 
scripting VLC a bit, to see if I can use that player instead of LED 
Studio (which is really bad chinese standard LED accompanying sw) 
for our LED screen.


So far, I am fine talking to VLC via TCP - 10 lines of Rebol code. 
But their RC (remote control interface) missess advanced playlist 
handling. I was looking into vlccore library API, and I found various 
wrappers, and e.g. Python one, is auto-generated, by going thru includes.


IIRC, Max worked on something similar for R3, but never released 
the code. Now I wonder, how difficult would it be to achieve using 
Red/System?
btw - VLC natively supports LUA, so I will also look, if it can't 
do more, than what is being exposed via RC interface ...
Kaj
5-Feb-2012
[4755x4]
Red/System's way to write bindings is the best I've seen. Barring 
C features it doesn't have yet, it should be able to bind any C function. 
Mostly only 64 bits integers and importing data values are still 
missing by now
I've been considering a VLC binding, but it isn't a priority for 
me right now
One issue with it is that VLC is GPL, even the library, so your code 
on top of it must be open source. If you don't want that, the remote 
programming is the way to go
It would be a problem for an R3 binding, because the GPL doesn't 
allow VLC and REBOL to run in the same process
Pekr
5-Feb-2012
[4759]
VLC library is going to be LGPL since 1.2, or I have read something 
like that. Anyway - I have basic remote thing working. That damned 
thing can't do so simple stuff as viewing jpg images, nor I can have 
transition effects, so I am considering another alternatives ...
Kaj
6-Feb-2012
[4760x2]
I missed the LGPL relicensing. That's really cool
That makes a Red binding much more interesting
Pekr
6-Feb-2012
[4762]
VLC is weak in my book - sorry that it belongs to vent most probably, 
but that player can't replay something as simple, as jpg or png files. 
How can they expect ppl using their solution to build player upon 
it? Every old LCD TV can replay images, VLC can't. Nor it has transition 
effects ...
Kaj
6-Feb-2012
[4763]
It's a video stream player, not an image viewer
Pekr
6-Feb-2012
[4764]
Kaj - that is just an excuse imo. My 3 years old TV played just audio 
plus images. New versions can play namely anything. Ommiting ability 
to display images is a big design flaw imo. Because you can do it, 
or you can't do it. And VLC can't do it. You are also not right, 
that it is only a stream player - it is also a normal player, so 
it should try to display us much content as possible. Imagine you 
want to build small hw media player - will you ommit ability to display 
photos? And if not, it is clear you have to use another kludges to 
combine VLC with something else ...
Kaj
6-Feb-2012
[4765]
An excuse? Should every program be able to do anything?
Pekr
6-Feb-2012
[4766]
No, not anything, but what normal consument expects. There is plenty 
of bare bones DVD players, DVB-T tuners, and apart from video, all 
handle even photos, as I think, that in the age of digital cameras, 
it is pretty normal to request such a feature. But - whatever ...
Kaj
6-Feb-2012
[4767x2]
Your multi-purpose TV contains an operating system. VLC is not an 
operating system
If you want a program that simulates a TV, you should use MythTV 
or something like that
Pekr
6-Feb-2012
[4769x2]
My conclusion is, that VLC does not fit my requirements needs, and 
that's all. No wonder, that if you look into their website, trying 
to find projects which build their solutions upon it, you find only 
few projects actually. mplayer is much better in that regards. Dunno 
why though, as both build upon ffmpeg, so I expect their core having 
similar features, and API wise VLC seems to be ven better (LUA interface), 
but mplayer seems being more popular indeed.
Of course wrapping mplayer would mean releasing the source of the 
project, I think it is GPL, not LGPL.
Kaj
6-Feb-2012
[4771x3]
VLC is doing just fine with "normal consumers". They downloaded it 
a billion times, a good deal less than competitors such as MPlayer
But you're right: this belongs in ~Vent
a good deal more, I meant
GrahamC
6-Feb-2012
[4774]
Is there anything others can do to speed up the development of Red?
Kaj
6-Feb-2012
[4775]
A lot, I'd say. Enhance Red, write bindings, write example programs, 
write documentation. etc.
GrahamC
6-Feb-2012
[4776]
Doc says he is starting soon on Red ?
Kaj
6-Feb-2012
[4777x3]
He has started months ago with the memory allocator and the tokeniser, 
but Red/System keeps postponing the rest
On the other hand, implementing things such as the allocator yields 
experience for further developing Red/System
If you don't think you can create a contribution with time, you could 
make a donation in money
Pekr
6-Feb-2012
[4780x3]
Kaj - donation is not a problem imo. I donated and will donate again 
in March. At least a bit, but the question is, if it can speed anything, 
apart from the fact, that Doc will be able to work on the Red fulltime 
eventually. I think that Graham might be in a position of need to 
work on new stuff, and is deciding what tool should he use. In such 
a case, it is a bit preliminary to consider Red imo. But who knows, 
how quickly the RED itself can be written.
We will have to wait for Doc's estimate. It is also a question, if, 
when implementing e.g. Red "natives", he will accept the work of 
other developers, or will want to write it himself.
I am also not sure, that in the case of Red, eventual R3 source release 
would help to speed things up, as Red "natives" are going to be written 
in Red/System, not C, or so is my understanding of the platform.
Kaj
6-Feb-2012
[4783]
I don't think any R3 development could speed up Red, but R2/Forward 
may
Pekr
6-Feb-2012
[4784]
I had something other in mind - RT releasing sources for R3, it might 
be easier for Doc to rewrite R3 C code into Red/System, than implementing 
all functions "from scratch".
Kaj
6-Feb-2012
[4785x2]
Perhaps with some functions, but in general probably not. REBOL C 
code will be very R3 specific. Interfacing with external systems 
is still sparse, and those examples can be looked up in many other 
projects
Also, the plan is to implement as few functions as possible in Red/System. 
Red will be preferred instead, to work at a higher level
GrahamC
6-Feb-2012
[4787x2]
And I take it we are not waiting for Red/System to be rewritten in 
Red/system before work on red starts?
So a few natives get written in R/S, and then use those to write 
the core of Red.  And those that need to be rewritten in R/s can 
be done as a later optimization.
Gregg
6-Feb-2012
[4789]
I think that's the plan. World has similar goals I believe.
GrahamC
6-Feb-2012
[4790]
And in a few years we'll be able to write apps :)
Gregg
6-Feb-2012
[4791]
An incentive to live a little longer. :-)
Henrik
6-Feb-2012
[4792]
I don't think any R3 development could speed up Red

 - perhaps only already taken design decisions, as design can take 
 time and mistakes can be made.
PeterWood
6-Feb-2012
[4793]
A few points releting to recent posts:

Nenad is already working fulltime on Red.


He has already accepted contributions to the Red/System compiler 
from both Andreas and Oldes.


Finding bugs by using Red/System will help speed the process of Red 
especially as Nenad's current design is to generate Red/System code 
from Red.
Kaj
6-Feb-2012
[4794x3]
Yes, design decisions are important, but we were talking about potential 
new R3 development
Graham, programs can be written in Red/System right now
You were asking what anyone can do to help, and the most obvious 
way is writing programs
GrahamC
7-Feb-2012
[4797]
Ok, though I can't think of anything I need to write in R/S at present. 
 I need GUI based apps though
Henrik
7-Feb-2012
[4798]
if one wants to test Red/System: port some simple C stuff?
Dockimbel
7-Feb-2012
[4799x2]
FYI, I'm on trip until Saturday, so I won't be able to work much 
on Red until there. I will try anyway to release the version 0.2.4 
that includes floats support this week.
Speed up the process: you'll be able to add easily new datatypes 
to Red. I won't code myself all the 50+ REBOL datatypes, only the 
basic and important ones. For example, I would very much appreciate 
if date! and time! could be contributed by someone. The basic types 
will be quick to add as soon as the underlying Red runtime (think 
MAKE, LOAD and a few basic natives) will be operational.
GrahamC
7-Feb-2012
[4801]
Is there going to be a central repository for code snippets like 
rebol.org ?
Dockimbel
7-Feb-2012
[4802]
Certainly, maybe we could use a github repo for that as a start?