00:04:54 | preglow | wellwellwell |
00:05:16 | preglow | Slasheri: this will become a rather large patch, i imagine? |
00:05:59 | rasher | unless it can be cut up and committed in bits |
00:06:20 | preglow | what's the point? |
00:07:24 | t0mas | I think I've found a bug |
00:07:31 | t0mas | anybody has time to verify? |
00:07:35 | t0mas | (in simulator) |
00:08:06 | rasher | to let LinusN etc. easier check the patch |
00:08:18 | t0mas | when you checkout a clean rockbox-devel, then make in tools, then create a build dir, and configure for iriver X11 sim there |
00:08:20 | t0mas | then type make |
00:08:31 | t0mas | you'll get this: make[1]: *** No rule to make target `@make'. Stop. |
00:08:40 | rasher | "this is a patch that adds the pcm playback thread" "this is a patch that changes the output plugins" etc. |
00:09:07 | t0mas | and the error is because of this: |
00:09:07 | t0mas | all: |
00:09:07 | t0mas | @$(MAKE) -C $(SIMDIR) OBJDIR=$(BUILDDIR)/simn @$(MAKE) -C $(ROOTDIR)/uisimulator/common OBJDIR=$(BUILDDIR)/comsim |
00:09:22 | t0mas | it should be 3 lines: |
00:09:22 | t0mas | all: |
00:09:22 | t0mas | @$(MAKE) -C $(SIMDIR) OBJDIR=$(BUILDDIR)/simn |
00:09:22 | DBUG | Enqueued KICK t0mas |
00:09:22 | t0mas | @$(MAKE) -C $(ROOTDIR)/uisimulator/common OBJDIR=$(BUILDDIR)/comsim |
00:09:27 | t0mas | then everything is fine |
00:09:48 | preglow | heh |
00:09:51 | t0mas | (in my Makefile on line 48, but that can be different) |
00:10:01 | Bagder | t0mas: this is in the root makefile you mean? |
00:10:20 | rasher | Whoa.. mention makefiles and Bagder appears |
00:10:27 | Bagder | :-) |
00:10:34 | t0mas | Bagder: yes |
00:10:45 | t0mas | rasher: I was just about to hilight him ;) |
00:11:02 | Bagder | I don't get that error |
00:11:34 | Bagder | are you saying it makes one instead of two lines in there? |
00:11:39 | t0mas | yes |
00:11:57 | Bagder | cygwin sed magic I guess... |
00:12:01 | Ctcp | Ignored 1 channel CTCP requests in 0 seconds at the last flood |
00:12:01 | * | Bagder checks |
00:12:04 | t0mas | linux |
00:12:10 | Bagder | how odd |
00:12:12 | t0mas | input: 9 S X 6 |
00:12:14 | Bagder | works fine for me |
00:12:41 | t0mas | line 48 of the root makefile gets: " @$(MAKE) -C $(SIMDIR) OBJDIR=$(BUILDDIR)/simn @$(MAKE) -C $(ROOTDIR)/uisimulator/common OBJDIR=$(BUILDDIR)/comsim" |
00:12:59 | t0mas | GNU sed version 4.0.9 |
00:13:04 | Bagder | hm |
00:13:07 | t0mas | GNU Make 3.80 |
00:13:10 | Bagder | GNU sed version 4.1.4 |
00:13:29 | Bagder | the 'n' after sim is supposed to be a newline |
00:13:37 | t0mas | ah |
00:13:44 | Bagder | if you check configure line 610 |
00:13:46 | t0mas | so it's missing a \ somewhere |
00:13:57 | Bagder | there is a \ there |
00:14:16 | t0mas | :| |
00:14:18 | t0mas | " simmagic='/#SIMUL#/c\ @$(MAKE) -C $(SIMDIR) OBJDIR=$(BUILDDIR)/sim\n @$(MAKE) -C $(ROOTDIR)/uisimulator/common OBJDIR=$(BUILDDIR)/comsim'" |
00:14:18 | Bagder | which is why it works for me |
00:14:19 | t0mas | there is |
00:15:20 | amiconn | sed 4.0.9? |
00:15:37 | amiconn | I have 4.1.4 on cygwin, and 4.1.2 in debian |
00:18:33 | t0mas | upgrading to 4.1.4 |
00:18:49 | t0mas | and then I'll test again :) |
00:19:08 | t0mas | it's compiling :) |
00:19:23 | t0mas | ah, done |
00:19:24 | Bagder | it is actually the first time I ever used the c command in a sed expression ;-) |
00:20:15 | t0mas | it works |
00:20:19 | t0mas | with 4.1.4 |
00:20:37 | Bagder | cool, but not so cool that we need that |
00:20:54 | t0mas | just put it in the wiki somewhere... |
00:21:03 | t0mas | it's not that hard to add a newline and remove an n |
00:22:31 | t0mas | good night :) |
00:23:13 | | Quit ashridah ("Leaving") |
00:31:42 | | Join markun [0] (~markun@bastards.student.utwente.nl) |
00:32:19 | markun | CoCoLUS: The center scrolling patch is in the patch tracker |
00:55:50 | | Join ]RowaN[ [0] (a2b0y@82-43-208-57.cable.ubr10.newm.blueyonder.co.uk) |
01:00 |
01:00:08 | ]RowaN[ | anyone know of a UK reseller of replacement iriver hds? |
01:01:03 | | Join austriancoder [0] (~austrianc@80.120.117.30) |
01:01:07 | austriancoder | hi |
01:01:49 | markun | hi austriancoder! |
01:09:10 | austriancoder | any work done at grayscale? |
01:09:50 | markun | Yes, I'm trying to get 1-bit bitmaps to render faster. |
01:11:05 | austriancoder | ah cool |
01:11:33 | amiconn | It should be simple... if only I had my iriver yet :( |
01:11:39 | markun | I should finish it just so that I don't see all the complaints in the irc logs :) |
01:11:39 | thegeek_ | barf |
01:12:03 | thegeek_ | gcc refuses to compile with both gcc 3.3.4 and 3.4.3 |
01:12:34 | thegeek_ | oh well |
01:12:39 | austriancoder | should there be an option to set the remote lcd backlight timeout? |
01:14:05 | | Quit matsl (Remote closed the connection) |
01:15:21 | austriancoder | hmmm... |
01:16:16 | *** | Saving seen data "./dancer.seen" |
01:17:02 | | Quit preglow ("leaving") |
01:18:09 | rasher | I'd say the remote lcd should have more or less the same options as the main lcd - or they could be "mirrored" |
01:18:40 | rasher | and since we already have different options, probably the former |
01:21:04 | | Join thegeek [0] (na@ti521110a080-1186.bb.online.no) |
01:21:06 | austriancoder | ok.. |
01:23:18 | rasher | not that I'm an authorative source.. how's the radio doing? |
01:25:17 | austriancoder | fine |
01:25:31 | austriancoder | i am working atm at a nice interface for the uda |
01:26:50 | | Quit thegeek_ (Read error: 60 (Operation timed out)) |
01:35:42 | | Quit edx (Read error: 110 (Connection timed out)) |
01:39:55 | | Join bagawk [0] (~Lee@bagawk.user) |
01:55:08 | | Quit bagawk ("Leaving") |
02:00 |
02:03:29 | austriancoder | i can't build the iriver simulator on x11 !! |
02:03:29 | | Nick RED_M_CHIU is now known as RED_M_INFINITY (trogdorrrr@82-45-14-15.cable.ubr07.azte.blueyonder.co.uk) |
02:08:28 | | Part LinusN |
02:15:22 | rasher | would be nice to get sensible radio, because I sure haven't bothered with iRiver's radio function |
02:16:12 | austriancoder | i will do the best |
02:16:53 | rasher | I'd switch to radio mode and I'd immediately want to switch back |
02:17:00 | rasher | the interface seemed so hostile |
02:17:24 | austriancoder | currently it is much "harder" to switch between the modes |
02:17:49 | rasher | well I'm not too concerned with the actual switching |
02:18:38 | | Join StrathAFK [0] (~mike@dgvlwinas01pool0-a216.wi.tds.net) |
02:18:55 | austriancoder | extended remote backlight stuff in cvs |
02:21:04 | rasher | so it is |
02:24:50 | | Quit rasher ("CGI:IRC (EOF)") |
02:25:37 | | Join rasher [0] (~3e4f4094@labb.contactor.se) |
02:27:52 | rasher | It's acting weird |
02:28:35 | rasher | It's more or less controlling the main lcd |
02:28:44 | rasher | at least if I change it to "on" or "off" |
02:30:14 | austriancoder | oha |
02:30:28 | austriancoder | will fix it |
02:31:30 | rasher | do you see a bug, or is it a mystery? |
02:36:06 | | Quit Strath (Read error: 110 (Connection timed out)) |
02:36:10 | austriancoder | at the moment it is a mystery |
02:36:17 | austriancoder | but i am searching... |
02:36:59 | rasher | Are you getting the same? |
02:37:05 | austriancoder | yep |
02:37:19 | rasher | okay, at least it's not me being stupid |
02:37:37 | austriancoder | on/off are weird... setting it e.g. to 1 sec works |
02:38:00 | rasher | okay |
02:38:35 | rasher | indeed it does |
02:42:07 | * | austriancoder has maybe found the bug.. |
02:44:52 | austriancoder | found it |
02:44:56 | austriancoder | fixed it |
02:45:00 | austriancoder | will commit it now |
02:45:58 | austriancoder | rasher: could you check it? |
02:50:07 | rasher | yup |
02:51:35 | rasher | Hrm.. doesn't look fixed to me |
02:51:48 | austriancoder | what does it now? |
02:51:56 | rasher | same as before |
02:52:09 | rasher | changing remote-lcd settings>backligt to "on" turns on the main lcd |
02:52:13 | rasher | same for off |
02:52:39 | austriancoder | maybe it needs some time to be in cvs |
02:52:54 | rasher | maybe I need to update from cvs....... |
02:53:25 | austriancoder | revision of apps/settings_menu.c should be 1.177 |
02:53:36 | rasher | yeah.. let me just build again |
02:54:18 | rasher | yup, fixed |
02:54:52 | austriancoder | fine ;) |
02:55:35 | HCl | :) |
02:55:48 | * | HCl can't wait to get the runtime database up and running |
02:56:53 | austriancoder | a gui "lib" for rockbox would be fine... to make advanced apps |
02:57:08 | * | HCl wonders whether markun is still awake |
02:57:09 | HCl | well |
02:57:14 | HCl | you don't need a gui lib to make advanced apps |
02:57:19 | markun | Yes, I am. |
02:57:27 | HCl | but you'll just get advanced apps with a crappy interface |
02:57:30 | HCl | like databox :P |
02:57:45 | HCl | markun: i'm not sure whether i'm gonna pull 11 am tomorrow o.o |
02:57:45 | austriancoder | ;) |
02:58:09 | austriancoder | i want to have a nice user interaface in my next big thing for rockbox |
02:58:44 | austriancoder | but therefore i need c++ |
02:58:53 | HCl | yes. |
02:58:56 | HCl | i highly agree. |
02:59:04 | HCl | i was thinking about the output of the searchengine today |
02:59:11 | HCl | and i found out i needed checkboxes |
02:59:25 | HCl | so you can select certain songs out of the results |
02:59:31 | austriancoder | is c++ allowed/wanted in rockbox code? |
02:59:38 | HCl | lots of core devs are against it.. |
02:59:41 | HCl | i don't know why. |
02:59:47 | rasher | no |
02:59:49 | HCl | they just fear oo, i think :P |
03:00 |
03:00:15 | * | austriancoder has an idea |
03:00:19 | HCl | anyways |
03:00:23 | HCl | you can still do OO |
03:00:24 | HCl | in c |
03:00:28 | HCl | just make a lot of functions |
03:00:32 | HCl | that work on a structure |
03:00:35 | HCl | and pass the structure along |
03:00:40 | HCl | thats how oo compilers work anyways. |
03:00:44 | rasher | if gtk can manage a toolkit in c, so can you, I'm sure |
03:00:47 | austriancoder | if i put the oo code into an lib and use it then.. it should be ok? |
03:01:08 | HCl | austriancoder: unless you already have some code laying around, it should be pretty possible to do oo in C |
03:01:12 | HCl | just by doing it by hand |
03:01:35 | rasher | "They" don't like that anyway |
03:01:39 | austriancoder | i have some code for an gui in opengl |
03:01:48 | austriancoder | but i will do it in c... |
03:01:51 | rasher | (doing oo in c) |
03:02:44 | HCl | struct pie { int bites; } void init_pie(struct pie *p) { p->bites=0; } void take_bite(struct pie *p) { p->bites+=1; } |
03:02:49 | HCl | etc. |
03:02:52 | HCl | rasher: meh. |
03:02:58 | HCl | rasher: i've done it a little for the database stuff. |
03:03:04 | HCl | i couldn't stand it all being unstructurized. |
03:03:10 | austriancoder | where is the "correct" place for such a gui? |
03:03:16 | HCl | mm... |
03:03:20 | HCl | plugin lib |
03:03:23 | HCl | i think? |
03:03:28 | HCl | maybe not. |
03:03:45 | rasher | a general lib would be better - could use it for the entire ui |
03:03:56 | HCl | i dunno how to do that though |
03:04:00 | HCl | and i really need to go to sleep |
03:04:24 | * | HCl is glad france voted against a common law in europe.. |
03:04:36 | HCl | they're beeping trying to turn europe into a second america -.- |
03:04:37 | rasher | wait.. common law? |
03:04:44 | austriancoder | rasher: yeah.. but where to put the source files.. /apps/gui ? |
03:04:46 | HCl | constitution thing.. |
03:04:50 | rasher | we already have traties... |
03:04:53 | rasher | treaties |
03:05:05 | HCl | they want a single constitution thing, for all the countries in europe. |
03:05:11 | rasher | noooooo |
03:05:14 | HCl | it was rejected in france, thank god. |
03:05:16 | rasher | that's not at all what this is |
03:05:26 | HCl | mm? |
03:05:39 | rasher | it's just a set of ground rules for the union |
03:06:44 | HCl | same thing :p |
03:06:53 | rasher | not even close |
03:07:24 | HCl | anyways |
03:07:28 | HCl | i'm glad france voted against :p |
03:07:45 | HCl | i *never* want to see europe united as one country |
03:07:56 | rasher | That's not at all what this is about though |
03:08:09 | HCl | its the first step though :3 |
03:08:13 | rasher | it's just slightly changed rules for stuff that's already there |
03:08:57 | rasher | Are you having a vote on it? |
03:09:02 | HCl | yup :) |
03:09:34 | rasher | I'd seriously encourage reading some more about it instead of voting no because "they want a single constitution thing" |
03:09:50 | HCl | :P i have. |
03:10:45 | * | austriancoder adds an /apps/gui folder |
03:10:54 | HCl | hmm |
03:10:56 | HCl | very good idea |
03:10:58 | HCl | i'll help with that. |
03:11:04 | HCl | i want dropdownboxes, and checkboxes |
03:11:31 | austriancoder | i will convert my opengl gui to a basic rockbox gui.. |
03:11:37 | austriancoder | i want even more ;) |
03:11:43 | HCl | :P |
03:11:44 | Aditya | even better |
03:11:48 | Aditya | make openGL work on rockbox |
03:11:51 | Aditya | that would kick ass |
03:11:52 | Aditya | :P |
03:12:29 | austriancoder | "opengl es" is on my big todo |
03:12:31 | Aditya | it would prob suck up battery like hell.. but hey.. it would def kick ass for the few seconds its on =P |
03:13:19 | austriancoder | HCl: saving gui-structure in XML.. is this ok? |
03:13:25 | HCl | o.o. |
03:13:27 | HCl | wha? |
03:13:42 | HCl | what are you gonna do with xml? |
03:14:47 | austriancoder | at the moment my opengl gui uses xml to save the current gui settings.. like button1 at 5/5 with size of 14x3.. so i can load it and it get paresd |
03:14:54 | austriancoder | so the gui is not hardcoded |
03:16:04 | HCl | well |
03:16:10 | HCl | i wouldn't do that |
03:16:13 | HCl | just hardcode the interface. |
03:16:19 | *** | Saving seen data "./dancer.seen" |
03:16:19 | HCl | you don't want to load it from disk |
03:16:23 | HCl | disk spinup costs battery |
03:16:30 | austriancoder | ah.. ok |
03:16:46 | HCl | we should try to use as little resources as possible |
03:16:52 | HCl | and especially limit hdd accesses |
03:16:57 | austriancoder | oki |
03:17:33 | | Quit ]RowaN[ (Read error: 104 (Connection reset by peer)) |
03:26:53 | | Join amiconn_ [0] (~jens@p54BD63F8.dip.t-dialin.net) |
03:27:41 | HCl | its amiconn! quick! everybody look busy! |
03:27:51 | HCl | o.o |
03:28:34 | austriancoder | HCl: in the gui the main control thing will be the a mouse-pointer.. is this a good idea? |
03:29:16 | HCl | umm. |
03:29:30 | HCl | i'd say something along the lines of up/down/left/right/select/cancel |
03:29:52 | austriancoder | mouse pointer?! |
03:30:12 | austriancoder | joystick click = mouse click |
03:30:14 | HCl | no, no mouse pointer.. |
03:30:28 | HCl | just up/down/left/right to switch to certain controls |
03:30:34 | HCl | like tab in windows |
03:30:48 | HCl | a mouse would really be overkill |
03:30:53 | HCl | nobody wants to use a mouse on their mp3 player |
03:30:59 | austriancoder | oki |
03:31:01 | HCl | let alone one that can only move in one direction at a time |
03:31:11 | HCl | remember you can't go northwest with iriver joystick |
03:31:20 | HCl | or any diagonal, for that matter |
03:31:29 | austriancoder | ahhh.. ok |
03:32:31 | HCl | and other players have less buttons too.. |
03:34:43 | * | HCl goes to sleep now |
03:34:44 | HCl | night. |
03:35:48 | * | austriancoder goes sleeping too |
03:35:54 | | Nick austriancoder is now known as ac_sleep (~austrianc@80.120.117.30) |
03:44:14 | | Quit markun () |
03:45:09 | | Quit amiconn (Read error: 110 (Connection timed out)) |
03:45:09 | | Nick amiconn_ is now known as amiconn (~jens@p54BD63F8.dip.t-dialin.net) |
04:00 |
04:05:35 | | Join QT_ [0] (as@area51.users.madwifi) |
04:09:57 | | Quit QT (Read error: 148 (No route to host)) |
04:42:22 | | Join bipak_ [0] (~bip@p50884F1B.dip.t-dialin.net) |
04:47:16 | | Quit Aditya (Read error: 104 (Connection reset by peer)) |
04:57:57 | | Quit bipak (Read error: 110 (Connection timed out)) |
05:00 |
05:00:29 | | Quit ac_sleep (Read error: 113 (No route to host)) |
05:16:20 | *** | Saving seen data "./dancer.seen" |
05:31:43 | | Nick StrathAFK is now known as Strath (~mike@dgvlwinas01pool0-a216.wi.tds.net) |
05:50:22 | | Join Harpy [0] (ti6SL0V7rf@dsl-hkigw7wbb.dial.inet.fi) |
06:00 |
06:22:19 | | Quit rasher ("CGI:IRC (Ping timeout)") |
06:42:18 | | Quit tvelocity ("Leaving") |
06:51:53 | | Join ashridah [0] (ashridah@220-253-120-5.VIC.netspace.net.au) |
07:00 |
07:16:23 | *** | Saving seen data "./dancer.seen" |
07:38:55 | | Join LinusN [0] (~linus@labb.contactor.se) |
07:46:49 | Bager | morning, Linus |
07:47:59 | amiconn | morning all |
07:49:55 | LinusN | howdy |
07:51:10 | amiconn | There are some red builds :( |
07:52:33 | amiconn | ..and I know why |
07:57:04 | LinusN | "someone" forgot that there are more platforms than iriver |
07:57:17 | Rick | hehe |
07:57:37 | amiconn | Fix committed |
07:57:40 | LinusN | nice |
07:58:43 | Slasheri | morning :) |
07:59:20 | Slasheri | hmm, i am wondering how to keep mad_stream_buffer filled |
08:00 |
08:02:30 | Slasheri | with vorbis and flac this was easy to do but converting mpa2wav seems little harder |
08:02:53 | | Quit Rick (Read error: 54 (Connection reset by peer)) |
08:03:01 | LinusN | it's a little tricky |
08:03:02 | | Join Rick [0] (rick@pool-71-108-23-179.lsanca.dsl-w.verizon.net) |
08:03:41 | LinusN | the mad "stream" is very memory oriented |
08:04:47 | Slasheri | i think that maybe it's possible to use memmove and somehow examine how many bytes are untouched in the buffer? |
08:05:06 | LinusN | you mean when it wraps? |
08:05:57 | Slasheri | yes |
08:06:05 | LinusN | i did like this: |
08:06:42 | LinusN | keep a safety margin at the end of the buffer, enough for one complete frame |
08:07:35 | LinusN | when libmad returns the "incomplete" eror code, copy the rest of the partial frame from the beginning of the buffer to the safety buffer and retry |
08:07:50 | amiconn | Having a memmove() in addition to memcpy() wouldn't be hard, and maybe useful in other places too |
08:07:59 | Slasheri | ah :) |
08:08:05 | amiconn | (thinking about bitmap scrolling...) |
08:08:40 | LinusN | or we can adapt memcpy() and let memcpy and memmove be the same function |
08:08:48 | Slasheri | amiconn: I think too that would be useful to be integrated to rockbox firmware |
08:08:50 | amiconn | Yes, half of it |
08:09:25 | LinusN | meybe i'm missing something, but the only difference is that memmove can handle overlaps |
08:09:29 | amiconn | a memcpy algorithm is in fact rather simple. If (source_address < en_address) |
08:10:05 | amiconn | If (source_address < dest_address) copy_backward(); else copy_forward(); |
08:10:21 | amiconn | We already have copy_forward() aka memcpy() in our code |
08:10:49 | LinusN | yup |
08:10:58 | Slasheri | Hmm, could it be possible without performance degration to modify memcpy to support overlaps too? |
08:11:45 | amiconn | It's possible with almost no performance degradation (the only thing added in code flow is this if()) |
08:12:04 | LinusN | this is the "adapt memcpy()" i talked about |
08:12:07 | amiconn | ...but of course code size will roughly double |
08:12:45 | Bager | so where's the point to do it as one function? |
08:13:15 | Bager | in most c libraries memcpy doesn't handle overlaps |
08:14:10 | amiconn | In fact memcpy usually handles overlaps... but only in one direction, which you won't know if you didn't implement it yourself |
08:14:27 | Bager | yes |
08:15:30 | Bager | i mean that it's almost always said to use memmove() when the 2 buffers overlaps |
08:15:39 | amiconn | yes |
08:16:41 | Bager | so some new developer in most cases will not use memcpy() for such buffers |
08:17:44 | amiconn | Hmm, my red build fix didn't help the iriver sim :( |
08:18:06 | Bager | at least until he realise that there's no memmove and see something as "/* memcpy() handles also overlaps */" or "#define memmove(x,y,z) memcpy((x),(y),(z))" |
08:18:12 | amiconn | My guess is some stubs are missing |
08:19:24 | LinusN | Bager: you're right |
08:19:29 | amiconn | Bagder: Our current memcpy() doesn't handle overlaps, or rather, it only does in one direction (dest < source) |
08:20:21 | Bager | amiconn the usual one (i think) |
08:20:21 | amiconn | My suggestion was to use the forward copy routine, complement it with a backward copy routine, and we would have memove() |
08:20:36 | amiconn | *memmove() |
08:20:42 | Bager | and maybe #define memmove as memcpy |
08:20:57 | amiconn | Then we have one of 2 options for memcpy |
08:21:18 | amiconn | (1) #define memcpy(x, y, z) memmove(x, y, z) |
08:21:48 | amiconn | (2) Use the internal copy_forward path of our memmove() as memcpy(), saving the if() execution |
08:22:09 | amiconn | The latter would pretty much require it to be written in asm |
08:22:15 | Bager | i think this "if" will not cost so much |
08:22:15 | amiconn | (which it currently is) |
08:22:51 | LinusN | the cost of calling the forward() function within memcpy/memmove is a lot worse |
08:23:03 | Bager | LinusN just about to say the same |
08:23:10 | Bager | or it can be inline |
08:23:40 | Bager | which is worse too |
08:23:53 | amiconn | LinusN: why? |
08:24:25 | Bager | amiconn calling a subroutine is more than just "if" |
08:24:30 | amiconn | It wouldn't if we use asm |
08:24:49 | LinusN | true |
08:24:56 | amiconn | Then both copy routines would be like inline in memmove() |
08:25:10 | amiconn | , and memcpy() would simply be an alternative entry point |
08:25:18 | amiconn | (after the if() ) |
08:25:37 | LinusN | how would it then handle the parameter passing? |
08:26:21 | amiconn | Imho there is no difference |
08:26:35 | LinusN | it would have to reread the arguments from the stack over again |
08:26:53 | LinusN | hmm, maybe not |
08:26:56 | amiconn | I don't know that much about the coldfire abi yet, but SH passes the first 4 arguments in r4...r7 |
08:27:05 | LinusN | coldfire uses the stack |
08:27:09 | amiconn | ugly |
08:27:13 | LinusN | yes |
08:28:08 | amiconn | In that case the alternative entry point must be separate from the main code thread, fetching the parameters from the stack and then jump into the main routine |
08:28:25 | amiconn | An unconditional jump shouldn't be that costly |
08:28:25 | LinusN | yup |
08:28:43 | LinusN | there are many ways of solving that |
08:28:59 | Bager | amiconn but uncond. jump + getting parameters from stack ? |
08:29:09 | Bager | comparing to conditional jump ? |
08:29:19 | Bager | (if) |
08:29:34 | amiconn | Getting the parameters from the stack is necessary for memmove() also |
08:29:53 | Bager | oh, yes |
08:29:57 | Bager | forgot about it |
08:30:03 | amiconn | So the only question is whether it's worth to replace a conditional jump with an unconditional one |
08:30:26 | amiconn | If not, the simple #define solution would be sufficient |
08:31:15 | Bager | the question then is how more costy is conditional j. compared to uncond ... |
08:31:15 | amiconn | It's test+conditional jump vs. unconditional jump of course |
08:31:40 | Bager | yes |
08:32:47 | Bager | and this overhead compared to all cycles in copy_forward |
08:42:56 | amiconn | LinusN: Iriver sim should be fixed now too |
08:43:06 | LinusN | nice |
08:56:12 | amiconn | There are no current dailies for the platforms that were red... :/ |
09:00 |
09:05:21 | LinusN | i don't think that's much of a problem |
09:07:29 | | Join B4gder [0] (~d559bcbf@labb.contactor.se) |
09:07:59 | B4gder | g'day |
09:08:08 | LinusN | shalom |
09:08:54 | B4gder | back to fight Qt |
09:09:19 | LinusN | may the source be with you |
09:12:19 | LinusN | amiconn: did you have problems with weak symbols when you tested gcc 4.0? |
09:14:44 | amiconn | yup |
09:15:03 | LinusN | which binutils? |
09:15:15 | amiconn | Or rather, I had the problem that system.c defines aliases to symbols that are defined within an asm block |
09:15:33 | amiconn | ...which is prevented to work by the new 'feature' of gcc 4.0 |
09:16:18 | amiconn | "Given __attribute__((alias("target"))) it is now an error if target is not a symbol, defined in the same translation unit" |
09:16:26 | *** | Saving seen data "./dancer.seen" |
09:16:39 | amiconn | Obviously an asm block within a .c is not considered 'the same translation unit' |
09:16:58 | amiconn | I tried with binutils 2.16 |
09:17:27 | Slasheri | Hmm, i am not sure how to do this but at least the following wont work at all: |
09:17:33 | Slasheri | | size = &InputBuffer[INPUT_BUFFER_SIZE-1] - Stream.next_frame; |
09:17:33 | Slasheri | | memcpy(&InputBuffer[0], Stream.next_frame, size); |
09:17:33 | Slasheri | | size = ci->read_filebuf((char *)Stream.next_frame, size); |
09:17:33 | DBUG | Enqueued KICK Slasheri |
09:17:33 | Slasheri | | if (size == 0) |
09:17:33 | Slasheri | | break ; |
09:17:35 | Slasheri | | mad_stream_buffer(&Stream, InputBuffer, INPUT_BUFFER_SIZE); |
09:18:41 | Slasheri | I tried to run that buffer refilling code after each decodec frame but it will just crash the system :) |
09:19:12 | | Nick Lynx_awy is now known as Lynx_ (HydraIRC@134.95.189.59) |
09:19:37 | Ctcp | Ignored 1 channel CTCP requests in 0 seconds at the last flood |
09:19:37 | * | B4gder doesn't understand the snippet |
09:19:49 | Slasheri | :D Maybe LinusN can get the idea |
09:20:05 | amiconn | yeah, finally! :) My latest test recording contains an overwritten block at the beginning. Used a test build of rockbox with enabled timecode... |
09:20:45 | B4gder | what does read_filebuf() do? |
09:21:05 | | Join bobTHC [0] (~foo@l05v-25-229.d1.club-internet.fr) |
09:21:37 | Slasheri | B4gder: it's on codec api, it copies n bytes from filebuffer to a given pointer |
09:22:25 | B4gder | so why is there a memcpy() ? |
09:22:56 | Slasheri | Ah, that was used to move already existing bytes to the beginning of the mad's input buffer |
09:23:54 | LinusN | Slasheri: next_frame can be NULL |
09:24:26 | LinusN | it will be null when you start decoding, since it hasn't synced |
09:24:53 | Slasheri | okay, hmm.. would it work if i just continue the decode and then refill the buffer when next_frame is not null anymore? |
09:26:28 | Slasheri | trying that.. |
09:27:38 | LinusN | you are supposed to check Stream.error |
09:27:53 | Slasheri | Hehe, looks a little bit better ;) Now i am not getting a screen filled with random pixels but IllInstr. |
09:28:06 | Slasheri | Hmm, i am doing that at the beginning of loop |
09:28:31 | LinusN | something like if(Stream.buffer==NULL || Stream.error==MAD_ERROR_BUFLEN) |
09:28:59 | LinusN | if this condition is true, you have to reinit the stream |
09:29:23 | LinusN | depending on if next_frame is NULL or not |
09:29:31 | Slasheri | Ah, ok. I will do that |
09:29:34 | amiconn | LinusN: It's pretty clear now what that overwritten block is |
09:29:44 | LinusN | amiconn: great, what is it? |
09:30:19 | amiconn | It happens when the first save operation isn't fast enough and the buffer overruns |
09:30:34 | amiconn | It's the beginning of the second "round" |
09:30:37 | LinusN | aha |
09:30:43 | amiconn | ...pretty clear from the timecode |
09:30:51 | LinusN | nice catch |
09:31:01 | LinusN | i expect a nice fix too :-) |
09:31:03 | amiconn | I'll rework that part anyway |
09:31:29 | LinusN | might be the source of many corrupt recordings |
09:31:43 | amiconn | ...unifying the file save code (currently there is more than one place), and fix the size limit/ time split issue |
09:32:43 | LinusN | Slasheri: could i see your current code? |
09:33:27 | Slasheri | LinusN: Hmm, if you want to. It works now much better but still there is lot to do (and currently cpu is running constantly at the highest frequency) |
09:34:02 | LinusN | i just want to see where you're heading |
09:34:15 | Slasheri | ok, i will make a patch :) |
09:34:54 | Slasheri | (btw, developing the pcm buffer stuff requires also some code to test it with :) |
09:34:58 | LinusN | i just want to make sure that your code won't be too hard to merge into rockbox |
09:35:06 | Slasheri | ah, great |
09:35:25 | LinusN | don't forget pcm.c/c :-) |
09:35:32 | LinusN | .c/h |
09:35:34 | Slasheri | it's not pretty clean at this stage, but it can be separated better in future :) |
09:35:49 | LinusN | Slasheri: excuses, excuses... :-) |
09:35:57 | Slasheri | Hmm, do you know any way how i could include those files in the same patch? |
09:35:58 | Slasheri | :D |
09:40:28 | LinusN | not sure if that's possible |
09:40:52 | LinusN | not without cvs add |
09:41:08 | LinusN | for which you have no access :-) |
09:41:18 | Slasheri | ok, i will then put the files individually |
09:41:20 | Slasheri | ;D |
09:42:17 | amiconn | Should be possible with the ordinary 'diff' command, but that requires 2 cvs working copies |
09:42:24 | LinusN | yes of course |
09:42:30 | amiconn | One plain checkout, and one with the modifications |
09:42:52 | Slasheri | http://ihme.org/~miipekk/rockbox/ |
09:43:04 | Slasheri | The files should be there |
09:43:30 | Slasheri | codeclib* should go to apps/plugins/lib, codecvorbis etc. -> plugins/ and pcm* apps/ |
09:43:51 | Slasheri | and that codeclib is just a quick hack, not even near a final version |
09:46:16 | Slasheri | note to all that patch is not useful for anybody, because there is little issue with filebuffer refilling |
09:47:15 | ashridah | i'll make sure it ends up on misticriver then |
09:47:19 | ashridah | >:) |
09:48:09 | Slasheri | at least you should wait that gapless mp3 decoding is fully working too |
09:48:32 | Slasheri | (currently mp3 decoding won't work at all) |
09:49:26 | ashridah | i don't care about mp3. |
09:49:29 | * | ashridah huggles vorbis |
09:49:52 | Slasheri | :) |
09:50:22 | Slasheri | still there are a few minor problems with code that prevents a good experience |
09:50:28 | Slasheri | you should just wait little more :) |
09:51:15 | LinusN | i think the whole InputBuffer concept is crap |
09:51:35 | LinusN | we have enough problems with too much copying of data |
09:51:52 | Slasheri | hmm, yes. It would be great to get rid of it |
09:52:01 | Slasheri | Maybe some modifications to libmad? |
09:52:15 | LinusN | not necessary |
09:52:52 | LinusN | the only problem with libmad is that it expects the buffer to contain entire frames |
09:53:37 | LinusN | we have the mp3 data in our file buffer already, so we should use that for the Stream |
09:54:00 | Slasheri | yep |
09:54:11 | LinusN | and not use InputBuffer |
09:54:49 | LinusN | we will need special treatment of the BUFLEN case |
09:56:00 | LinusN | my idea is to not use the entire file buffer, but keep a "guard" area at the end, enough to hold a complete frame |
09:56:55 | LinusN | so when the last frame in the buffer is incomplete, copy the rest of the frame to there |
09:57:18 | Slasheri | Hmm, i think that is good idea |
09:57:31 | Slasheri | Should be easy to implement to file buffer |
09:57:56 | LinusN | and when we wrap the file buffer, init the stream to (bufstart+remaining_frame_size) |
10:00 |
10:00:19 | LinusN | why do you open and close the mp3 file for every refill? |
10:00:26 | LinusN | in pcm.c? |
10:00:57 | dwihno | Bug report: When the playlist ends in "locked mode", the lock flag is cleared and the lock icon remains |
10:01:08 | Slasheri | Ah, i didn't know if it's a good idea to cache file descriptors |
10:01:16 | Slasheri | But i can change the code to do that |
10:01:16 | LinusN | cache? |
10:01:23 | LinusN | just leave the file open |
10:01:32 | LinusN | then you don't need a constly seek() |
10:01:33 | Slasheri | yes, i meant that :) |
10:01:37 | LinusN | costly |
10:01:50 | Slasheri | okay, changing that :) |
10:01:53 | LinusN | Slasheri: you should really at least peek at mpeg.c |
10:02:14 | LinusN | where we have implemented all this for the archos |
10:02:27 | Slasheri | ah, i will change that also |
10:02:57 | Slasheri | (i am not really sure how the playlist handling should be done) |
10:03:09 | LinusN | also implemented in mpeg.c |
10:03:21 | LinusN | no need to invent the wheel again |
10:03:22 | Slasheri | great, so no need to worry about it :) |
10:08:04 | LinusN | by the way, i *think* audio.c might be a better name for pcm.c |
10:08:40 | Slasheri | yes, pcm is quite missleading :) |
10:09:07 | Slasheri | if you think audio.c would be ok, i will rename the file later |
10:09:14 | LinusN | hence AUDIO_PLAY, AUDIO_STOp etc |
10:12:15 | LinusN | so a codec will run until it reaches the end of the stream, or ci->stop_codec == true? |
10:13:30 | Slasheri | that's correct |
10:13:46 | LinusN | how do you handle track changes? |
10:13:56 | Slasheri | i don't handle yet :) |
10:14:04 | LinusN | oh |
10:14:08 | Slasheri | i am just planning how to do it |
10:14:45 | Slasheri | or track changes are handled when codecs exit etc. but real track change point in audiobuffer is not set yet |
10:15:08 | LinusN | if we want gapless mp3, the mp3 decoder must not know about it |
10:15:09 | Slasheri | so tracks will change however, but we don't know the exact time when it has changed for real |
10:15:26 | LinusN | if the codec exits, there will be a gap |
10:15:32 | Slasheri | of course it won't know |
10:15:43 | Slasheri | no, there is not if the new codec can be loaded in time |
10:15:55 | Slasheri | Depending on audiobuffer size, there is much time to do it |
10:16:23 | LinusN | the mp3 decoder will reinit on each codec load |
10:16:23 | Slasheri | (ogg is currently gapless and the codecs will exit) |
10:16:37 | LinusN | this losing the bit reservoir etc |
10:16:40 | LinusN | thus |
10:16:58 | LinusN | so the mp3 decoder must remain loaded and just be fed the new stream data |
10:17:07 | Slasheri | ah, ok |
10:18:49 | Slasheri | i will investigate that more on later when the mp3 codec is working somehow |
10:18:56 | LinusN | sure |
10:20:17 | | Nick DMJC-sleep is now known as DMJC (~James@220-245-174-50-sa-pppoe.tpgi.com.au) |
10:25:41 | LinusN | what happens if you stop the music when codec_filebuf_callback() is waiting for copy_n > cur_ti->available? |
10:26:48 | LinusN | you should probably handle ci->stop_codec there too |
10:26:51 | Slasheri | good notice, it will lock the codec |
10:26:59 | Slasheri | yes, correcting that :) |
10:27:15 | LinusN | gotta attend a meeting |
10:27:17 | LinusN | cu later |
10:27:20 | Slasheri | bye :) |
11:00 |
11:14:16 | LinusN | back |
11:15:01 | bobTHC | linus strike back ;) |
11:16:29 | *** | No seen item changed, no save performed. |
11:16:35 | LinusN | Slasheri: why do you have your own tolower() function? |
11:18:49 | Slasheri | LinusN: is there any similar in rockbox already i could use? |
11:19:15 | LinusN | well, there is...let's see...tolower() :-) |
11:19:23 | LinusN | ctype.h |
11:19:35 | Slasheri | Ah, i have to use it then =) |
11:20:02 | Slasheri | But when i last tried, the linker didn't found any tolower |
11:20:11 | Slasheri | Maybe it should be linked too |
11:20:11 | | Join webguest43 [0] (~d99b54b6@labb.contactor.se) |
11:20:18 | LinusN | probably because tolower() is a macro |
11:20:22 | webguest43 | WOOT Slasheri go ! |
11:20:29 | LinusN | and you forgot ctype.h |
11:20:36 | Slasheri | But now i gotta go to work. See you later in the evening :) |
11:20:44 | Slasheri | :) |
11:20:52 | webguest43 | dont get run over by a bus please ! |
11:20:54 | LinusN | could you upload the latest patch first? |
11:21:08 | webguest43 | ah, same thought, different sentence ! |
11:21:10 | Slasheri | webguest43: thanks for the advice, i am trying to get inside the bus ;) |
11:21:52 | Slasheri | LinusN: the current found from the web is the latest |
11:21:56 | | Quit webguest43 (Client Quit) |
11:21:59 | LinusN | okay |
11:22:09 | | Nick QT_ is now known as QT (as@area51.users.madwifi) |
11:22:11 | Slasheri | (there is only some minor fixin i have made) |
11:22:37 | LinusN | i'll perhaps fix it up and commit some stuff |
11:22:44 | Slasheri | oh :) |
11:22:54 | LinusN | makes it easier to track changes |
11:23:13 | Slasheri | hmm, indeed |
11:23:46 | * | Slasheri wants to use cvs on some parts too :) |
11:24:02 | | Join asdsd____ [0] (~asdsd@h-67-100-30-210.miatflad.dynamic.covad.net) |
11:24:07 | | Part asdsd____ |
12:00 |
12:08:59 | | Join stripwax_ [0] (~stripwax_@213-228-241-36.dsl.prodigynet.co.uk) |
12:09:03 | stripwax_ | ello |
12:09:40 | bobTHC | hi |
12:33:45 | Bager | h |
12:52:10 | | Quit stripwax_ (Read error: 110 (Connection timed out)) |
12:52:31 | | Quit ashridah ("Leaving") |
12:52:48 | | Join ashridah [0] (ashridah@220-253-120-5.VIC.netspace.net.au) |
13:00 |
13:16:32 | *** | Saving seen data "./dancer.seen" |
13:20:13 | | Join preglow [0] (thomj@s183a.studby.ntnu.no) |
13:20:52 | | Join lostlogic [0] (~lostlogic@node-4024215a.mdw.onnet.us.uu.net) |
13:26:29 | | Join cYmen [0] (~cymen@nat-ph3-wh.rz.uni-karlsruhe.de) |
13:36:13 | | Join Chamois [0] (~Chamois@champigny-5-82-226-182-23.fbx.proxad.net) |
14:00 |
14:01:21 | B4gder | perhaps we should make the logf logging feature a configure-time option |
14:02:25 | LinusN | good idea |
14:02:54 | preglow | hmm |
14:02:58 | amiconn | I agree. |
14:03:01 | preglow | a mail with more opts from the wavpack guy |
14:03:27 | amiconn | In fact that's what I suggested some days ago - make the logf()-enabled builds a special kind of debug builds |
14:03:30 | LinusN | preglow: c00l |
14:03:52 | B4gder | yes, and it could be the start of doing that for more (devloper related) options |
14:04:01 | amiconn | B4gder: Is that logf() stuff also working on archos? |
14:04:07 | B4gder | yes |
14:04:30 | preglow | ahaha |
14:04:37 | preglow | including a five hundred line assembly routine |
14:05:17 | B4gder | amiconn: only it then of course requires you to browse the log on the main lcd |
14:05:28 | amiconn | Of course |
14:05:35 | B4gder | but I'll also make a "dump log to file" feature I think |
14:06:10 | Bager | preglow: asm optimisations ? |
14:06:16 | amiconn | Btw, is it possible to use gdb with the serial mod only, i.e. without uart? |
14:06:20 | preglow | Bager: aye |
14:06:30 | Bager | *optimiZations |
14:06:38 | preglow | optimisations is legal |
14:06:41 | amiconn | Bagder: are you american? |
14:06:42 | preglow | it's the english spelling |
14:06:49 | Bager | amiconn i'm bulgarian |
14:06:52 | amiconn | Erm, Bager I mean |
14:06:53 | bobTHC | :) |
14:07:15 | LinusN | amiconn: "without uart"? |
14:07:15 | preglow | only americans have the craving to put in 'z' in all their words |
14:07:20 | | Quit Chamois (" HydraIRC -> http://www.hydrairc.com <- IRC has never been so good") |
14:07:26 | bobTHC | lol |
14:07:27 | amiconn | LinusN: I mean without uart boot mod |
14:07:29 | Bager | well, i wrote it, checked it after that in my dictionary ... obviously american-english dict... |
14:07:45 | LinusN | amiconn: uart boot mod is only for flash recovery |
14:08:02 | Bager | preglow: americans like things to be as easy as possible ... |
14:08:05 | amiconn | How do I load the stub then? |
14:08:16 | LinusN | amiconn: play the ajz |
14:08:20 | LinusN | stub.ajz |
14:08:29 | amiconn | Ah, of course |
14:08:40 | * | amiconn is a bit retarded today |
14:09:25 | amiconn | Then loading the binary via serial... will take a while |
14:09:27 | | Join ehntoo [0] (~noclue2@24-177-161-77.dhcp.mrqt.mi.charter.com) |
14:09:38 | LinusN | yes |
14:09:40 | amiconn | Would it be possible to integrate stub & binary? |
14:10:00 | LinusN | should be |
14:10:19 | amiconn | Hmm, maybe it doesn't load because it's likely >> 200 KB |
14:10:30 | LinusN | possibly |
14:10:55 | amiconn | Rockbox should still be able to rolo that. Only archos loader is limited |
14:11:03 | LinusN | yup |
14:31:14 | B4gder | ok, so (D)ebug builds become (D)evel builds with a new submenu (in configure) |
14:32:07 | | Join rasher [0] (~3e4f4094@labb.contactor.se) |
14:36:34 | preglow | but ok |
14:36:46 | preglow | is it redundant to check SIMULATOR define if CONFIG_CPU is being checked? |
14:37:43 | B4gder | currently I think it is, but I think it looks better if the sim check is there |
14:38:06 | preglow | ok |
14:39:49 | rasher | preglow: 500 lines of *coldfire* assembly? |
14:40:52 | LinusN | B4gder: and how do you configure debug builds then? |
14:41:30 | | Quit Ka ("* poof *") |
14:41:53 | B4gder | selecting devel pops up another menu that allows several options, debug build being one, logf enable being one |
14:42:04 | LinusN | aha |
14:42:20 | B4gder | currently I'm trying to figure out how to select simulator with logf enabled... :-) |
14:42:25 | preglow | rasher: aye |
14:46:01 | rasher | preglow: That's pretty great |
14:46:19 | preglow | yeah, i'll check out the improvements later |
14:46:36 | preglow | think i'll commit it anyway, even though i do see some stuff i'm wondering about |
14:46:40 | preglow | that can be fixed later anywho |
15:00 |
15:00:49 | B4gder | committed |
15:02:57 | LinusN | B4gder: did you update the autobuilds as well? |
15:03:29 | B4gder | I don't think we have any autobuild that uses this |
15:04:00 | LinusN | ah yes, we removed the debug builds |
15:07:25 | | Quit RED_M_INFINITY (Read error: 54 (Connection reset by peer)) |
15:11:15 | | Join Musicmad [0] (~Musicmad@cpe.atm2-0-1031198.0x50a4ad0e.bynxx13.customer.tele.dk) |
15:12:08 | Musicmad | hi all - what's the news on audio output? :) |
15:12:30 | LinusN | not much |
15:12:50 | Musicmad | Sounded like Slasheri made good progress? |
15:13:04 | LinusN | well, it plays music |
15:13:51 | LinusN | still a fairly long way to go before it is usable |
15:13:51 | Musicmad | excellent - can't hardly wait. |
15:14:03 | LinusN | but we're working on it |
15:14:06 | B4gder | you don't have to wait |
15:14:15 | Musicmad | I don't? :) |
15:14:19 | B4gder | you can join in and help |
15:14:31 | B4gder | :-! |
15:14:45 | Musicmad | B4gder: I'd love to. What can I do? - mediocre C programmer unfortunately. |
15:15:24 | LinusN | this is your chance to go beyond mediocre |
15:15:28 | B4gder | there's plenty of things to do |
15:15:51 | B4gder | will is more important than skill |
15:16:33 | *** | Saving seen data "./dancer.seen" |
15:17:18 | Musicmad | ok - i'd love to look into some wma stuff if it makes sense? |
15:17:52 | B4gder | please do |
15:18:22 | B4gder | there seems to exist a floating point decoder |
15:18:33 | Musicmad | and it has to be integer? |
15:18:51 | Musicmad | or fixed point or whatever. |
15:18:51 | preglow | Musicmad: i'd steer clear of that if you don't have any fixed point experience |
15:19:00 | Musicmad | hm ok. |
15:19:18 | preglow | but of course, nothing is in a critical hurry, you could use however long you want on it |
15:19:28 | Musicmad | I'll just start working on DRM then :) |
15:19:32 | preglow | haha |
15:19:54 | B4gder | well music playback is not the only area that still lacks |
15:20:07 | LinusN | Musicmad: you could start with adapting some plugins to the iriver |
15:20:22 | B4gder | indeed, that is good rockbox practise |
15:20:27 | Musicmad | sounds great. |
15:20:38 | Musicmad | screensize/orientation etc. |
15:20:47 | LinusN | exactly |
15:21:10 | LinusN | Musicmad: the "documentation" page on www.rockbox.org is a nice place to start |
15:21:36 | LinusN | there you will find "First-time guide to Rockbox Development" |
15:23:22 | Musicmad | I'll have a look thanks. For now I'm buying pizza for everyone (once my paypal account get's accepted. :) ) |
15:23:41 | * | B4gder likes pizza |
15:23:46 | preglow | ooooh, pizza |
15:23:47 | LinusN | mmm, i'll have a Calzone with garlic |
15:24:25 | LinusN | is beer included? |
15:24:31 | Musicmad | naturally |
15:25:02 | LinusN | hver gang |
15:25:26 | preglow | jasså? |
15:25:39 | Musicmad | tuborg ? |
15:26:01 | LinusN | :-) |
15:26:27 | * | LinusN noticed Musicmad is from denmark |
15:26:39 | rasher | Oooh, another Dane! |
15:26:53 | * | Musicmad noticed too |
15:26:55 | B4gder | oh no, they're increasing! |
15:26:59 | B4gder | :-) |
15:27:18 | rasher | I was beginning to wonder if I was the only one using Rockbox, but then.. there *was* a Danish translation already |
15:27:33 | * | LinusN has to go |
15:27:35 | Musicmad | hehe |
15:27:37 | preglow | gday |
15:27:38 | LinusN | cu all |
15:27:44 | | Part LinusN |
15:27:46 | Musicmad | I gotta go too. brb. |
15:34:49 | Musicmad | is this one uptodate? http://www.rockbox.org/twiki/bin/view/Main/CygwinDevelopment |
15:35:08 | Musicmad | has some problems the last time with Erics mirror. |
15:35:08 | rasher | Think so |
15:35:14 | Musicmad | hm ok |
15:35:20 | preglow | wavpack is back to 270% realtime again |
15:35:20 | Musicmad | had some problems even |
15:35:29 | rasher | Hrm, you shouldn't use his mirror I think |
15:35:31 | B4gder | well, you don't need much of his stuff I believe |
15:35:44 | rasher | not for coldfire at least |
15:36:20 | rasher | See http://www.rockbox.org/twiki/bin/view/Main/CrossCompiler instead |
15:36:22 | Musicmad | ok - I'll have another go when I get home from work. |
15:36:27 | Musicmad | thanks rasher |
15:36:47 | rasher | That's instead of using erics mirror |
15:38:27 | amiconn | Bagder: Why didn't you use #ifdef ROCKBOX_HAS_LOGF in SOURCES instead of logf.c / logf.h ? |
15:39:01 | B4gder | oversight |
15:39:08 | B4gder | but it needs to be in logf.h anyway |
15:39:11 | Musicmad | ok thanks - I'll have a look. Can't promise any results though. But we'll see. |
15:39:26 | HCl | whats up |
15:39:29 | HCl | anything committed yet? :p |
15:40:18 | amiconn | Bagder: That would save some compile time, especially on cygwin |
15:41:50 | preglow | Musicmad: results aren't required |
15:42:08 | preglow | just give it a shot, if you like coding rockbox, results will show up sooner or later ;) |
15:42:24 | Musicmad | preglow: sounds like a plan thanks. |
15:42:25 | thegeek | amiconn : got your iriver yet? |
15:43:32 | B4gder | amiconn: thanks for pointing it out, fixed now |
15:43:53 | ashridah | what's the difference between debug and logf? |
15:44:14 | B4gder | debug defines DEBUG |
15:44:28 | B4gder | logf enables the logf logging |
15:44:36 | ashridah | and logf is... log to file? |
15:44:38 | B4gder | debug is very rarely used for anything |
15:44:51 | B4gder | logf is logging to an internal cyclic buffer |
15:45:00 | B4gder | and displayed on the remote LCD |
15:45:41 | B4gder | meant for printf()-style debugging |
15:46:20 | B4gder | I''ll make a write log to file function too |
15:47:29 | amiconn | 'write log to serial' might be useful as well |
15:47:33 | HCl | sounds great. |
15:47:41 | amiconn | Simpler than using a gdb stub |
15:47:47 | B4gder | yes |
15:47:55 | amiconn | One could hookup one of these serial lcd modules... |
15:48:54 | | Join FRA|98702977 [0] (~atmxolwjg@29.237.100-84.rev.gaoland.net) |
15:49:33 | amiconn | Is it possible to read the cyclic buffer later, e.g. from the debug menu after doing something that writes to that buffer? |
15:49:57 | B4gder | yes |
15:50:23 | B4gder | there's a logf entry in the debug menu |
15:50:29 | B4gder | it shows the log |
15:50:38 | B4gder | and I've meant to make it possible to scroll up/down in it |
15:50:45 | rasher | Do plugins get to use logf? |
15:50:50 | amiconn | How long is that buffer? |
15:51:02 | B4gder | the buffer is 1000 entries, 16 bytes each |
15:51:18 | amiconn | Maybe that is useful for debugging the recording issues on archos... |
15:51:25 | B4gder | rasher: yes, we should allow them |
15:51:51 | B4gder | we should just take care so that using it still works when rockbox is built without it |
15:52:23 | amiconn | ...preferably without leaving empty functions, imho |
15:52:29 | rasher | Won't plugins just have to check #ifdef HAVE_LOGF_IFORGOTTHENAMEOFTHISDEFINE |
15:52:57 | amiconn | Btw, there's a problem with the lcd_update() macro for players in case someone uses lcd_update() in a plugin |
15:53:27 | | Quit Musicmad ("Trillian (http://www.ceruleanstudios.com") |
15:53:36 | amiconn | lcd_update() evaluates to nothing for the player, so rb->lcd_update(); folds to rb->; which clearly won't work |
15:53:54 | B4gder | rasher: currently we can use logf() in the code without caring if it is defined or not... |
15:54:34 | rasher | ah |
15:55:03 | B4gder | and... the logf() define will have the same problem as amiconn mentions... :-/ |
15:56:26 | B4gder | we should figure out a fix |
16:00 |
16:02:36 | Bager | inline empty function ? |
16:03:51 | | Quit uski (Read error: 110 (Connection timed out)) |
16:05:10 | amiconn | Bager: Impossible as soon as there's a pointer to that function |
16:06:13 | | Quit DMJC ("Leaving") |
16:06:34 | Bager | you mean that there can't be inline function called through a pointer ? |
16:07:09 | amiconn | Yes of course |
16:07:19 | Bager | yeah |
16:08:36 | Bager | true ... didn't think about the fact that the entry point is not known at compile time ... |
16:08:52 | | Join markun [0] (~markun@bastards.student.utwente.nl) |
16:09:43 | markun | amiconn: do you have time to take a quick look at the way I'm now implementing lcd_bitmap? |
16:10:15 | * | preglow cheers for markun! |
16:10:29 | markun | It's not as fast as I had hoped so maybe you have some suggestions.. |
16:12:16 | | Quit bobTHC (Read error: 60 (Operation timed out)) |
16:12:17 | markun | preglow: I send some hints for optimizing the tremor decoder to pedro, but got no reply. Does he ever come here on irc? |
16:13:11 | | Join Fish_BASC [0] (~herfish@82.150.39.125) |
16:13:18 | Fish_BASC | !list |
16:13:31 | ashridah | hahahaha |
16:13:32 | Bager | Fish_BASC wrong channel |
16:13:43 | Fish_BASC | thans |
16:13:45 | Fish_BASC | k |
16:13:48 | Bager | and maybe wrong server ... |
16:13:55 | B4gder | markun: yes, he's been here before at least |
16:13:56 | Fish_BASC | could be |
16:13:57 | preglow | markun: yes he does |
16:14:04 | preglow | markun: what was it about? |
16:14:20 | | Part Fish_BASC |
16:15:17 | markun | I send him a link to the thesis of the guys who got decoding from 23 seconds to 8 seconds on their dsp (imdct implemented by fft). |
16:15:36 | markun | I noticed libfaad2 also uses fft for imdct. |
16:15:46 | preglow | i've mentioned that to him |
16:15:50 | markun | ok |
16:16:16 | preglow | liba52 also uses fft for imdct |
16:16:20 | preglow | so it's pretty common, it seems |
16:16:35 | markun | Now we just need a very fast fft. |
16:16:52 | rasher | ffft |
16:16:53 | amiconn | Bager: The problem is not that the entry point isn't known, but that you can't call an inlined function from the outside. So as soon as there is a pointer to a function declared inline, the compiler has to add a non-inlined version as well |
16:18:00 | Bager | amiconn sorry for misunderstanding ... |
16:18:21 | | Join dapureplaya [0] (~anon@CPE-144-136-75-224.nsw.bigpond.net.au) |
16:20:01 | | Quit B4gder ("CGI:IRC") |
16:20:23 | markun | amiconn: http://130.89.160.166/rockbox/lcd-h100.c |
16:21:47 | | Join telliott [0] (~telliott@208-251-255-120.res.evv.cable.sigecom.net) |
16:21:55 | markun | Could you take a look at lcd_bitmap and comment on my current implementation? |
16:22:48 | telliott | How do I make an up to date id3 database? I guess the tools I have are out of date. |
16:25:53 | rasher | telliott: update the tools and follow http://www.rockbox.org/twiki/bin/view/Main/TagDatabase |
16:26:53 | telliott | Thanks |
16:29:36 | amiconn | markun: That approach is similar to what I thought of, with some differences |
16:30:05 | markun | Do you think your diffenreces would improve the speed? |
16:30:50 | amiconn | I would to do the alignment in the monochrome bitmap domain, and then map to 2-bit |
16:32:12 | amiconn | Another idea would be to have a set of block functions, implementing the various draw modes, and call these from all higher level functions that perform block drawing via a pointer array |
16:32:30 | amiconn | lcd_mono_bitmap(), lcd_fillrect(), lcd_vline()... |
16:32:54 | amiconn | Did you have a look at the graphics api proposal recently? |
16:33:06 | amiconn | There are some changes |
16:33:22 | markun | no, not yet. I first wanted to get lcd_bitmap() faster because it was very slow at 11MHz. Now it's ok. |
16:33:29 | | Join Aditya [0] (~Aditya@pcp09495878pcs.nrockv01.md.comcast.net) |
16:34:18 | amiconn | I wanted to go the other way. First, adapt all targets to the new api, then add greyscale |
16:35:19 | amiconn | I hope that the new api will yield faster, more flexible and more compact functions at the same time |
16:36:10 | amiconn | The greatest potential lies within lcd_fillrect() (both opaque and invert) |
16:42:03 | | Quit dapureplaya () |
16:52:33 | preglow | assembly! |
16:55:04 | | Part telliott |
17:00 |
17:00:34 | | Quit markun () |
17:16:35 | *** | Saving seen data "./dancer.seen" |
17:17:34 | | Quit ashridah ("Leaving") |
17:32:50 | | Join bg [0] (~chatzilla@c24.241.230.113.mad.wi.charter.com) |
17:33:29 | bg | been a while since i checked in, how close is rockbox to playing realtime mp3 on iriver? |
17:34:51 | bg | ill just check the log later for a response, out |
17:34:54 | | Quit bg (Client Quit) |
17:35:30 | preglow | hahah |
17:35:36 | preglow | it's closer than it was a week ago |
17:39:22 | | Join TCK- [0] (TCK@81-86-102-225.dsl.pipex.com) |
17:44:55 | | Join tvelocity [0] (~tony@ipa179.6.tellas.gr) |
17:49:08 | | Quit Nibbler (Remote closed the connection) |
17:49:38 | | Join asdsd____ [0] (~asdsd@h-67-100-30-210.miatflad.dynamic.covad.net) |
17:50:27 | | Part asdsd____ |
17:56:45 | | Quit TCK (Read error: 110 (Connection timed out)) |
18:00 |
18:06:49 | Slasheri | hi :) |
18:06:57 | Slasheri | now working on gapless mp3 playback |
18:07:38 | preglow | w00t |
18:07:41 | Slasheri | bg: most of the codecs already support realtime-operation |
18:07:57 | preglow | probably |
18:08:03 | preglow | musepack doesn't |
18:08:13 | preglow | but that shouldn't be too hard |
18:09:51 | | Join Querty_mob [0] (~Querty_mo@213.194.63.253) |
18:10:36 | preglow | only thing that's bad is it's using a very large struct for passing information |
18:10:46 | preglow | so large it won't fit in iram, so it has to be split up or something :/ |
18:11:18 | Slasheri | hmm :/ |
18:11:49 | Slasheri | btw, libmad requires almos 0x1000 bytes more stack than vorbis does |
18:12:10 | Slasheri | that was the reason for crash at early testing |
18:12:29 | | Quit FRA|98702977 () |
18:12:58 | Slasheri | or it might not require that much when all internal buffers has been removed (now working on that) |
18:13:10 | preglow | libmad requires very much stack |
18:13:25 | preglow | there are some very large buffers in some routines |
18:13:52 | preglow | some of them needs to be there for speed, btw |
18:14:01 | | Join uski [0] (~uski@84.100.237.29) |
18:14:13 | preglow | so you might as well leave them there and use a large stack |
18:15:18 | preglow | since the iram will need to be used anyway |
18:15:23 | Slasheri | hmm, yep. But at least extra inputbuffer will be removed |
18:15:34 | preglow | how large is the main stack, btw? |
18:15:40 | preglow | last time i checked, that was very big |
18:15:46 | preglow | unnecessarily so, i think |
18:16:05 | Slasheri | I am not sure about that. What is the best/right way to reduce mainstack size? |
18:16:31 | amiconn | Slasheri: I like your idea to put the codec into the audio buffer whenever a new codec is needed |
18:16:59 | Slasheri | amiconn: Hmm, thanks :) (in fact it's file buffer) |
18:17:00 | preglow | wasn't that the plan all along |
18:17:00 | preglow | ? |
18:17:26 | Slasheri | However, currently the codec buffering is quite dumb because it places the codec everytime in the buffer, even if the codec has not changed |
18:17:31 | Slasheri | That will be fixed too |
18:17:47 | Slasheri | Hmm |
18:18:01 | amiconn | This way 2 problems are solved. (1) The number of different codecs is not limited. (2) Codecs are statically linked, so having 2 codec slots would require to link all codecs twice |
18:18:17 | preglow | i think codec slots is a bad idea |
18:18:25 | preglow | we don't have enough iram for it |
18:18:44 | preglow | that is, it's a decent idea, but not with limited resources |
18:18:45 | Slasheri | yep. With this implementation we should not need them |
18:18:46 | amiconn | Yes, the codec should only be placed in the buffer whenever a codec change is necessary |
18:19:04 | preglow | the iram is the only problem with the approach |
18:19:12 | amiconn | However, there is a problem as well, and that is skipping tracks |
18:20:04 | preglow | it's a problem yes, but can be solved quite easily |
18:20:15 | amiconn | Let' have one ore more mp3 tracks, and 2 vorbis tracks after them. Vorbis codec would be placed in front of the first |
18:20:34 | amiconn | Now I am skipping from the last mp3 2 tracks forward |
18:20:51 | | Quit Querty_mob (Read error: 60 (Operation timed out)) |
18:20:55 | amiconn | Additionally, the first vorbis track is so huge that it doesn't fit entirely into the buffer |
18:21:11 | preglow | ouch, btw |
18:21:14 | amiconn | How should the vorbis codec be loaded? |
18:21:30 | preglow | we really should do our own relocation fixups |
18:21:32 | amiconn | Of course, we could resort to load it from disk |
18:21:47 | Slasheri | amiconn: If you skip two tracks and the first track so huge that it requires disk spinup, entire file buffer should be cleared and vorbis codec loaded |
18:21:51 | Slasheri | That is not a problem? |
18:21:54 | amiconn | The disk would need to spin up anyway |
18:23:01 | amiconn | Slasheri: Same problem must be handled for skipping backwards, imho using the same solution |
18:23:02 | preglow | but yo, we could possibly be needing a lot of statically linked codecs here |
18:23:16 | preglow | like three four differently linked versions |
18:23:45 | amiconn | With the codecs placed into the file buffer, only one version is needed |
18:23:52 | preglow | how so? |
18:24:10 | preglow | they may still need to be loaded in a different place if the place is taken by another codec |
18:24:21 | Slasheri | Hmm? |
18:24:23 | preglow | i assume we'll be loading all the codecs we need at once? |
18:24:43 | Slasheri | We should load them when it's necessary |
18:24:47 | amiconn | preglow: No, codecs are always copied to the same execution address |
18:24:49 | Slasheri | (from the file buffer) |
18:24:50 | preglow | ahh |
18:25:03 | preglow | well, that solves it, alright |
18:25:20 | amiconn | The short gap needed to stop codec, copy new codec and initialise it should be covered by the pcm buffer |
18:25:23 | preglow | but then that execution address needs to have enough space to accomodate the largest codec |
18:25:27 | preglow | which might be quite big |
18:26:05 | preglow | and i'm not very much in favour of wasting memory |
18:26:08 | amiconn | Same issue with codec slots, only multiplied... |
18:26:09 | Slasheri | amiconn: yes, currently ogg playback is gapless by using this method |
18:26:26 | preglow | sure, codec slots is a badder idea |
18:26:39 | preglow | but someone should make the rock format relocatable |
18:26:44 | preglow | we can then stuff the codecs wherever we want them |
18:27:07 | preglow | it shouldn't be that large a job, if i remember correctly |
18:27:16 | preglow | but i must admit it's been a while since i looked at it |
18:27:18 | amiconn | We could try to use pic, but gcc isn't especially good at generating that |
18:27:54 | preglow | wouldn't we just need to do one of the linkers smaller jobs? |
18:28:03 | preglow | we get an array of offset addresses that need to be fixed |
18:28:07 | preglow | then we fix then up when we load |
18:28:46 | amiconn | I don't think we would gain much by doing that |
18:29:00 | preglow | we would not have to waste memory by keeping space enough for the largest codec |
18:29:06 | amiconn | Even if the codecs are buffered in the file buffer, they must be copied somewhere else before running them |
18:29:11 | preglow | we can start loading several plugins at once |
18:29:16 | preglow | why? |
18:29:32 | amiconn | Because the track may be longer than the buffer, overwriting the codec |
18:29:50 | preglow | that's true |
18:29:55 | amiconn | I do have some 100 MB-ish mp3s... |
18:30:01 | preglow | sure, me too |
18:30:08 | preglow | and for wavs it would be a pretty quick deal |
18:30:09 | preglow | heh |
18:30:25 | preglow | and fragments in the file buffer wouldn't be very nice... |
18:30:42 | amiconn | indeed |
18:30:56 | preglow | well, ok, so the overhead in switching a codec will be a ram and iram copy? |
18:31:11 | amiconn | Yup |
18:31:13 | preglow | shouldn't be too slow |
18:31:40 | amiconn | I plan to write memcpy in asm, using movem |
18:31:46 | preglow | good ;) |
18:31:55 | preglow | that should speed it up a ton of times |
18:32:07 | preglow | even if you clobber all the registers |
18:32:12 | amiconn | yeps, utilising burst mode... |
18:33:10 | amiconn | memset() is another optimisation candidate |
18:34:14 | | Join Shagnar [0] (~tester@p54A0CEBE.dip.t-dialin.net) |
18:34:34 | preglow | indeed |
18:35:11 | Shagnar | hello everybody |
18:35:37 | ehntoo | hello, Shagnar |
18:35:43 | preglow | Slasheri: but you've found out how to read the lame song length tag? |
18:36:15 | Slasheri | preglow: I am working on that, it shouldn't be too hard |
18:36:31 | Slasheri | I have also one other trick in mind i would like to test |
18:37:11 | amiconn | For a start, it would be sufficient to support simple gapless with mp3 (without mangling the last frame's pcm data, but also without restarting the codec between tracks) |
18:37:52 | preglow | deed |
18:38:14 | Slasheri | Yes. I think that would this work: If we are processing the last frame, cut out all null-bytes from pcm out from the end? |
18:38:19 | preglow | it would be preferable to modify libmad to fix this lame song length info |
18:38:54 | preglow | Slasheri: they are never nullø |
18:39:01 | preglow | Slasheri: the entire frame will have valid data |
18:39:07 | Slasheri | preglow: ah, then that's not possible |
18:39:26 | preglow | Slasheri: indeed, that why you need the lame exact track length data, it's not apparent where to cut |
18:39:56 | preglow | amiconn: we'll probably need to restart the codecs between tracks for some codecs |
18:40:14 | preglow | amiconn: like vorbis, which needs to reinitalize because each file might have new codebooks |
18:40:35 | amiconn | ...and for some others, we should not do that. So this info has to be provided somehow |
18:40:43 | preglow | this is not a problem for static codecs like mp3 |
18:41:01 | preglow | of course, this will be integrated into the codec api |
18:41:26 | amiconn | Slasheri: Does your code already handle sample rate changes in the pcm buffer? |
18:41:59 | | Join courtc [0] (~courtc@adsl-158-5-68.asm.bellsouth.net) |
18:42:32 | Slasheri | amiconn: no, it does not. But i think this is not a big problem, quite easy to solve |
18:42:50 | preglow | you can't have a sample rate change in a buffer, you need to switch buffers, i'd guess |
18:43:46 | preglow | it'd sound pretty strange if the sample rate changed mid-buffer :P |
18:43:52 | Slasheri | Hmm, why not? The codec can put any samplerate through audio buffer. However, the audio buffer will need to switch the physical sample rate at right position when that is necessary |
18:44:37 | preglow | well, yeah, but i'd guess the pcm output layer will need some special code for this |
18:44:55 | Slasheri | There is code already to set the sample rate |
18:44:59 | preglow | perhaps mark each buffer with a sample rate? |
18:45:19 | preglow | i don't really know how the output code works :> |
18:45:25 | * | preglow goes to educate himself |
18:45:45 | Slasheri | yes. It is possible to mark certain audio chunks to generate a callback event |
18:46:29 | preglow | ahh, good |
18:47:39 | Slasheri | I think that codec api could include a function set_sample_rate or something that will guide the pcm layer to set the sample rate at right position |
18:47:56 | preglow | but yeah |
18:48:02 | preglow | do not worry about gapless playback and sample rate chagnes |
18:48:16 | preglow | tracks which don't have the same sample rates probably should have a gap |
18:48:41 | Slasheri | indeed.. |
18:49:01 | Slasheri | It might be impossible to get totally gapless playback between that type of tracks |
18:50:12 | preglow | not impossible, but not worth the effort |
18:50:20 | Slasheri | yes.. |
18:50:37 | preglow | it would be pretty hard |
18:52:35 | preglow | so, do you still stand by releasing a patch today? :PP |
18:53:15 | Slasheri | i can't make the gapless mp3 etc. to work that soon |
18:53:15 | CoCoLUS | is it still necessary to open the file with the viewer plugin? |
18:53:27 | Slasheri | CoCoLUS: no |
18:53:39 | CoCoLUS | yeah :) |
18:53:44 | Slasheri | there is a basic playlist support |
18:53:49 | preglow | Slasheri: i'm not asking for gapless mp3 either, i just want to see how you're progressing |
18:54:53 | Slasheri | preglow: okay. if you just want to test something, maybe i can do a patch if i manage to work out some problems |
18:54:55 | CoCoLUS | we need bass and treble settings :P |
18:55:07 | preglow | that's already in rockbox |
18:55:12 | preglow | we just need to make the settings work with the uda |
18:55:19 | preglow | i'm also planning on making a software eq |
18:55:21 | Shagnar | yeah a patch to test would be kinda very nice |
18:57:13 | | Nick Lynx_ is now known as Lynx_awy (HydraIRC@134.95.189.59) |
18:58:53 | rasher | Mmm, patch |
19:00 |
19:01:57 | | Join webguest04 [0] (~c31ce021@labb.contactor.se) |
19:06:20 | | Quit TCK- (Read error: 110 (Connection timed out)) |
19:07:08 | HCl | mmm |
19:16:27 | | Join TCK [0] (TCK@81-86-98-118.dsl.pipex.com) |
19:16:39 | *** | Saving seen data "./dancer.seen" |
19:21:01 | | Quit Harpy (Read error: 60 (Operation timed out)) |
19:45:06 | | Join edx [0] (edx@p3EE0E4B8.dip.t-dialin.net) |
19:48:55 | * | HCl proddles Slasheri |
19:56:46 | | Join _aLF [0] (Alexandre@mut38-2-82-67-66-128.fbx.proxad.net) |
19:58:48 | Slasheri | HCl: Give me two more hours and i might get it basically working (ogg & mp3, with mp3 being gapmore) :P |
19:59:27 | Shagnar | yeah! |
20:00 |
20:00:29 | HCl | yay :) |
20:01:49 | bipak_ | :D |
20:02:09 | Slasheri | still it wont be very useful, because there is only almost blank screen while songs are playing and remote control wont work |
20:02:20 | Shagnar | doens't matter |
20:02:21 | Shagnar | 1:59 |
20:02:22 | Shagnar | btw |
20:02:24 | Shagnar | *fg* |
20:02:42 | | Join Querty [0] (~michiel@heren.demon.nl) |
20:02:48 | bipak_ | lol |
20:03:12 | preglow | music playback isn't very useful? |
20:03:13 | preglow | heh |
20:03:13 | bipak_ | you guys are doing a great job :) |
20:03:27 | | Join XavierGr [0] (~Xavi@ppp27-adsl-228.ath.forthnet.gr) |
20:03:35 | Slasheri | :D |
20:03:47 | preglow | can it play long tracks? |
20:03:55 | Slasheri | preglow: it can, no matter how long they are |
20:04:05 | preglow | goodiegoodiegoodie |
20:04:14 | | Join arfo [0] (~arfo@p213.54.227.214.tisdip.tiscali.de) |
20:04:15 | Slasheri | currently it can load 10 tracks to file buffer to fill it up |
20:04:48 | Querty | Awesome!!! we're cheering from the sidelines! :-D |
20:05:15 | XavierGr | Hi all! |
20:05:28 | CoCoLUS | hm... don't want to sound negative... but there is a dark side to this |
20:05:57 | CoCoLUS | if this rapid progress gets public, boards like misticriver (don't we love it), and this chan will get flooded |
20:06:13 | rasher | so we're going to keep it secret? |
20:06:39 | CoCoLUS | obviously not |
20:06:47 | Shagnar | too late ^^ |
20:07:08 | preglow | Slasheri: and it already loads partial files? |
20:07:30 | Slasheri | preglow: of course. Or what you mean with partial files? |
20:07:54 | Slasheri | preglow: It fills the file buffer always before it goes empty |
20:08:09 | XavierGr | I have a strange problem with uisimulator. Whenever I open a plug-in in iRiver simulator an error pops up. Rockboxui.exe - Bad Image |
20:08:28 | XavierGr | Anyone knows something about that? |
20:08:32 | preglow | Slasheri: like, if there's not enough room for an entire file, it still loadsas much as it can |
20:08:39 | XavierGr | I am trying ti fix some plug-ins for iRiver |
20:08:40 | Slasheri | preglow: yes, it does that |
20:08:44 | preglow | eexcellent |
20:08:45 | Slasheri | at least it should :) |
20:09:17 | Slasheri | (however, that is not fully tested and some problems might still occur) |
20:11:08 | rasher | XavierGr: don't know, sorry.. maybe the plugins don't match the simulator's version? |
20:13:58 | rasher | XavierGr: which plugins? |
20:16:41 | | Part arfo |
20:16:48 | amiconn | XavierGr: win32 or x11 simulator? Cygwin build environment? |
20:17:36 | | Join ghode|afk [0] (~dude@host-212-158-232-155.bulldogdsl.com) |
20:19:26 | | Join arfo [0] (~arfo@p213.54.227.214.tisdip.tiscali.de) |
20:20:03 | XavierGr | Cygwin build enviroment |
20:20:13 | XavierGr | Lets say that I want to run Logo |
20:20:26 | XavierGr | When I press 5 to open it the error pops -up |
20:20:28 | XavierGr | it says: |
20:20:42 | XavierGr | opps |
20:20:56 | XavierGr | I deleted the ui simulator because I was gonna build it again |
20:21:24 | XavierGr | it was an error that Rockbox.exe cant load the new window or something similar |
20:21:49 | XavierGr | anyway maybe i have a bad installation of cygwin |
20:22:40 | XavierGr | In the start menu under the Program Cygwin-x nothing is working is that right? |
20:28:06 | rasher | I don't think you should worry too much about that |
20:28:17 | amiconn | Yes, unless you manually start the x server beforehand |
20:28:43 | amiconn | I dunno why these links are installed |
20:28:49 | amiconn | They never worked for me |
20:29:39 | XavierGr | Bleeah I exploded everything. Now whenever I try to execute the makefile for the uisimulator it says tha mk68 -elf -gcc is missing |
20:30:00 | XavierGr | maybe I should install it again.... |
20:30:08 | rasher | Is your path set correctly? |
20:30:21 | rasher | (ie, does it include m68k-elf-gcc ? |
20:30:41 | XavierGr | the first time it found it |
20:31:01 | XavierGr | without doing something more |
20:31:16 | XavierGr | time for dinner I will try later |
20:31:19 | XavierGr | thanks |
20:31:35 | amiconn | You don't need m68k-elf-gcc for simulator builds |
20:31:42 | XavierGr | ?! |
20:31:48 | amiconn | Simulator builds use the native gcc |
20:31:57 | rasher | oh |
20:32:09 | rasher | XavierGr: are you using .rocks from an iRiver build? |
20:32:14 | | Nick XavierGr is now known as XavierGr|Dinner (~Xavi@ppp27-adsl-228.ath.forthnet.gr) |
20:32:17 | XavierGr|Dinner | yes |
20:32:24 | rasher | well that won't work |
20:32:31 | rasher | you need .rocks from a simulator build |
20:32:38 | rasher | (iriver simulator) |
20:32:49 | XavierGr|Dinner | maybe i will use the cvs command to get the code |
20:33:11 | XavierGr|Dinner | That's what I did the first time... |
20:43:35 | | Nick XavierGr|Dinner is now known as XavierGr (~Xavi@ppp27-adsl-228.ath.forthnet.gr) |
20:44:42 | XavierGr | Do you know an editor where I can right my commands instead of the default cygwin.bat? |
20:49:29 | | Quit tvelocity ("Leaving") |
20:59:54 | | Join TCK- [0] (TCK@81-86-209-43.dsl.pipex.com) |
21:00 |
21:04:37 | | Quit uski () |
21:06:58 | | Quit XavierGr () |
21:08:18 | | Quit TCK (Read error: 145 (Connection timed out)) |
21:10:39 | | Part arfo |
21:16:43 | *** | Saving seen data "./dancer.seen" |
21:22:53 | | Join tvelocity [0] (~tony@ipa179.6.tellas.gr) |
21:30:28 | | Join Tangleding [0] (~Tangledin@ARennes-252-1-31-88.w83-195.abo.wanadoo.fr) |
21:30:50 | Tangleding | hi |
21:32:14 | Bagder | howdy |
21:36:57 | Querty | hi |
21:37:01 | Tangleding | :) |
21:37:16 | Tangleding | wanted to congratulate Slashery for his great work |
21:37:17 | Tangleding | :) |
21:37:24 | Tangleding | very impressive in fact |
21:37:36 | Querty | I'm running into trouble building the simulator |
21:37:40 | Querty | [michiel@michiel build-dir]$ make |
21:37:40 | Querty | make[1]: *** No rule to make target `@make'. Stop. |
21:37:40 | Querty | make: *** [all] Error 2 |
21:37:45 | Querty | any ideas |
21:37:51 | Querty | this used to work some time ago |
21:37:55 | Bagder | Querty: upgrade your sed version |
21:38:00 | rasher | t0mas had that |
21:38:15 | Querty | oh man, sed of all things |
21:38:56 | amiconn | Bleh |
21:39:05 | * | amiconn is fighting with mpeg.c |
21:46:10 | t0mas | yes |
21:46:33 | t0mas | Querty: and for a quick fix: edit the Makefile line 48 |
21:46:50 | t0mas | there is @$(MAKE) somewhere... that should be on the next line |
21:47:01 | t0mas | so replace the n in simn with an enter |
21:47:50 | Slasheri | Tangleding :) |
21:48:03 | rasher | Slasheri: your two hours are nearly up! |
21:48:07 | Tangleding | hi Slasheri |
21:48:09 | Tangleding | :) |
21:48:21 | Tangleding | Very nice job to be true |
21:48:23 | Slasheri | rasher: yes, and mp3 playback almost working :) |
21:48:31 | rasher | woo |
21:48:33 | Tangleding | :) :) :) :) |
21:48:38 | Tangleding | you're my hero |
21:48:42 | Slasheri | :D |
21:48:44 | HCl | :p |
21:48:45 | Tangleding | (not only mine i think) |
21:49:18 | Querty | thanks t0mas |
21:49:41 | Tangleding | Anyone know what's the matter with Amiconn H140? |
21:49:42 | Querty | that worked |
21:50:20 | preglow | what with it? it just hasn't arrived yet |
21:50:42 | | Join muesli- [0] (muesli_tv@Bc14c.b.pppool.de) |
21:52:14 | Tangleding | okay i think thjere were a problem since he ve been waiting for a while |
21:52:22 | Tangleding | (hi Muesli) |
21:52:36 | muesli- | baba tang |
21:52:39 | muesli- | baba @ll |
21:58:41 | | Join sl33pwalk3r [0] (~sleepwalk@charodeika-north-vlan1s.networx-bg.com) |
21:58:56 | HCl | can't wait for Slasheri to be done |
21:58:58 | | Quit webguest04 ("CGI:IRC (EOF)") |
21:59:04 | HCl | i think we'll see a jump in progress once mp3 playback works |
21:59:12 | * | muesli- praises slasheri |
21:59:39 | muesli- | and yawning hcl too :) |
21:59:55 | ehntoo | Well... doesn't mp3 playback already work? We just can't hear it, right? |
21:59:55 | Slasheri | mp3 playback almost works, there is small audible buffering error at beginning of the song |
22:00 |
22:00:28 | Slasheri | trying to fix that.. and few other problems too |
22:00:52 | HCl | :) |
22:01:16 | Slasheri | and prev/next track won't work yet |
22:01:26 | rasher | can't have it all at once |
22:01:30 | Slasheri | (buttons i mean) |
22:01:32 | Slasheri | =) |
22:01:46 | muesli- | lets drink some tea and wait :D |
22:02:53 | rasher | Good plan. |
22:04:00 | * | Shagnar offers some cookies |
22:04:09 | Slasheri | if i release a test patch soon, there are many known bugs in it |
22:04:11 | muesli- | *yummy* |
22:04:18 | Slasheri | you will find it's not very usable after all |
22:04:36 | rasher | I'll settle for "plays sound better than the last patch" |
22:04:44 | Slasheri | :) |
22:04:52 | rasher | Any progress is way cool |
22:05:00 | | Quit TCK- (Read error: 110 (Connection timed out)) |
22:05:13 | Slasheri | even if you stop playback, you can't start it again before you have restarted rockbox (maybe this bug is ui/wps related) |
22:05:14 | bill2or3 | which port are you reffering to? |
22:05:36 | rasher | bill2or3: iRiver |
22:05:38 | Slasheri | however, you should be able to pause/resume playback |
22:05:50 | | Part sl33pwalk3r |
22:06:58 | rasher | once it gets going, I'll never want to stop |
22:07:17 | Slasheri | =) |
22:07:23 | Slasheri | ok, just a few more checks.. |
22:09:03 | bill2or3 | for the Hp-120? |
22:09:19 | rasher | Yeah |
22:09:21 | rasher | and 140 |
22:10:24 | Slasheri | currently there is small gap between mp3s but it should be much less than with stock firmware |
22:10:49 | rasher | You can hardly do worse than that |
22:11:08 | Slasheri | and after you have started playing, you wont be able to hear anything until you touch the volume control |
22:11:14 | Slasheri | :D |
22:11:46 | Shagnar | patch patch patch :D |
22:12:06 | Slasheri | not yet, just found a new issue with buffering |
22:14:03 | Tangleding | All this sounds very nice |
22:14:04 | Tangleding | :)$ |
22:14:33 | Tangleding | Anyone know if LinusN suceed in the iHP115 ebay auction? |
22:14:41 | Tangleding | (i've lost the link) |
22:14:57 | rasher | I have a ihp-110 here, waiting to ship to him |
22:15:12 | Tangleding | :) |
22:15:16 | Tangleding | Very cool |
22:15:23 | Tangleding | i'm very happy |
22:15:30 | | Quit muesli- (Read error: 60 (Operation timed out)) |
22:15:33 | Tangleding | i wish he didn't paid to expensive? |
22:16:30 | Tangleding | I imagine this could be added to the iRiverfaq wiki |
22:16:45 | Tangleding | since there is quite often question about H110/115 |
22:16:47 | Tangleding | :) |
22:16:49 | rasher | 190 euro |
22:17:19 | Tangleding | Not quite cheap |
22:17:21 | Tangleding | :( |
22:17:49 | Tangleding | one reason more to donate ;) |
22:18:11 | Tangleding | (i'm waiting for my exam to solve my paypal issue) |
22:18:41 | | Quit Shagnar ("( www.nnscript.de :: NoNameScript 3.81 :: www.XLhost.de )") |
22:19:49 | bill2or3 | any talk of a port to the H10? |
22:20:02 | Tangleding | see the FAQ |
22:20:06 | bill2or3 | k |
22:20:13 | Tangleding | (the hardware isn't public) |
22:20:13 | rasher | Not really, no. |
22:20:33 | crashd_ | hehe |
22:20:36 | crashd_ | im working on decoding the firmware flash |
22:20:41 | crashd_ | and then trying to get code running on it |
22:20:47 | crashd_ | but it's on hold for a few days whilst i sit my finals |
22:23:17 | Slasheri | just a few more minutes and you will get the test patch |
22:23:59 | HCl | :) |
22:24:08 | rasher | Yay.. may I suggest diffing against a full checkout? |
22:24:27 | Slasheri | ok, i do that |
22:24:43 | Slasheri | but mp3 playback is buggy, i can't fix it now |
22:24:58 | Slasheri | there are some small audible errors |
22:25:13 | rasher | instead of having a bunch of files |
22:25:15 | | Join Mr_Wik [0] (~Mr_Wik@82.249.32.95) |
22:25:31 | Mr_Wik | hi guys ! |
22:25:48 | Mr_Wik | good luck with your greAAAAAAt work ;) |
22:26:20 | Slasheri | no, too bad.. i have to fix it.. maybe 30min or more |
22:26:54 | HCl | :) |
22:29:10 | | Quit thegeek (Read error: 145 (Connection timed out)) |
22:30:00 | | Join thegeek [0] (na@ti521110a080-1186.bb.online.no) |
22:30:23 | * | rasher adds H10 to NonArchos |
22:30:26 | Tangleding | Slasheri you never take rest? |
22:30:29 | Tangleding | lol |
22:31:36 | Slasheri | :P |
22:35:30 | Tangleding | lol in fact i like this sort of coder absolutely geek and asocial( joking) |
22:35:58 | | Join webguest24 [0] (~5087bcac@labb.contactor.se) |
22:37:00 | webguest24 | I'm trying to donate via credit card, but your setup reject my particuars. Is there an issue with the CCard detup? |
22:37:34 | webguest24 | umm, my card is good ;-) |
22:37:38 | Tangleding | hum there is CCard option to donate now? |
22:37:45 | Tangleding | Without paypal? |
22:38:05 | webguest24 | well there are two options, CCard and paypal |
22:38:17 | Tangleding | okay |
22:38:35 | Tangleding | thanks i was waiting to sdolve my paypal issue uselessly! |
22:38:39 | Tangleding | noone told me |
22:38:41 | Tangleding | :o |
22:39:06 | webguest24 | clock on the paypal donate button and both options appear |
22:39:10 | webguest24 | *click |
22:39:12 | Tangleding | webguest can U give me the donation |
22:39:18 | Tangleding | (ops okay thanks |
22:39:39 | Tangleding | (i was asking you the CC donation link) |
22:39:42 | webguest24 | lol, you want me to give you my donation ? |
22:40:22 | Tangleding | Hum i don't see CC donation button |
22:40:24 | Tangleding | only paypal |
22:40:26 | Tangleding | :( |
22:40:37 | rasher | click that you don't have a paypal account |
22:40:52 | Tangleding | okay thanks Rasher |
22:40:54 | Tangleding | :) |
22:41:24 | rasher | "Visa, Mastercard, Amex and Discover", is accepted, it seems |
22:41:48 | | Quit ehntoo (Remote closed the connection) |
22:42:14 | | Join ehntoo [0] (~noclue2@24-177-161-77.dhcp.mrqt.mi.charter.com) |
22:43:42 | Tangleding | i have VISA |
22:43:47 | Tangleding | just to be sure |
22:43:50 | Tangleding | the first name |
22:43:52 | rasher | should work then |
22:43:58 | Tangleding | is the one that appear first in the card? |
22:44:05 | webguest24 | scheisse, why wont oit accept my CCard nummber, visa as well |
22:44:17 | rasher | Tangleding: should be |
22:44:26 | Tangleding | okay |
22:44:27 | Tangleding | :) |
22:44:35 | | Join TCK [0] (TCK@81-86-100-65.dsl.pipex.com) |
22:44:54 | webguest24 | Tangelding, will you provide feedback, re you transaction please |
22:44:56 | Tangleding | i don't fill the adress? |
22:45:18 | Tangleding | hum quite strange |
22:45:31 | Tangleding | the fill form is paypal |
22:45:32 | Tangleding | ??? |
22:45:51 | Tangleding | did i mistook? |
22:46:23 | rasher | did you enter an amount and press "secure checkout"? |
22:46:38 | webguest24 | I did yes |
22:47:18 | rasher | Tangleding: you're still paying through paypal |
22:47:24 | rasher | Just without having an account with them |
22:47:32 | Tangleding | okay |
22:47:47 | Tangleding | but i'm annoyed since i've an old paypal account |
22:48:17 | Tangleding | but i've lost my old Ccard |
22:48:42 | Tangleding | and then they don't want to accept my new one |
22:48:57 | Tangleding | so i v'e used my sister car ad secondary to make donation previously |
22:49:15 | Tangleding | but's quite complicate as i've to pay here then |
22:49:17 | Tangleding | :/ |
22:54:35 | Tangleding | i tried with my new card |
22:54:41 | Tangleding | paypal seems to say it's okay$ |
22:54:46 | Tangleding | i hope it is |
22:54:48 | Tangleding | :) |
22:55:06 | Tangleding | i'll ask to njorn when i see him |
22:55:08 | Tangleding | :) |
22:55:11 | Tangleding | bjorn sorry |
22:55:13 | Tangleding | :) |
22:55:33 | tvelocity | how much people do usualy donate? |
22:57:13 | rasher | you mean how much people donate? |
22:57:45 | tvelocity | yeah |
23:00 |
23:01:33 | | Quit webguest24 ("CGI:IRC") |
23:02:11 | Tangleding | Rasher |
23:02:13 | Tangleding | it's nice |
23:02:21 | Tangleding | the donation seemed to work |
23:02:28 | Tangleding | and now i've a new PAypal account |
23:02:38 | Tangleding | (and a new yahoo account too ;) ) |
23:02:44 | Tangleding | So i go |
23:02:50 | Tangleding | best regards all |
23:02:51 | Tangleding | :) |
23:03:23 | Querty | Hmmm, Slasheri has been gone for 30 minutes ;-) |
23:03:54 | Slasheri | Querty: this issue is hard to solve.. |
23:04:08 | Querty | I know, just kidding of course... |
23:04:13 | Slasheri | :) |
23:04:46 | Querty | I code for a living, pressure sucks ;-) |
23:06:04 | Querty | Damn, after a couple of years of Java, I can't seem to remember how to code C (or even read it for that matter) |
23:09:08 | | Join matsl [0] (~matsl@1-1-4-2a.mal.sth.bostream.se) |
23:16:19 | | Join hubbel [0] (hubbel@h7n2fls304o1033.telia.com) |
23:16:45 | *** | Saving seen data "./dancer.seen" |
23:17:01 | | Join webguest25 [0] (~5087bcac@labb.contactor.se) |
23:17:30 | hubbel | Slasheri: i hear that you've got mp3 and vorbis playing.. nice work! |
23:18:01 | Slasheri | hubbel: that's correct, but there is still lot more to do :) |
23:18:08 | Slasheri | btw, where you did that? |
23:18:17 | Slasheri | *heard |
23:18:27 | hubbel | Slasheri: reading the irc logs on the web =) |
23:18:32 | Slasheri | ah :) |
23:19:06 | hubbel | Slasheri: btw, i've did the uda1380 driver back in march.. been waiting for someone to connect the codecs to the driver =) |
23:19:20 | Slasheri | oh, great :) |
23:19:41 | webguest25 | finally managed to get the CCard payment through, I have no idea what the issue was, I just repeatedly entered the CC number, |
23:20:13 | hubbel | and i'm about to try to get recording in the driver.. |
23:20:14 | | Quit ghode|afk (Read error: 110 (Connection timed out)) |
23:20:43 | Slasheri | hubbel: Hmm, maybe you could help later to solve some problems that might be related to the driver. One of them is that if I use cpu_boost(high) from watermark callback, the system will crash |
23:20:43 | | Quit Tangleding ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]") |
23:21:18 | webguest25 | thank you gents, for a sterling effort. Later |
23:21:58 | | Quit webguest25 (Client Quit) |
23:22:34 | hubbel | slasheri: in the dma interrupt? |
23:22:40 | Slasheri | yep |
23:22:50 | Slasheri | maybe that is not a good idea to call it from there? |
23:23:22 | | Join BTKDaImMaikata [0] (~Bager@83.222.160.88) |
23:24:10 | preglow | no, i'd say it isn't |
23:24:13 | hubbel | Slasheri: I havn't tried, but didn't linus say he thought it was a bad idea? |
23:24:15 | rasher | webguest25: thank you for your 25 donations |
23:24:25 | preglow | in the same way spending a lot of time in any interrupt handler isn't a very good idea |
23:24:32 | preglow | cpu_boost can take something around 10ms to complete |
23:24:39 | Slasheri | hubbel: yes |
23:24:43 | Bagder | my gut feeling says it is bad |
23:25:21 | Slasheri | hubbel: i was just interested if it should work |
23:25:53 | hubbel | wonder if it could trigger another dma interrupt if you spend to much time in there.. |
23:26:30 | Slasheri | ah, that's correct. but isn't interrupts disabled inside the dma interrupt? |
23:27:17 | hubbel | maybe there is an error in that code.. |
23:27:48 | hubbel | could you paste the dma interrupt in a msg to me? |
23:28:15 | Slasheri | Hmm, the one found in pcm_playback.c? |
23:28:33 | Slasheri | It's unmodified cvs version, only the watermark callback enabled with #if 1 |
23:29:58 | hubbel | ok |
23:34:31 | Slasheri | Okay, the problem can be the cpu_boost too because it calls tick_start and that will touch the interrupts |
23:34:38 | | Quit TCK (Read error: 110 (Connection timed out)) |
23:35:10 | Bagder | the basic rule must be to do as little as possible within interrupts |
23:35:56 | Slasheri | of course.. i will just forget about using that kind of code in any interrupt :) |
23:36:06 | Bagder | :-) |
23:36:40 | preglow | indeed |
23:36:43 | preglow | especially cpu_boost |
23:36:49 | preglow | which takes a long time to complete and does fancy stuff |
23:37:14 | Bagder | major fancy stuff |
23:37:14 | hubbel | Slasheri: The DMA0() calls a callback_for_more(&start, &size), but it does not validate that start is 4-byte aligned and size is a 4-byte multiple.. that might cause a crash? |
23:37:59 | Slasheri | Hmm, maybe :) I will check that later |
23:38:21 | | Quit Bager (Read error: 110 (Connection timed out)) |
23:38:30 | preglow | data doesn't need to be aligned |
23:38:44 | preglow | but it really, really should be |
23:39:09 | hubbel | ok |
23:39:30 | | Quit hubbel () |
23:47:38 | Querty | Cheers guys, I'm hitting the sack. Excellent work! |
23:50:16 | | Part Querty ("Leaving") |
23:50:27 | Slasheri | I will fix the mp3 playback tomorrow, night.. :) I think i know what is wrong |
23:51:27 | preglow | do :/ |
23:51:35 | preglow | -do |
23:53:10 | Bagder | the new nokia is not using the same dsp as the neuros |
23:53:29 | Bagder | c54 vs c55 |
23:53:30 | rasher | Yeah, should probably speed up gcc development |
23:53:46 | Bagder | but they might be very similar, I don't know |
23:53:46 | rasher | especially since all the geeks want one |
23:53:56 | Bagder | but the nokia has an ARM as well |
23:54:10 | rasher | oh.. I didn't notice the "not" there |
23:54:15 | rasher | silly me |
23:54:19 | Bagder | :-) |
23:58:29 | * | t0mas is going to bed... goodnight |