| <<<Back 1 day (to 2014/05/28) | 2014/05/29 |
noesis | hi. mujs patch: | 07:52.28 |
| diff --git a/jsi.h b/jsi.h index 3e587a0..40b12a0 100644 --- a/jsi.h +++ b/jsi.h @@ -24,6 +24,7 @@ #define isnan(x) _isnan(x) #define isinf(x) (!_finite(x)) #define isfinite(x) _finite(x) +#undef signbit static __inline int signbit(double x) {union{double d;__int64 i;}u;u.d=x;return u.i>>63;} #define INFINITY (DBL_MAX+DBL_MAX) #define NAN (INFINITY-INFINITY) | 07:52.30 |
| oops | 07:52.35 |
vinayv | i couldn't able to genarate "generated" folder in windows.. could anyone please guide me.. | 08:21.59 |
| for mupdf 1.4 | 08:22.20 |
kens | not without more information, why can you npot create it | 08:22.48 |
Robin_Watts | vinayv: Are you using the msvc project? And in what version of VS? | 08:35.49 |
vinayv | could anyone please send me link for libmupdf.so of mupdf-1.4 source code.. | 10:22.21 |
lok | hi guys | 10:24.16 |
| facing the same problem of generating .so file ... m using the windows platform .... | 10:24.45 |
| any suggestion | 10:24.54 |
Robin_Watts | vinayv: No. | 10:25.29 |
| lok: What exactly is the problem you are having? | 10:25.40 |
| vinayv: We don't provide a binary for the libmupdf.so - especially when you don't specify what platform etc. | 10:26.23 |
| lok: The windows builds of mupdf don't use a .so. | 10:26.56 |
| Are you perhaps building for android under windows ? | 10:27.05 |
lok | not able to generate the .so file for mupdf ... tryiing on windlow 8 | 10:27.06 |
| yes sir | 10:27.11 |
vinayv | i am using android platform.. | 10:27.17 |
lok | buiding under windows | 10:27.24 |
Robin_Watts | lok: OK, so you're presumably following platform/android/ReadMe.txt ? | 10:27.30 |
lok | yes | 10:27.37 |
| thats not helping me | 10:27.48 |
vinayv | could not able to build libmupdf.so file for android platform jni.. | 10:28.25 |
Robin_Watts | So it's step 10 that presumably you are having problems with ? | 10:28.40 |
vinayv | yes i too have problem in step 10.. | 10:29.14 |
lok | yes step 10 | 10:29.20 |
| how to get this generate thing | 10:29.26 |
Robin_Watts | OK, so are you using cygwin ? | 10:29.37 |
lok | yes | 10:29.46 |
vinayv | yes i am using cygwin.. | 10:29.53 |
lok | but there not able to install apt-cyg | 10:29.56 |
Robin_Watts | OK, so in the top directory of the mupdf source, run "make generate" | 10:30.17 |
vinayv | make is not working in cygwin.. | 10:30.35 |
lok | top directory | 10:30.38 |
Robin_Watts | vinayv: OK. Other approach... do you have MSVC installed ? | 10:31.15 |
tor8 | vinayv, lok: if either of you have access to a linux or macosx system you can run 'make generate' there and copy the generated header files. or you can use visual studio express to run the windows solution to generate them. | 10:31.19 |
vinayv | i don't have linux or macosx.. | 10:37.08 |
| i will try it in visual studio.. | 10:37.32 |
Robin_Watts | vinayv: What version of visual studio? I would recommend 2005 or 2008 if you have them. | 10:38.30 |
| For later versions the projects will convert on loading (doesn't hurt, just an extra step) | 10:39.01 |
| Open platform/win32/mupdf.sln and then "Build Solution" | 10:39.38 |
vinayv | i have 2012.. | 10:46.06 |
| could you please tell how to build mupdf in visual studio.. | 10:48.01 |
Robin_Watts | vinayv: I just did. | 10:48.23 |
vinayv | <Robin_Watts> i am working on android platform.. when i trying to genarate libmupdf.so file, find this error "gen_cmap_cns.h: No such file or directory".. | 10:51.45 |
Robin_Watts | vinayv: Yes, I understand the problem. | 10:53.21 |
| To solve that you need to run the steps to generate those header files. | 10:53.45 |
| That requires access to a compiler capable of running on the windows machine, and building exes that can run on the windows machine. | 10:54.16 |
| The android SDK/NDK do not provide such compilers, obviously enough. | 10:54.29 |
| Hence you either need to use the MSVC project, or you need to use cygwin, or you need to do the build elsewhere and copy the files back over. | 10:55.01 |
| We were trying to do it using MSVC 2012, right? | 10:55.25 |
| So, as I said above... Open platform/win32/mupdf.sln and then "Build Solution" | 10:55.37 |
vinayv | yeppe.. am installing MSVC 2012 now.. | 10:55.51 |
zeniko | Robin_Watts: I've started experimenting with pdf-device and found a couple of memory leaks | 10:57.53 |
| patch on zeniko/mupdf for review | 10:57.59 |
tor8 | zeniko: LGTM but Robin may want to have a look as well | 10:59.51 |
Robin_Watts | I will look. | 11:01.56 |
| lgtm, yeah. thanks. | 11:02.48 |
vinayv | <Robin_Watts>i used MSVC 2012, got generated folder, i used header files and generated .so file.. Thank you all for support.. | 11:23.23 |
tkamppeter | Robin_Watts, hi | 12:45.34 |
Robin_Watts | tkamppeter: hi | 12:45.59 |
| Do you have another version to test/commit in light of the comments on the bug this morning? | 12:46.23 |
tkamppeter | Robin_Watts, no, I am currently more concerned with the original intention of the bug report, the CMYK 16-bit output. Have you more ideas about that? | 12:48.24 |
Robin_Watts | I have not looked yet. | 12:49.52 |
| I might look later today. | 12:49.56 |
kens | chrisl ping | 13:16.34 |
Robin_Watts | tkamppeter: Is there a windows binary for rasterview anywhere? | 13:18.50 |
kens | I think I have one.... Let me look | 13:23.53 |
| Hmm I have the source but it look slike I didn't get it to build | 13:25.26 |
Robin_Watts | I have a macosx version. I can live with that. | 13:26.25 |
kens | I htink I just used the Linux version in a VM in the end | 13:26.51 |
chrisl | kens: belated pong | 13:28.58 |
kens | :-) What's the status of mooscript at the moment chris, should I pull a new set of source form your repo ? | 13:29.23 |
chrisl | Erm, I haven't done any more since the libjpeg stuff | 13:30.01 |
kens | THat was what I meant though, it would be nice ot have that, and I don't think I do at the moment | 13:30.18 |
chrisl | I thought you did - didn't I talk you through getting the rebased tree from my repo? | 13:31.21 |
| Maybe you haven't the got the last commit, though.... | 13:31.46 |
kens | Oh, myabe I do have it, I htought that was beofre hte libjpeg stuff, but I've been running around a lot recently,I may simply be confused.... | 13:31.58 |
chrisl | You haven't got any code changes or new commits since the | 13:32.48 |
kens | last commit I have is my initial shading stuff | 13:32.55 |
chrisl | Oops, I meant to delete that..... | 13:32.56 |
| OKay, I don't have the shading commit | 13:33.11 |
kens | Hmmm its 3c4be8b in my repositry | 13:33.37 |
| before that I have c543adf "fall back and convert to RGB..." | 13:34.02 |
chrisl | That's the last one I have | 13:34.12 |
| Anyway, doesn't matter..... | 13:34.21 |
kens | Oh OK then I guess I have the libjpeg stuff | 13:34.24 |
| THanks. | 13:34.37 |
chrisl | You might not have the commit with comment "Remove jmorecfg.h from includes...." | 13:34.50 |
kens | No I don't have that | 13:35.18 |
| But I know what I have compiles, so its OK | 13:35.38 |
chrisl | Okay, do this: git reset --hard 0145175a | 13:35.46 |
kens | 1 second, let me check out the branch again | 13:36.11 |
| OK now at 'Temporarily disable code introduced....' | 13:36.50 |
chrisl | Right, now pull/rebase from my repo | 13:37.03 |
marcosw | Robin_Watts: box for you arrived at my house yesterday, presumably more toys? | 13:37.12 |
kens | so git pull --rtebase chrsil ? | 13:37.14 |
chrisl | yes (typed correctly!) | 13:37.28 |
kens | :-) | 13:37.31 |
Robin_Watts | marcosw: Probably, a dock for the gamestick controller, yes :) | 13:37.49 |
chrisl | kens: The top commit should be your "fallback to RGB..... | 13:38.07 |
kens | OK I confess I have no idea what state this branch is in now.... | 13:38.10 |
| Last I have on chrisl/mooscript is e78fc3a | 13:38.41 |
tor8 | Robin_Watts: 1 commit on tor/master for review | 13:38.47 |
| my bmpcmp has the diffs if you want to take a look | 13:39.14 |
chrisl | kens: e78fc3a is "fall back and convert to RGB......" | 13:39.24 |
kens | yes indeed | 13:39.29 |
chrisl | That should be the top commit on your current, local branch | 13:39.49 |
kens | Yes, seems to be | 13:39.55 |
| Err actually no | 13:40.04 |
| I'm not sure what my local branch is up to, I have an extra commit beyond that on kens/mooscript | 13:40.41 |
chrisl | So what is the top commit? | 13:40.41 |
kens | Its complicated | 13:40.55 |
| I have a stash for work in master | 13:41.01 |
| THen some branch jiggery for a cluster run | 13:41.09 |
chrisl | just do "git log" | 13:41.11 |
| What's the first commit it lists? | 13:41.25 |
Robin_Watts | git log -1 | 13:41.34 |
kens | OK that says 'temporarily disable code....' 0145175 | 13:41.35 |
henrys | marcosw: do you use ports or home-brew? | 13:41.44 |
Robin_Watts | m"cb00k | 13:41.45 |
kens | I guess I should push this lot to kens/mooscript ? | 13:42.19 |
henrys | marcosw: I'm thinking of switching to brew. | 13:42.32 |
chrisl | kens: your branch hasn't been updated | 13:42.53 |
| kens: so maybe you need to do "git pull --rebase chrisl mooscript" | 13:43.02 |
kens | THIs is my branch | 13:43.02 |
| ah.... | 13:43.15 |
| fatal: 'chrisl/mooscript does not appear to be a git repository | 13:43.44 |
| oh '/' is bad | 13:44.48 |
| tha'ts better | 13:45.02 |
| OK now I have e78fc3 | 13:45.16 |
| 'fall back and convert to RGB | 13:45.26 |
chrisl | Good, now do "git cherry-pick 3c4be8b" | 13:45.41 |
kens | OK got that | 13:46.07 |
| shading stuff | 13:46.13 |
chrisl | And buried about 13 commits in, should be 1b06d788 "Remove jmorecfg.h from includes...." | 13:46.58 |
kens | let me see.... | 13:47.06 |
| Yes, I see that | 13:47.27 |
| 1b06d | 13:47.33 |
chrisl | Right, so if you now update your mupdf repo, you should be able to render JPEG images | 13:47.50 |
kens | OK I'll update mupdf in a moment | 13:48.06 |
| need to dash out for a short while | 13:48.15 |
chrisl | Amazing: before all that, I had a slight headache, but now............. I still have a slight headache :-( | 13:49.09 |
| Hmmm, home-brew uses ruby..... another language I don't want to learn | 13:51.21 |
rayjj | one case working with knockout, non-isolated, but 2524.pdf still has problems because it pushes a transparency group for the B* operator (to combine the stroke and fill into a transparency buffer without having the stroke colors and transparency go wrong where it overlaps the fill) | 14:09.00 |
| I'll want to discuss these (substantial) changes with mvrhel when he's available (probably not until staff meeting) | 14:09.54 |
Robin_Watts | kens: looks like bug 695270 can go away then. | 14:22.09 |
| Wasn't looking forward to looking for problems in the interpolator. | 14:22.24 |
kens | Robin_Watts : its entirely possible its not fixed, just tht the memory has shifted around subtly and masked it, but with no specimen file, how can one tell ? | 14:26.39 |
| I will close it though | 14:26.43 |
tkamppeter | Robin_Watts, I do not know. Perhas you ask Mike Sweet, the author of rasterview, or you google for it. | 14:28.42 |
kens | chrisl : Robin_Watts how do we go about getting a copyright assignment for patches ? | 14:35.27 |
| I thought it was in Bugzilla somewhere.... | 14:35.43 |
Robin_Watts | kens: When you upload a patch to bugzilla there is a link. | 14:35.57 |
| http://bugs.ghostscript.com/attachment.cgi?id=9346 | 14:36.22 |
kens | Hmm, ok but this erporter has submitted a pathc already. I guess I could ask him to resubmit the patch and follow the link | 14:36.23 |
| Oh, right thanks for the URL | 14:36.29 |
Robin_Watts | well, he should print out the CLA, sign it, and either scan it+email it, or snail mail it in. | 14:37.07 |
kens | Yep, I read that in the CLA :-) | 14:37.17 |
| Hmm, macpro had a compilefail on a commit that only changed PostScript ? O.O | 14:45.02 |
henrys | kens: I am fiddling with stuff | 14:48.11 |
| just installed maverick | 14:48.23 |
| but I wasn't expecting to break the build | 14:48.42 |
kens | henrys, I'm not sure what happened exactly, but it did fail to compile | 14:51.25 |
| Sees you don't have autoconf | 14:51.51 |
| You must have autoconf installed to compile ghostpdl. | 14:52.02 |
| Download the appropriate package for your distribution, | 14:52.03 |
| or get the source tarball at ftp://ftp.gnu.org/pub/gnu/ | 14:52.03 |
henrys | yes I blew away autoconf - I thought marcosw was using Xcode for that but apparently the build was sourcing it from "ports" odd | 14:52.18 |
kens | THere could be other problems too, I'm not certain | 14:52.36 |
chrisl | Does XCode have autoconf? | 14:52.42 |
henrys | chrisl: I thought it was in Xcode command line tools - maybe mistaken | 14:53.15 |
kens | You cna look at the logs from the dashboard | 14:53.19 |
henrys | kens: I understand the problem. | 14:53.33 |
kens | I'm not worried for this commit as I had already cluster pushed it | 14:53.36 |
henrys | kens: let's just disable Mac Pro for now. | 14:54.04 |
kens | OK will do | 14:54.11 |
| Oh, apparently I can't | 14:54.27 |
henrys | kens: yeah me neither what's up with that? | 14:54.38 |
kens | I don't have permission to access /~regression/cgi-bin/hostupdown.cgi | 14:54.52 |
chrisl | I've never been able to enable/disable nodes from the web interface | 14:55.07 |
kens | It used to work for me.... | 14:55.19 |
| Let me try a different server | 14:55.24 |
| Nope, can't do any of them it seems | 14:55.41 |
chrisl | henrys: don't forget that the commands available in the xcode command line tools seem to vary with the direction of the wind at Cupertino | 14:56.15 |
Robin_Watts | it worked for a while, but then stopped on an ubuntu upgrade. | 14:56.16 |
| I have disabled macpro. | 14:56.34 |
kens | OK thanks | 14:56.39 |
| THat's more importatn than anything else | 14:56.46 |
henrys | Robin_Watts: does marcosw own the dashboard? | 14:57.15 |
Robin_Watts | the webdashboard is mine, I think. | 14:58.15 |
| marcosw uses a text based one, AIUI. | 14:58.29 |
henrys | well we should fix this. a broken machine could hold up work with how it is now. | 15:00.54 |
| so my question is who wants to fix it? ;-) | 15:01.11 |
kens | finger on nose | 15:01.24 |
Robin_Watts | henrys: I'll have a look. | 15:01.35 |
rayjj | Robin_Watts: you have sudo on casper, right ? | 15:06.05 |
Robin_Watts | I do. | 15:06.10 |
el_mendi | Robin Watts: Hi, I can´t build the 1.4 version for android, there is some problem with the includes, it does not recognizes all the <fz_*> functions | 15:07.08 |
Robin_Watts | ok, getting a stage further now :) | 15:07.15 |
| el_mendi: Are you following platform/android/ReadMe.txt ? | 15:07.37 |
| Or are you importing the files into eclipse or something like that ? | 15:07.51 |
jogux_mac | henrys / chrisl : xcode doesn't include autoconf [at least not in xcode 5]. The command line tools are also dead as of mavericks; essentially the OS comes with commands that redirect into the currently selected xcode. | 15:08.29 |
el_mendi | more or less, I am not using visual studio | 15:08.56 |
Robin_Watts | el_mendi: platform/android/ReadMe.txt doesn't mention visual studio anywhere. | 15:09.17 |
henrys | jogux_mac: thanks I'm switch from port to brew so the autoconf was pulled out and the regression test failed, autoconf will be back shortly | 15:12.19 |
el_mendi | I run make command with cygwin in order to get Generated folder, then I modify the local.properties file and then when I run ndk-build command it starts to build every library, but when it come to build libmupdf.so can´t compile mupdf.c file because it doesn't find all the <fz_*> functions | 15:14.07 |
| look the first lines of the error: | 15:15.24 |
| [armeabi-v7a] SharedLibrary : libmupdf.so C:/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe: C:/users/carlos/android/mupdf-1.4-source/mupdf-1.4-source/platform/android/obj/local/armeabi-v7a/objs/mupdf/mupdf.o:C:/users/carlos/android/mupdf-1.4-source/mupdf-1.4-source/platform/android/jni/mupdf.c:373: error: undef | 15:15.30 |
Robin_Watts | el_mendi: Use pastebin.com | 15:16.38 |
el_mendi | ok | 15:16.48 |
| Here is the complete error: http://pastebin.com/BCaD2agw | 15:20.46 |
Robin_Watts | el_mendi: Try: ndk-build V=1 | 15:23.34 |
| hopefully that might show the link command. | 15:23.57 |
| It looks to me like the link to create libmupdf.so is not including any of the libs that it's just built. | 15:24.50 |
el_mendi | Look http://pastebin.com/qPCD60MU | 15:27.34 |
Robin_Watts | el_mendi: OK, so it's trying to link them in... | 15:30.11 |
| how big is C:/users/carlos/android/mupdf-1.4-source/mupdf-1.4-source/platform/android/obj/local/armeabi-v7a/libmupdfcore.a ? | 15:30.27 |
rayjj | only one bit still going wrong. This code (gdevp14.c, gxblend.c, gxblend1.c) is such a mess :-( | 15:31.34 |
el_mendi | Robin_Watts: Just 1kb | 15:32.09 |
| :S | 15:32.21 |
Robin_Watts | el_mendi: Perform a clean rebuild. | 15:33.00 |
| ndk-build clean | 15:33.09 |
| then ndk-build and see if it builds all the mupdf source. | 15:33.18 |
el_mendi | Robin_Watts: ok | 15:33.51 |
| Robin_Watts: It does: http://pastebin.com/EtzhifpN | 15:38.02 |
Robin_Watts | el_mendi: It doesn't. | 15:38.40 |
| You've build mupdf.c and mupdfthirdparty, but I can't see any of the actual mupdf code being built at all there. | 15:39.08 |
el_mendi | Robin_Watts: So what I need to do? | 15:45.46 |
Robin_Watts | el_mundi: I don't know. Bear with my while I finish my current job, then I'll have a look. | 15:46.12 |
el_mendi | Robin_Watts: Ok thank you, sorry for disturbing you | 15:47.27 |
Robin_Watts | henrys, kens: OK, I think enabling/disabling from the dashboard should work now. | 16:11.00 |
| I hate setuid. | 16:11.06 |
kens | Hmm ok thanks robin | 16:11.13 |
Robin_Watts | OK, el_mendi. | 16:14.26 |
| When I compile stuff here (using ndk-r8e under dos), it builds mupdf.c, then it builds loads of other files, then it does the libmupdfcore.a build. | 16:15.29 |
| So, I suspect the problem is with line 2 in your pastebin. | 16:15.51 |
| el_mendi: Could you try using ndk-r8e please? | 16:21.50 |
el_mendi | Robin_Watts: I've already made it | 17:06.34 |
| Now how I put my images? | 17:07.10 |
Robin_Watts | el_mendi: How did you do that? | 17:28.51 |
| By using r8e ? | 17:29.03 |
el_mendi | Robin_Watts: It was a problem in Core.mk, the LOCAL_SRC_FILES links was not well defined, but it was my fault... :S | 17:33.12 |
Robin_Watts | oh, ok. | 17:33.25 |
| Well, that's good news. | 17:33.40 |
| So, to continue... | 17:33.45 |
el_mendi | yes :D | 17:33.49 |
Robin_Watts | First off you should know that you're right on the bleeding edge of development here. | 17:34.01 |
| So this isn't as nice or as pretty as it possibly could be. | 17:34.17 |
| If you look in source/pdf/pdf-clean.c | 17:34.45 |
| there is a function pdf_clean_page_contents | 17:34.55 |
| That takes a pdf_document * and a pdf_page *. | 17:35.17 |
el_mendi | ahá | 17:35.44 |
Robin_Watts | It then runs the contents for that pdf_page * through a pair of filters. | 17:35.47 |
| The first filter processes the operators of the page and passes them on. The second filter collects them back into a buffer. | 17:36.20 |
| So the upshot is that at the end of the process you have a buffer that contains a set of pdf operations that will cause the page to be marked in exactly the way the originals did. | 17:37.04 |
el_mendi | ok | 17:37.46 |
Robin_Watts | The point of doing that, however, is that we also guarantee that the new set of pdf operators will a) have a balanced set of q/Q's, and b) will leave the ctm unchanged. | 17:38.03 |
| Now, whether you understand what I just said will depend on your level of knowledge of pdf :) | 17:38.30 |
| did you understand it? | 17:38.43 |
el_mendi | more or less | 17:38.51 |
Robin_Watts | Ok. | 17:38.57 |
| So what you need to do is to append some more operations onto the end of the buffer that will display your required watermark. | 17:39.25 |
| That needs to happen just before the pdf_update_stream call. | 17:40.04 |
el_mendi | Inside the pdf_clean_page_contents? | 17:40.34 |
Robin_Watts | el_mendi: Yes. | 17:40.45 |
| If it was me doing this in the nicest possible way, I'd probably add some new params to pdf_clean_page_contents. Maybe a callback function and a callback arg. | 17:41.51 |
| and then if those are non NULL call them and pass in the buffer or something. | 17:42.07 |
| but for your purposes, I'd just copy pdf_clean_page_contents and hack it. | 17:42.27 |
el_mendi | Ok thank you | 17:43.07 |
Robin_Watts | Adding line art is relatively simple. | 17:43.28 |
| Adding images is harder, cos you then need to add that into the resources tree. | 17:43.45 |
| Adding text is OK apart from the need to add a font etc, which might get tricky. | 17:44.06 |
el_mendi | So which params I need to call from pdf_clean_page to insert the new operation? | 17:45.36 |
| I mean, if I have the bitmap and the matrix of the position and scale referenced to the doc matrix... What I need to pass it to the pdf_clean_page function? | 17:47.07 |
Robin_Watts | el_mendi: It's not easy. | 17:48.20 |
| In an ideal world, there are 2 ways that you could work here. | 17:48.58 |
| The first way would be to manually append a set of pdf operators to the buffer that draw your watermark. | 17:49.35 |
| For an image that would be a cm command and then a Do command. | 17:49.56 |
| You'd also need to create an Image XObject and put that in the resources. | 17:50.18 |
| All that requires a degree of knowledge of PDF. | 17:50.26 |
| The second way would be to use the pdf_device and then to call fz_draw_image etc, and have it take care of all that for you. | 17:51.08 |
| Unfortunately, the pdf_device isn't finished. One of the things that's missing is the ability to handle bitmaps etc. | 17:51.27 |
| So for now, you're stuck with the first way. | 17:51.42 |
| This is going to require you to do some reading up on PDF files. | 17:51.58 |
el_mendi | :S | 17:52.29 |
| Well, ok, thank you for all the information | 17:52.57 |
Robin_Watts | np. | 17:53.05 |
| Also... can I ask what you are doing all this for? | 17:53.13 |
| What's your final target? | 17:53.17 |
| Are you writing a tool just for you? Or will it be distributed? | 17:53.30 |
el_mendi | The final target is just to be able to overwrite an image from your android device into an existing PDF | 17:54.19 |
| Like a signature or so, for example | 17:54.35 |
Robin_Watts | Ok, but is this a tool just for you, or is it going to be an app that you can distribute? | 17:55.07 |
el_mendi | Ah | 17:55.17 |
| It is my final degree project | 17:55.36 |
Robin_Watts | Ah, ok. | 17:55.48 |
| I just wanted to be sure you understood the licensing of MuPDF. | 17:56.06 |
el_mendi | But I don't think the result will be good enough to distribute it hahaha | 17:56.06 |
Robin_Watts | I would have hated for you to spend ages writing something only to then find that you hadn't realised you had to give it all away :) | 17:56.40 |
| Forward 1 day (to 2014/05/30)>>> | |