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

World: r4wp

[#Red] Red language group

DocKimbel
27-Jun-2013
[8815]
We'll step by step abstract all those little details, so you'll be 
able to specify your whole app parameters from Red only without having 
to touch any Android XML file.
Pekr
27-Jun-2013
[8816x5]
we could use a Rebol header format for that somehow maybe, so that 
it could be part of the program, no need of special config file?
x86 version generation worked well, but the .apk does not work. I 
can see x86 dir, which is empty though. Shouldn't it contain a DLL?
hmm, renamed apk to zip, I can see x86 is not incluede in the package, 
just armeabi dir containing .so library ... needs some other tweaks 
....
Managed to produce an apk, which contains x86 + arm version of demo, 
and it works on both targets!
In order to be able to generate x86 target, do the following:

- copy %build.r into %build-x86.r


- change make-dir/deep bin-dir/lib/armeabi => make-dir/deep bin-dir/lib/x86

- change "-t Android" => "-t Android-x86"


- change "rejoin [%../red/bridges/android/ bin-dir/lib/armeabi" => 
"rejoin [%../red/bridges/android/ bin-dir/lib/x86"


- run %build-x86.r - generates an apk and if you ran arm version 
previously, will pack both versions into one .apk
Kaj
27-Jun-2013
[8821x14]
Bo, the above suggestions are all good. Your code looks OK until 
you start generating the third result image
img3: as-binary size1
is not the way to allocate an image. as-binary is just a type cast, 
like as-integer, not a declaration
So you're pointing img3 to a semi-random memory area that happens 
to have an address equal to the size of the first image. That will 
crash the first time you try to access the image
The correct way to allocate space would be
img3: allocate size1
and then you would have to check for a possible NULL result. Look 
inside the code of read-file-binary to see how that works
You also need to check the return values of read-file-binary and 
write-file-binary, as Arnold already mentioned
After you're done with img3, you should FREE the allocated memory. 
The same for img1 and img2 because the memory was allocated for you 
by read-file-binary
Alternatively, you could reuse either img1 or img2 to produce the 
result image if you don't need them afterwards. That would save the 
allocation and freeing of the third image
To make the algorithm foolproof, you could also check that size1 
and size2 are equal
Apart from the use of as-binary, everything should work. :-) I guess 
you were thrown by the initialisations:
img1: as-binary 0
These are only needed if the later set actions are nested, so your 
above code doesn't need them
Arnold
27-Jun-2013
[8835]
I think Bo is comparing two camera images, always the same source,same 
size? Adapt Kaj's suggestion anyway, the check costs almost nothing 
and is worth the trouble.
Kaj
27-Jun-2013
[8836x2]
Yes
Arnold, there is not one account for red.esperconsultancy.nl. Each 
Fossil repository under there has its own account system. But you 
don't need accounts for reading; they're public repositories
Arnold
27-Jun-2013
[8838]
Yes I understand now. Is it possible to have a page linking to all 
the Red repositories? 

Alternative is have a special Red-info group with all of the links 
to various Red sites. The repositories, Issue list, Wish list etc 
etc.
Kaj
27-Jun-2013
[8839x6]
The incomplete Contributions page on the Red site is all there is 
so far
I was going to set up a bindings site, but Doc wanted me to work 
on Android support
However, as I've explained before, all repositories follow the same 
naming pattern. If a dependency is #included from a common/ directory 
it's in the Red-common repository
And there's a complete list of all my repositories in my download.r 
script, which you can use to download and update them all in one 
go:
http://red.esperconsultancy.nl/Red-test/dir?ci=tip
Great work on Android, Doc, and nice tweak, Petr :-)
Pekr
27-Jun-2013
[8845]
I am surprised that sometimes I can be somehow usefull :-)
Kaj
27-Jun-2013
[8846]
:-)
DocKimbel
27-Jun-2013
[8847]
Kaj, thanks! We're about half-way to the full Android Red support 
I have in mind, but it's already usable if you don't mind going through 
the Android API. Fortunately, we'll make that part vanish too with 
some nice high-level abstractions.
Pekr
27-Jun-2013
[8848x2]
Doc, Henrik asks about RPi support, in case it runs Android. Will 
it run?
It's in the FB group ....
Kaj
27-Jun-2013
[8850x3]
The Raspberry hardly runs Android
They say it runs a little, but I've tried it and it's so bad you 
might as well say it doesn't run
Inasfar as it does run, there's no reason Red wouldn't run on it 
now
james_nak
27-Jun-2013
[8853]
Doc, what's your timeline on the full support you have in mind?
DocKimbel
27-Jun-2013
[8854]
I need to have objects and ports implemented first, so don't expect 
it before September most probably.
james_nak
27-Jun-2013
[8855]
Thanks. So it's not as if it is next year. Where can I see the red 
code for your second hello?
DocKimbel
27-Jun-2013
[8856]
I've renamed it to `eval`, it's in red/bridges/android/samples/eval/.
Bo
27-Jun-2013
[8857]
Thanks for the help everyone, esp. Kaj.  Changing to 'allocate was 
all I needed for my program to work.  Thanks to Doc for the debugging 
hint (run from MS-DOS console).  Don't know why I didn't think of 
that on my own.
james_nak
27-Jun-2013
[8858x2]
Doc, I must be in some other world. Where is red/bridges?
I checked the pastebin link and saw the code.
Kaj
27-Jun-2013
[8860x2]
It's in the dyn-lib-emitter branch. I guess you were looking in master?
https://github.com/dockimbel/Red/tree/dyn-lib-emitter/red/bridges/android/samples/eval
james_nak
27-Jun-2013
[8862]
Kaj, thanks. Yes, I was in master! Perfect.
Kaj
27-Jun-2013
[8863]
Almost the same as another world ;-)
james_nak
27-Jun-2013
[8864]
When you're lost it is exactly the same. The problem with me is that 
I come in and out of these conversations and so end up not building 
on top of previous knowledge. Every trip into red-landia is a new 
one :-)