Previous day | Jump to hour: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Next day

Seconds: Show Hide | Joins: Show Hide | View raw
Font: Serif Sans-Serif Monospace | Size: Small Medium Large

Click in the nick column to highlight everything a person has said.
The Logo icon identifies that the person is a core developer (has commit access).

#rockbox log for 2005-12-16

00:00:04MmmmKyl3: try leaving out the first /
00:01:06Kyl3File to patch: apps/gui/gwps-common.c
00:01:08Kyl3apps/gui/gwps-common.c: No such file or directory
00:01:08Kyl3Skip this patch? [y]
00:01:17 Join webguest72 [0] (
00:02:08 Quit Jungti1234 ("bye")
00:02:53Kyl3I need this patch. For remote support
00:04:36Kyl3and whatever p value i put (0 through 5) I get:
00:05:05Kyl3~/build> patch −−binary -p5 < remote_type.patch
00:05:06Kyl3missing header for unified diff at line 4 of patch
00:05:08Kyl3(Stripping trailing CRs from patch.)
00:05:11Kyl3can't find file to patch at input line 4
00:05:13Kyl3Perhaps you used the wrong -p or −−strip option?
00:05:27MmmmIs the apps directory in the directory you are patching from?
00:06:18Kyl3I went to /apps/gui
00:06:38Kyl3theres only gwps_common.o
00:06:52Mmmmoh dear! :D
00:07:08Mmmmlooks like you may not have the source code there!
00:07:11Kyl3thats a bad thing eh?
00:07:29Kyl3OH WAIT
00:07:39mirak_is there something like feof
00:07:43mirak_to know the end of a file ?
00:07:48mirak_in the api ...
00:08:01Kyl3the SOURCE is in the /home/guest
00:08:17webguest72mirak_: the read returns 0 I believe
00:08:24webguest72Or something like that..
00:08:26Kyl3the /home/guest/build is where its compiled in
00:08:41webguest72Check the PLUGIN_API in docs
00:09:15***Alert Mode OFF
00:10:15webguest72actually, read returns something less than count
00:11:51 Quit pinkutank ()
00:15:00MmmmKyl3: You need to put the source in /home/guest/build and patch here. Then make in home/guest/build/compiled
00:15:27 Join ashridah [0] (
00:15:41Kyl3Yeah I did that.I'm still trying to get it to work though I still get the error
00:16:33Mmmm-p1 ?
00:17:43Kyl3No -p0
00:17:54Kyl3-p1 gives me SO many errors
00:18:16Kyl3~>patch −−binary -p1 < remote_type.patch
00:18:18Kyl3(Stripping trailing CRs from patch.)
00:18:18Kyl3patching file apps/gui/gwps-common.c
00:18:18Kyl3Reversed (or previously applied) patch detected! Assume -R? [n]
00:18:23Kyl3that for all the files
00:21:07 Join webguest66 [0] ( its working! although it seems you have applied the patch before or maybe the patch is already in cvs! what player are you using?
00:22:23 Quit Kohlrabi ("Leaving")
00:23:14Kyl3but I hadent patched before
00:23:39Kyl3maybe I should download a clean source
00:23:53 Join xmixahlx [0] (n=xmixahlx@
00:24:48MmmmThat might do the never know! hasn't h300 got remote support yet then?
00:25:05Kyl3Yes but not the
00:25:11Kyl3H300 LCD remote
00:27:02Mmmmahh, I see... What patch are you using?
00:27:35Kyl3it was one that isnt on the list. a forum made one
00:28:07Kyl3it enables a menu that asks what remote you have then it maps the buttons accordingly
00:30:07 Quit perplexity (Read error: 113 (No route to host))
00:30:23Kyl3~>patch −−binary -p1 < remote_type.patch
00:30:26Kyl3(Stripping trailing CRs from patch.)
00:30:27Kyl3patching file apps/gui/gwps-common.c
00:30:28Kyl3(Stripping trailing CRs from patch.)
00:30:30Kyl3patching file apps/gui/gwps.c
00:30:31Kyl3(Stripping trailing CRs from patch.)
00:30:33Kyl3patching file apps/lang/english.lang
00:30:34Kyl3(Stripping trailing CRs from patch.)
00:30:35Kyl3patching file apps/settings.c
00:30:37Kyl3(Stripping trailing CRs from patch.)
00:30:38Kyl3patching file apps/settings.h
00:30:41Kyl3(Stripping trailing CRs from patch.)
00:30:42Kyl3patching file apps/settings_menu.c
00:30:44Kyl3(Stripping trailing CRs from patch.)
00:30:46Kyl3patching file firmware/drivers/button.c
00:30:48Kyl3(Stripping trailing CRs from patch.)
00:30:50Kyl3patching file firmware/export/button.h
00:30:58Kyl3does that mean it worked?
00:31:04Kyl3thats with the new source
00:31:08MmmmOh yes!! :D
00:31:12 Join mind_less [0] (n=Tim@
00:31:39Kyl3Ok! thanks Mmmm! now, I'm gonna compile and see if it works
00:31:54MmmmTold you -p1 would do it! hee hee
00:35:24MmmmGoodnight folks..........
00:35:51 Quit Mmmm ("ZZZZZZzzzzzz.....")
00:38:25 Quit idanm (Read error: 110 (Connection timed out))
00:45:21Kyl3After all that the patch doesnt even work?
00:49:10Kyl3wait yes it does
00:53:54 Join aliask [0] (
00:54:06 Quit DangerousDan ("Miranda IM! Smaller, Faster, Easier.")
00:54:25 Quit Moos ("Happy Birthday Rockbox")
00:54:32 Quit xmixahlx ("blah blah blah")
01:05:52 Quit ender` (" Top reason why compilers are like women: Miss a period and they go crazy")
01:06:10 Quit linuxstb_ ("CGI:IRC")
01:15:37***Saving seen data "./dancer.seen"
01:43:55 Quit dpassen1 ()
01:48:09linuxstbGood and bad news for iPod audio - Rockbox on the ipod can decode a 3m 23s FLAC -8 file in 2m 36s, but the same file in Vorbis (-q 6) takes 1m 55 seconds to decode just the first 60s of the track. A 192kbps MP3 file is slower than Vorbis - 1m 59s for the first 60s.
01:48:19linuxstbThis is using IRAM, but no assembler optimisations.
01:49:23linuxstbThis is also just using a single CPU running at 75MHz.
01:54:52webguest72Any arm opts for flac already present?
01:55:24webguest72ah, you said that
01:57:22linuxstbNo, but libmad has some ARM opts - I've enabled them and am about to test.
01:57:51 Quit webguest66 ("CGI:IRC")
01:59:47webguest72Hrm, isn't this still at least as fast as it was on the coldfire?
01:59:58webguest72at first, that is
02:00:48webguest7250% of realtime doesn't sound bad for a first-try, non-optimized
02:03:13linuxstbIt's not too bad. But we are already using IRAM for the codecs, so that optimisation technique has been used up.
02:03:28linuxstbAll that's left is assembler. Plus using the iPod's second CPU of course.
02:05:07linuxstbSo I'm a bit disappointed. But at least my format of choice (FLAC) is already running at about 130% realtime on just a single CPU.
02:09:14webguest72Ah right, the iram
02:10:41mirak_linuxstb: isn't ipod crap anyway ?
02:11:06mirak_that's just a genuine question, I don't have one ^^
02:11:48linuxstbI like the hardware.
02:12:03linuxstbApple's software is irrelevant.
02:12:56mirak_it's pretty
02:13:16mirak_the wheel is uncomparable to the crappy H300 direction pad
02:13:37mirak_really the pad is crap ..
02:18:50ashridahi've seen some fairly poor analysis results of the audio output stages of the ipod hardware
02:19:00ashridahcrappy bass response and whatnot
02:19:19ashridahdon't know how it compares to iriver's hardware tho
02:19:41mirak_iriver is supposed to be better on audio
02:19:48linuxstbOnce we get Rockbox playing audio, we can do some fair comparisons.
02:21:19 Join lostlogi1x [0] (
02:22:49 Join lostlogic_ [0] (
02:22:49***Alert Mode level 1
02:22:49***Alert Mode level 2
02:22:49DBUGEnqueued KICK lostlogi1x
02:22:49DBUGEnqueued KICK lostlogic_
02:22:49***Alert Mode level 3
02:23:39 Quit lostlogic (Nick collision from services.)
02:23:40 Nick lostlogic_ is now known as lostlogic (
02:23:40DBUGEnqueued KICK lostlogic
02:23:40***Alert Mode level 4
02:23:54 Join Sucka [0] (
02:25:47ashridahlinuxstb: well, i'm more talking about the output's capability to drive a set of earphones
02:26:01ashridahie, the DAC's quality.
02:26:06ashridahmore so than software decoding quality
02:27:11 Quit San (Read error: 110 (Connection timed out))
02:27:29 Quit webguest72 ("CGI:IRC (Ping timeout)")
02:27:49 Quit webguest44 ("CGI:IRC")
02:33:41***Alert Mode OFF
02:34:18linuxstbashridah: Yes, I know. But I would like to hear what Rockbox can do before passing final judgement.
02:35:32mirak_ok I am stuck on compilation
02:37:34linuxstbEither I didn't do things correctly, or the ARM optimisations in libmad make virtually no difference. The same 60s of audio now takes 1m 50s (compared to 1m 59s without any arm asm)
02:37:42 Quit Weazel_ (Read error: 104 (Connection reset by peer))
02:38:17 Quit lostlogicx (Read error: 110 (Connection timed out))
02:38:35mirak_well they said that ipod could probably not play ogg
02:38:43mirak_maybe they where right ^^
02:39:17ashridahmirak_: that looks more like an error before the #include is used
02:39:32 Quit actionshrimp (Read error: 110 (Connection timed out))
02:39:36ashridahwait, i read the wrong brace, nevermind
02:39:41linuxstbmirak_: No, we'll get Ogg on the iPod.
02:39:53mirak_I dare you
02:40:15ashridahyou're daring him to do something he's already working on?
02:40:42CtcpIgnored 4 channel CTCP requests in 2 hours and 24 minutes at the last flood
02:40:42*ashridah seems to recall that some of the codecs started out at 10% of realtime or something initially on iriver :)
02:40:51mirak_what is _EXFUN ?
02:40:57mirak_there is the same in rockbox
02:41:06mirak__VOID_EXFUN(qsort,(_PTR __base, size_t __nmemb, size_t __size, int(*_compar)(const _PTR, const _PTR)));
02:41:34linuxstbIt's a macro defined in firmware/include/_ansi.h
02:42:39mirak_have you seen the error ?
02:44:28mirak_I don't understand why the error appears now
02:44:39mirak_there might a conflict with the defines or something
02:44:59linuxstbI would just remove the asserts from that .c file
02:45:05linuxstband not include the .h file.
02:45:50mirak_I don't even know what inserts it
02:45:51linuxstbIn fact, there are no asserts in that .c file, so simply remove the #include
02:46:00mirak_assert.h ?
02:46:30linuxstbassert.h defines the function assert() - which isn't in that file.
02:46:39linuxstbSo the include isn't needed.
02:47:15mirak_but it's included nowhere
02:47:19mirak_from nowhere
02:47:41linuxstbA quick grep shows assert.h is included in all the motion/estimation*.c files, but assert() isn't in those files (or anywhere else)
02:48:00mirak_argh my search fonction in eclipse have a problem then
02:48:11linuxstbBah! use grep
02:51:59 Join YouCeyE [0] (
02:53:10 Join webguest72 [0] (
02:55:18webguest72mirak_: IPL already plays ogg. I'd be very much surprised if Rockbox cannot do it better
02:59:36linuxstbwebguest72: I'm not sure IPL manages to play high bitrate vorbis files though.
03:02:01markunmirak_ just compiled his xvid plugin, but is too tired to even test it :)
03:02:22markunWell, we'll know tomorrow
03:03:34linuxstbI've just tried a vorbis -q 4 file (128kbps), and 60s of audio takes 1m 44s to decode.
03:04:10linuxstb(compared to 1m 55s for the same audio encoded at -q 6)
03:06:45linuxstbBut lossless wavpack is flying - a 3m 23s track decoded in 1m 31s
03:07:19webguest72Just wayt til bryan gets hold of some arm processor
03:08:31linuxstbYou mean David Bryant?
03:09:18linuxstbI'm not sure there's any work he needs to do. It's running at more than 200% realtime already on a single 75MHz ARM.
03:10:42webguest72Yeah, him.
03:11:04webguest72Well, the faster the merrier
03:11:32linuxstbAnd the wavpack encoder is running at about 130% realtime as well.
03:15:41***Saving seen data "./dancer.seen"
03:19:23webguest72So where is the huge influx of disgruntled ipl devs?
03:28:09 Join Jungti1234 [0] (
03:30:39 Join xbshift [0] (
03:42:51 Quit Kyl3 (Read error: 104 (Connection reset by peer))
03:43:21 Quit Jungti1234 ("CGI:IRC (EOF)")
03:44:01 Join amiconn_ [0] (
03:49:26 Quit webguest72 ("CGI:IRC (Ping timeout)")
04:00:33 Quit amiconn (Read error: 110 (Connection timed out))
04:00:34 Nick amiconn_ is now known as amiconn (
04:05:21 Join San [0] (
04:08:29 Join Paul_The_Nerd [0] (
04:13:53 Quit mind_less ("Download Gaim:")
04:17:06 Nick Sucka is now known as actionshrimpo (
04:17:07 Nick actionshrimpo is now known as actionshrimp (
04:33:12 Join tvelocity [0] (n=tony@
04:38:36 Quit DrumRBoy320|away (Read error: 110 (Connection timed out))
04:45:15 Quit San (Read error: 110 (Connection timed out))
05:01:12 Join Rob2222_ [0] (
05:15:42***Saving seen data "./dancer.seen"
05:19:27 Quit Rob2222 (Read error: 110 (Connection timed out))
05:23:48 Quit YouCeyE ("Leaving")
05:41:29 Join DJDD_ [0] (
05:50:00 Join nathanh [0] (
06:17:49 Join San [0] (
06:17:56 Quit Benacool ()
06:18:13 Join DrumRBoy320|away [0] (
06:18:38 Join Bubs [0] (
06:19:10 Quit Bubs (Client Quit)
06:26:50 Join Jungti1234 [0] (n=jungti12@
06:35:34lostlogicis comparing a constant and a register or comparing a register and a register faster?
06:36:54dwihnoafaik reg+reg is faster (at least, on x86)
06:37:13 Quit DrumRBoy320|away (Read error: 110 (Connection timed out))
06:37:16dwihnobut I'm not really sure
06:42:36lostlogicI think I'm concluding the same on coldfire −− use of extension words will be slower than comparing two preloaded registers.
06:43:28dwihnowhat are you diggin at?
06:44:08lostlogicjust toying with Tremor, and relearning m68k... in the unlikely case that I see something worth optimizing, I will.
06:47:40dwihnoah, okay! are there any obvious bottlenecks?
06:48:39lostlogicsadly , I think the obvious ones are already dead.
06:48:47lostlogicor optimized
06:49:08lostlogicthe question right now is why am I seeing a jbsr for an inline'd function?
06:50:09dwihnoI am NOT 68k compliant ;)
06:51:15lostlogicjbsr jump to subroutine
06:51:38lostlogicthe assembly clearly shows this supposedly inlined function being jumped to, and that irritates the living junk out of me.
06:51:48lostlogiccan't we trust compilers to listen to us at all?
06:53:03dwihnorule #1 - never assume anything :)
06:53:38lostlogictoo long to inline maybe.
06:54:04nathanhrule #2 - dont assume rule #1 is correct
07:01:36 Quit RotAtoR ()
07:15:46***Saving seen data "./dancer.seen"
07:22:42lostlogicgah, GCC sucks.
07:22:43lostlogic move.w profiling,%d0 | profiling, profiling
07:22:43lostlogic jbne .L28 |
07:22:43lostlogic .loc 1 184 0
07:22:43lostlogic move.w profiling,%d0 | profiling, profiling
07:22:43***Alert Mode level 1
07:22:43lostlogic addq.l #1,%d0 |, tmp34
07:22:45lostlogic move.w %d0,profiling | tmp34, profiling
07:23:01lostlogicshould be 2 instructions and a jump, not 4 and a jump.
07:24:55lostlogicI think we might be able to make an appreciable difference in the speed of rockbox on iRiver by teaching GCC that addq can work on an effective address, but then I could be totally wrong.
07:27:22nathanhrule #3 - greater performance gains are through changes to algorithm, not changes to tools or language
07:27:38nathanhrule #4 - rule #2 also applies to rule #3 :-)
07:27:44nathanhgday bger
07:28:05Paul_The_Nerdnathanh: I would wager that significant performance gains could be found in many applications by changing languages. :-P
07:28:22nathanhi often find french is the fastest :-P
07:32:44***Alert Mode OFF
07:42:26 Quit DJDD_ (Read error: 104 (Connection reset by peer))
07:57:45 Join linuxstb_ [0] (
07:57:46 Quit aliask ("Chatzilla 0.9.69 [Firefox 1.5/2005111116]")
07:59:36 Quit linuxstb (Read error: 110 (Connection timed out))
08:09:49 Quit mikearthur (Read error: 104 (Connection reset by peer))
08:19:20 Join DrumRBoy320|away [0] (
08:42:17 Quit nathanh (Read error: 104 (Connection reset by peer))
08:45:08 Quit ^BeN^ (Read error: 110 (Connection timed out))
08:45:29Bgerhahaha "Top reason why compilers are like women: Miss a period and they go crazy"
08:46:01Bger(found in yesterday's log)
08:51:30 Join Kohlrabi [0] (
08:53:52 Join linuxstb__ [0] (
08:54:52 Join _FireFly_ [0] (
08:55:22 Join ender` [0] (i=ychat@
08:56:07 Quit linuxstb_ (Read error: 110 (Connection timed out))
08:56:14Bgerender` good quit message ;)
08:59:56preglowlinuxstb__: so, you made a dummy driver?
09:00:36 Join georgeblunt [0] (n=georgebl@
09:01:24 Quit DrumRBoy320|away (Read error: 110 (Connection timed out))
09:02:08preglowlinuxstb__: i don't get how the codecs can be that slow when wavpack encode was so fast :/
09:02:28preglowperhaps the 64 bit muls really slow stuff down
09:02:58Bgerdoesn't the arm have 64 bit mul ?
09:04:56preglowyes it does
09:05:01preglowbut it's not as fast as the emac
09:05:05preglowfar, far from it
09:05:12Bgeraha :(
09:05:13preglowunless portalplayer has done some fanciness
09:06:53Bgerand there isn't something like emac on PP's chips
09:11:19preglowthere's the 64 bit multiplier which we're talking about
09:11:25preglowit's better than the emac, just slower
09:11:36preglowagain, unless portalplayer's juiced it up
09:11:40preglowwhich they really should have
09:11:57Bgerlet's hope they've done it
09:15:48***Saving seen data "./dancer.seen"
09:17:36preglowdoubt they have
09:17:47preglowbut their product spec talks about some mac thing
09:17:54preglowand i don't know what they're talking about
09:18:19Bgermaybe sthing different from the standart 64bit mul
09:26:00Jungti1234What is rtc?
09:26:11BgerRealTime Clock
09:28:27Jungti1234But, doesn't it support?
09:29:49Bgerit's not supported yet in rockbox
09:30:17Jungti1234Then, what is 'h300-rtc.diff'?
09:31:34Bgerwhere ?
09:32:04Jungti1234That I know, maybe its Bagder made.
09:32:18Bgerwhere did you see it ?
09:32:51preglowbagder doesn't even have h300
09:33:45preglowhe has ipod
09:33:50BgerJungti1234 where did you see this h300-rtc.diff
09:34:00Jungti1234i find it
09:34:18Jungti1234<linuxstb_> LinusN: I've committed that patch. All I've done on the h300 is here:
09:35:50Jungti1234<LinusN> linuxstb: ok, so now we need to find a clean solution to the i2c problem
09:36:12BgerJungti1234 when did this happen ?
09:38:08Bgerstarting 01.32.40
09:39:55 Join Zagor [0] (
09:40:45Bgerso it's not ready
09:45:44preglowat least ipod keypad is almost completely useful now
09:49:08Bgergood news :)
09:50:04Jungti1234There is no subject to sudoku.
09:50:36Jungti1234-> Sudoku is no subject.
09:51:38Bgerwhat do you want to say, Jungti1234 ?
09:52:03Jungti1234Nothing. :(
09:54:34 Quit San (Read error: 110 (Connection timed out))
09:55:01preglowi am an idiot :/
09:55:07Jungti1234Is so difficult to make understood you.
09:55:44BgerJungti1234 try different translation engine....
09:55:54Bgeror, better, try to learn some english ...
09:56:20Bgerpreglow : what's the problem
09:56:22Jungti1234I'm learning English.
09:56:32preglowBger: the problem is i'm an idiot
09:56:36preglowthe perpetual problem
09:56:48Bgerwhat to say about myself then ...
09:57:12Jungti1234Are you really idiot?
09:57:19preglowlinuxstb__: when you're here
09:57:28preglowlinuxstb__: the clickwheel is a bit more usable now
09:58:03Bgerthese 64bit amds are really sensitive to memory's chips...
09:58:35 Nick Lynx_awy is now known as Lynx_ (
09:59:05Jungti1234It works!
09:59:44BgerJungti1234 what?
10:00:17Bgeri don't think it's stable
10:00:37Jungti1234what is stable?
10:01:07Bgeri mean
10:01:24Bgerthat if you enable rtc
10:01:26 Join LinusN [0] (
10:01:33Bgerrockbox may hang/lose sound ...
10:01:40Bgermorning, LinusN ;)
10:02:11 Join Vlad0man [0] (
10:02:53Jungti1234It has some problem.
10:04:15 Quit Vladoman (Read error: 110 (Connection timed out))
10:06:01Jungti1234It doesn't save of time that I change.
10:06:17LinusNJungti1234: now you know why we haven't committed that patch
10:06:40BgerLinusN is that the only reason ?
10:06:44Jungti1234Know already. :)
10:07:02Bgeri read something about i2c ...
10:07:27LinusNthe rtc functions need to be interrupt protected, to not screw up the I2C communication
10:07:57Bgerhm, there was some silly about i2c in h100 ...
10:08:07Bgeris it here too (h300) ?
10:08:30LinusNyou mean the missing clk pullup?
10:08:41Bgeri don't remember
10:08:49 Join einhirn [0] (
10:08:54LinusNi guess that's what you mean
10:09:03Bgerbut it was something that iriver engeneers where to blame
10:09:11LinusNand the clk line is pulled up on the h300
10:09:29LinusNi blame iriver engineers for a lot of silly mistakes
10:09:39Bgerlike ?
10:09:46LinusNthe clk pullup being one of them
10:10:08LinusNon the h100, the lcd register select should have been connected to an address line
10:10:09Paul_The_NerdIs there documentation somewhere to help me get started on how to properly make a plugin, or would my best plan be to just use an existing one as a template and learn by doing?
10:10:22preglowit isn't??
10:10:27preglowhow logical
10:10:30BgerPaul_The_Nerd see apps/plugins/helloworld.c
10:10:34LinusNPaul_The_Nerd: start with the hello_world plugin
10:10:37Bgerthis is the most simple
10:10:52LinusNpreglow: it's connected to a gpio
10:10:55Bgerand look at other ones
10:11:00Paul_The_NerdAlright, thanks
10:11:09preglowLinusN: makes sense to waste gpios on that yes
10:11:11LinusNthey changed it on the h300
10:11:14Bgerand ... ask :)
10:11:18Paul_The_NerdAlso, is there a maximum plugin size?
10:11:27preglowPaul_The_Nerd: depends on arch
10:11:28Bgeryes, for iriver 768k for now
10:11:30preglowPaul_The_Nerd: 32kb on archos
10:11:40Paul_The_NerdThis would be an iRiver+ plugin, theoretically
10:11:45preglowthe 768kb will be changed to 512kb Real Soon Now
10:11:48LinusNhowever, they changed it in a silly way, using the A1 address pin
10:11:57Paul_The_NerdWhy down to 512?
10:12:03preglowPaul_The_Nerd: because 768 is really much
10:12:07LinusNeffectively preventing burst transfers... :-(
10:13:26Bgerhm, is the battery voltage in rb on h300 correct ?
10:13:45LinusNyes, it should be correct
10:14:33Bgerhm, so this means that on h300 the battery goes down to as much as 3.15V, while on h100 it goes down to ~ 2.6V ?
10:14:54Bgerthat is, before the unit turns of
10:15:18LinusNBger: have you tried to boot the original after it has turned off?
10:15:38Bgeri even tryed when rb still worked ... no effecty
10:16:02LinusNi think we still have a serious power issue on the h300
10:16:11Bgerlike ?
10:16:28LinusNlike drawing far too much power
10:16:39Bgeryes ...
10:16:53Bgeri think part of the problem is the lcd_update() ...
10:16:55preglowbecause of lacking power management or...?
10:17:28LinusNpreglow: i fear that it might be because of faulty port pin settings
10:17:41Bgeri.e. ?
10:17:51LinusNa collision
10:18:19Bgerok, it's clear to me already :))
10:18:51LinusNhehe, it means setting a port pin to an output when it should be an input
10:19:42LinusNalso, we should turn off the lcd when it isn't visible, and even stop sending data to it
10:19:55BgerLinusN i was looking into that ...
10:20:03LinusNi know
10:20:07LinusNany luck?
10:20:18Bgerreading the datasheet
10:20:52Bgerbtw, where did you get all these writes in lcd_init_device() from ?
10:21:06LinusNfrom the original firmware
10:21:21Slasheri|;; AUTHORITY SECTION:
10:21:22Slasheri| 345550 IN NS
10:21:22Slasheri| 345550 IN NS
10:21:27Slasherieh, that's "nice"
10:21:46Slasherii still have to wait 3 days before resolves to the right ip on my work machine
10:22:07Slasherithe ttl seems to be a way too high..
10:22:29preglowLinusN: can you save much power by switching off the lcd? i thought it didn't draw much
10:22:42Bgerpreglow the lcd_update is slow....
10:22:44 Quit Jungti1234 ("bye")
10:24:05Bgerand @ 11MHz (fm radio) is awfully slow...
10:26:19mirak_when writting with snprintf there is no scrolling of the screen ?
10:26:40preglowyou don't write with snprintf
10:26:45preglowyou write with lcd_puts
10:26:48preglowand no, that's doesn't scroll
10:26:57preglowyou have to use the _scrolling version to make it scroll
10:27:39preglowlct_puts_sroll, for example
10:29:50mirak_void (*lcd_puts_scroll)(int x, int y, const unsigned char* string); ok, so if I alway use 0,0 the screen while scroll
10:30:26mirak_I should just write to file
10:31:39Bgermirak_ these are the coordinates
10:31:44Bgerx and y
10:32:09Bgeruse x=0 and y=...
10:32:25LinusNBger: regarding the fm screen, we should do some changes:
10:32:31LinusN1) Remove the peak meter
10:32:33mirak_where is the scrolling then ?
10:32:38LinusN2) boost the cpu when seeking
10:33:13markunmorning mirak_
10:34:58mirak_sorry I don't understand how it can have coordinates and still scroll
10:35:10mirak_is that a lateral scrolling ?
10:37:02mirak_that's a line scrolling that's not what I need
10:38:36Bgerah, what scrolling do you need ?
10:38:41Bgerscrolling text ?
10:38:54Bgerlike going from down to up ?
10:39:57mirak_yes, I was looking how credits do it
10:40:08mirak_but that's a bit complicated
10:40:19Bgerthere's no standard way ...
10:40:19mirak_I just needed a console style output
10:42:23BgerLinusN according to the datasheet the "standby sequence" (p 131) is power off sequence + STB=1 ? or i don't get it right ...
10:42:53 Join DrumRBoy320|away [0] (
10:43:32markunmirak_: maybe output some simple messages to the screen like 'decoding frame 1' and write the full messages to a file?
10:46:01preglowmirak_: if you have a remote control, i'd just use logf
10:46:13Bgeroh, yes
10:47:18linuxstb__preglow: That button driver's looking good now.
10:47:31mirak_no remote
10:47:56LinusNBger: i think it's somewhat confusing too
10:48:30preglowlinuxstb__: still plenty of room for improvement
10:48:32LinusNBger: but i guess the STB and SLP modes are for the *controller* and the display on/off are for the LCD
10:48:41preglowlinuxstb__: but yeah, how fares the codecs? :/
10:48:55LinusNi don't think the sleep/standby modes will matter much
10:49:04Bgerok, just asking
10:49:23Bgerthis datasheet isn't one of the clearest (at least for me)
10:50:18LinusNlcd power supply current (256k colors): 1.68mA max
10:51:25LinusNcurrent consumption during transfers: 11mA
10:57:25linuxstb__preglow: I assume you read the disappointing results with a dummy driver?
10:57:39preglowyes, exactly
10:57:45preglowbut you hadn't enabled some opts yet
10:57:48preglowlike arm opts for libmad
10:57:51preglowwhich will matter
10:58:10linuxstb__I enabled those, but they only seemed to give a very small improvement - unless I didn't properly enable them.
10:58:25preglowthat sucks
10:58:57Bgerno, u'll have the oportunity to optimise libmad once more :))
10:59:13preglowjust defining FPM_ARM should be all you need
10:59:21linuxstb__I defined FPM_ARM and ASO_IMDCT in globals.h and added imdct_l_arm.S to the SOURCES
10:59:22preglowplus adding the arm assembler file to SOURCES
11:00:24preglowhow far towards realtime is it with those enabled?
11:01:01linuxstb__1m 50s to decode 1m of audio (1m 55s without the opts)
11:01:51linuxstb__Sorry, 1m 59s without the opts. 1m 55s is the vorbis time to decode the same 1m sample.
11:02:16preglowlibmad and tremor is about equally fast?
11:02:34amiconnLinusN: Missed my question y'day?
11:06:06 Join DangerousDan [0] (
11:06:41 Quit DrumRBoy320|away (Read error: 110 (Connection timed out))
11:07:00preglowlinuxstb__: what bitrates are we talking, btw?
11:07:57dwihnofor (i=0; i<len; i++) dest[i] = decoding_table[(unsigned char)src[i]]; <−− is this unoptimal?
11:08:55preglowlinuxstb__: how...
11:09:50preglowi seriously hope you've done some mistake
11:09:53linuxstb__It's possible my audio driver isn't doing the right thing, but the timings for FLAC and WavPack seem reasonable.
11:09:54preglowthis just sounds plain weird
11:10:06linuxstb__Although wavpack was a lot faster than FLAC.
11:11:37linuxstb__I hope I am making a mistake. But maybe that shows why IPL don't use libmad.
11:12:22linuxstb__I only looked briefly at libmad, but I think you've optimised things for Coldfire that don't have ARM optimisations.
11:13:07preglowi don't think i have
11:13:13preglowthe MLA macros, etc, should be fine for arm
11:13:25preglowthey weren't for coldfire, that's why i had to optimise so much
11:14:49linuxstb__So if mad really is this slow, you can't see any obvious areas for improvement?
11:15:45LinusNamiconn: the two delay calls?
11:15:52***Saving seen data "./dancer.seen"
11:15:54 Join webguest91 [0] (
11:16:33amiconnLinusN: yup
11:16:45LinusNmy LA measurements showed that the FM chip wasn't fast enough to respond
11:17:07*amiconn wonders why this worked on H1x0 then
11:17:08LinusNso we read the data just as it was changed by the tuner
11:17:17LinusNi wonder that too
11:17:30LinusNpure luck i guess
11:17:45amiconnApart from that, why not just increase the DELAY instead of using 2 ?
11:17:55markunlinuxstb__: the profiling code would not be useful
11:18:04LinusNamiconn: then all other delays would be longer
11:18:13linuxstb__markun: Which profiling code? Are you talking about xvidcore?
11:18:28markunno, someone was writing a profiler for tremor
11:18:44markundon't remember his nick
11:18:56linuxstb__That was lostlogic
11:20:10preglowsure it would be usefyk
11:20:12preglowuseful too
11:20:16preglowif it works for arm as well
11:23:23amiconnLinusN: The FM tuner chip does clock stretching, doesn't it?
11:23:38*amiconn wonders why we can be too fast
11:24:19LinusNas far as i could see, it didn't try to stretch the clock
11:25:38LinusNhowever, it might work better if i make use of the clk pullup on the h300
11:26:34LinusNone problem is that the data hold time is pretty short
11:26:57LinusNah, never mind, that's not the problem here
11:27:01dwihnoHow do you make gcc output asm out of c stuff?
11:27:26LinusNdwihno: that's what gcc does ;-)
11:28:24preglowor -s, can't remember
11:28:36XavierGrMorning all.
11:28:40XavierGrBger are you here?
11:29:11dwihnothanks preglow!
11:29:26dwihnoLinusN: naa-haa, it outputs exe files! ;D
11:31:11BgerXavierGr yep
11:31:38XavierGrYou said you made some changes in battery_benchmark plugin the other day.
11:32:03Bgeryep, but they are not finished and i'm now looking at the lcd driver of h300
11:32:06 Join mirak [0] (
11:32:32XavierGrWhat did you modified in summary?
11:32:43Bgersilly things, mainly
11:32:53Bgerbut i want to take a look at the thread
11:33:33XavierGrok, did you do a benchmark on your unit?
11:33:42Bgerhm, partially
11:34:02 Quit mirak_ (Read error: 110 (Connection timed out))
11:34:16Bgeri'll do full one next week probably
11:34:41mirakI heard that the memory limit was 800ko for plugins
11:34:42 Join San [0] (
11:34:45mirakis that right ?
11:34:47XavierGrit would be nice to know how H300 can last while playing music with rockbox.
11:35:03XavierGr768 for iriver 32 for archos
11:35:34XavierGror do you mean rockbox limit if you change the define?
11:36:01mirak768 for static memory ?
11:36:23XavierGrI think yes
11:36:29mirakwell the frames into the codec requires 1200000ko
11:36:40mirakplus the file buffer
11:36:57XavierGrI guess you will have to sue the audio buffer.
11:36:57mirakI need to change that
11:36:58LinusNmirak: then you have to use the audio buffer
11:37:16dwihnoPeople writing assembly using the gcc format must have the patience of angels
11:37:38XavierGrmirak: there is no point to use the plugin buffer for video
11:37:57XavierGr(of course you should get advantage of the remaining plugin buffer too)
11:38:48mirakok but if I use that buffer while playing something will not do it
11:39:01Bgermirak yes
11:39:18Bgerbut the video plugin should stop the music playback anyway
11:39:20mirakok for now we will do dirty
11:39:39Bger(and use some plugin interface to the codecs)
11:39:42mirakI will do something clean later
11:40:49preglowdwihno: me, patience of angel?
11:41:00preglowa fine judge of character you are :)
11:41:59XavierGrmirak if you use the audio buffer music will stop automatically
11:42:08mirakwell I am not even sure the static vars of the codec fit in 700ko
11:42:22 Quit Paul_The_Nerd ("Chatzilla [Firefox 1.5/undefined]")
11:42:42XavierGrmirak then use buffers from the audio plugin.
11:42:49XavierGraudio buffer I mean
11:43:04preglowmirak: you'll need to use the file buffer for all the codec data
11:43:08dwihnopreglow: compared to the intel format (I think what's it's called), the gnu format is completely bongo
11:43:24preglowdwihno: ahh, you mean at&t format vs intel format?
11:43:30mirak768ko is for the codec vars, including the binary ?
11:43:31preglowi don't think any of them are particularily nice
11:44:03dwihnopreglow: aah, that's what the gcc format is...
11:44:13XavierGrwait codec vars you mean plugin variables?
11:44:16preglowbut lunch time
11:44:27mirakpreglow: I see how to use the codec buffer, howevr I am afraid that the static vars and structs plus the binary takes more than 768ko
11:45:03mirakXavierGr: yes plugin variables
11:45:21mirakXavierGr: I don't know how I can monitor that space
11:45:28XavierGrmirak why not make the static vars buffer arrays from the audio buffer?
11:45:40XavierGryou can quite easily I think.
11:45:44mirakXavierGr: just imagine the work
11:45:57XavierGroh I don't know about that
11:46:45XavierGrBut I had the same problem in my first jpeg file scrolling aproach.
11:47:09XavierGrI declared a big array statically and in the worst case I was left without memory.
11:47:51webguest91hi, i have a problem: rockbox often freezes on my h320 after i have looked at a textfile when i try to enter the settings menu or the file menu, is this a known bug?
11:49:14BgerXavierGr btw regarding battery time, i think that rb is nearly 2 times less than original fw :(
11:49:34XavierGr2 times!!!! OMG.
11:49:43Bgerthat's, of course, on h300
11:49:55mirakXavierGr: ok what happens when there is not enough static memory ?
11:50:03XavierGrIn iHP we loose 1-2 hours in mp3 playback.
11:50:17mirakit crashes ?
11:50:44amiconnThe plugin won't link if you use too much space
11:51:26BgerXavierGr under 2, but i think it's more close to 2 than to 1.5 ...
11:51:58webguest91mirak: it doesn't react on button presses anymore and i have to reset the unit
11:54:04 Quit San (Read error: 110 (Connection timed out))
12:00:43 Join Jungti1234 [0] (n=jungti12@
12:01:20Jungti1234I was making out dictionary.
12:01:28linuxstb__preglow: My audio code is now committed. We just need to add the DMA to actually write data to the DAC and it should work...
12:01:42Jungti1234It's rockbox dict plugin.
12:01:57Jungti1234By the way, error became.
12:02:03 Nick linuxstb__ is now known as linuxstb (
12:02:27XavierGrah I don't know a thing about the dictionary plugin.
12:02:47Jungti1234Error: Some files couldn't be opened
12:03:18dwihnopreglow: aah, that's what the gcc format is...
12:04:30 Join Zak1392 [0] (
12:04:40Zak1392hey guys
12:04:45Jungti1234help me..
12:04:54BgerJungti1234 be more specific
12:04:58 Join JdGordon [0] (
12:05:03JdGordonhey all
12:05:23Jungti1234Bger: What?
12:05:29JdGordonhave i missed much in the last 2 weeks?
12:06:30 Quit DangerousDan ("Miranda IM! Smaller, Faster, Easier.")
12:06:44XavierGrOMG this is the 3rd time I change my approach on the jpeg file scroller.
12:07:08Bgerhehehe XavierGr
12:07:08 Quit JdGordon (Client Quit)
12:07:13XavierGrFirst with statical buffers. Then with dynamic buffers, and now I use rockbox internal dir buffer.
12:07:14BgerJungti1234 you said "help me"
12:07:27XavierGrIt was so much easier to implement the third approach.
12:07:37BgerXavierGr is it ready ?
12:07:39XavierGrBut I learned a lot from the previous too.
12:07:40mirakXavierGr: do you use a struct for static buffer ?
12:07:47XavierGrThe first was like crap.
12:07:49Jungti1234[20:01:20] <Jungti1234> I was making out dictionary.
12:07:49Jungti1234[20:01:42] <Jungti1234> It's rockbox dict plugin.
12:07:49Jungti1234[20:01:57] <Jungti1234> By the way, error became.
12:07:49DBUGEnqueued KICK Jungti1234
12:07:49Jungti1234[20:02:47] <Jungti1234> Error: Some files couldn't be opened
12:08:29Jungti1234Do you know? :)
12:08:42XavierGrmirak, no I don't have any structs. The only struct I made is the tree context struct but that is only 1struct.
12:09:05XavierGror do you mean structure of memory
12:09:27BgerJungti1234 just a sec
12:09:34Jungti1234ok thanks
12:09:37Zak1392what is the dictionary?
12:09:52BgerZak1392 a dictionary :)
12:10:01Zak1392a word dictionary?
12:10:14 Nick ashridah is now known as Lost-ash (
12:10:38XavierGrmirak: I need only 1 array that in worst case scenario will be 10000.
12:10:58XavierGrInstead of declaring it as static I use the get_plugin_buffer() function
12:11:06BgerZak1392 yes
12:11:17Zak1392does it work for h300s?
12:11:28Bgerit's a viewer
12:11:33mirakXavierGr: what exacty you get with that method ?
12:11:37BgerJungti1234 according to the plugin's source
12:11:41Bgerit searches for 2 files
12:11:47Jungti1234I know.,
12:12:17XavierGrget_plugin_buffer(&buf_size) will return to me a pointer after the binary plugin. (I will get a pointer to the plugin buffer that is not used) and buf_size will be changed to the size of the free plugin buffer.
12:12:17Bger.rockbox/rocks/dict.index and dict.desc
12:12:30Jungti1234-_-; no..
12:12:46Jungti1234I can't make 'Dict.index'.
12:12:54mirakwhat means "warning: implicit declaration of function" or how to avoid it ?
12:12:56BgerJungti1234 why ?
12:13:00Jungti1234It becomes error.
12:13:04XavierGrmirak: every time I increment my pointer I make sure to reduce buf_size and then check if it is below 0.
12:13:10Zak1392where can i download the index?
12:13:49Bgerhuh :( there was wiki page about that plugin, but it is lost ... :(
12:14:00XavierGrmirak buf_size = 0 then you have run out of plugin memory and then you need to call plugin_get_audio buffer to use the audio memory.
12:14:42mirakI used that approach for the fake malloc
12:14:50mirakthere is no boundary verification though
12:14:53Jungti1234I read already wiki page.
12:15:14XavierGrbuf_size is used for boundary verification.
12:15:16Jungti1234And did along it.
12:15:35XavierGror do you mean something else?
12:16:11XavierGrmirak problem is when you need 2 big buffers that you don't know exactly how big they will be.
12:16:13BgerXavierGr afaik, buf_size is the size of the buffer
12:16:31XavierGrof the buffer left.
12:16:32Bgeri mean, the memory you have
12:16:59XavierGrE.g: Plugin binary 50kb plugin (whole memory) 100kb
12:17:13XavierGrafter the call buf_size = 50kb
12:17:40mirak../m68k-elf/bin/ld: section .rodata [32f40000 -> 32f46ccf] overlaps section .text [32f40000 -> 32f94283]
12:17:46mirakcrap ...
12:17:51XavierGrso if you increment your buffer array you will say: bif_size -= sizeof(you variable)
12:18:05XavierGr(^you variable)
12:19:43Zak1392does anybody have the dictionary files so I can download them?
12:20:13Bgerthere were some
12:21:15linuxstbmirak: It looks like your plugin is too big.
12:21:49Rickwhat the heck are you doing mirak? :P
12:21:59XavierGrvideo codec I think
12:22:21Bgerhehe this PCF50606/05 is very popular :)
12:22:34Bgeralso the FM tuner TEA5767
12:22:41Jungti1234oh no....
12:23:09miraklinuxstb: can I change this limits, at least for me
12:23:25Bgermirak yes, u can ...
12:24:02Bgerin the corresponding config-h300.h
12:24:13linuxstbmirak: Change PLUGIN_BUFFER_SIZE in firmware/export/config-h300.h
12:24:15Bgerthere is PLUGIN_BUFFER_SIZE
12:24:37Bgereh :)
12:24:54linuxstb(I'm guessing you're working with a h300)
12:25:10Zak1392does anybody have ready made dictionary files I can download?
12:27:24BgerZak1392 there were, but after deleting of the wiki ...
12:27:57Bgeriirc the format is pretty stright-forward
12:28:04Zak1392does anybody have the time to upload the files? i really want to try this out now ;)
12:28:28mirakok it builds at least ...
12:29:38BgerZak1392 ask t0mas
12:29:40mirakwell I think I will use 6 mega bytes and don't bother with the audio buffer for now
12:29:50Bgerhe is plugin's author
12:30:40XavierGrmirak what your plugin can currently do?
12:31:01mirakit's supposed to be able to decode a file
12:31:11mirakit's based on the exemples provided
12:31:20XavierGrso no rendering yet?
12:31:23mirakit should output images
12:31:29mirakno rendering
12:31:36Jungti1234Bger: You don't know?
12:34:03Bgerhm, w8 sec
12:34:08preglowlinuxstb: i thought ipl didn't use dma
12:34:34linuxstbThe audio driver seems to
12:35:12linuxstbOr maybe I'm misunderstanding - the functions have dma in the name, but I haven't looked at them in detail yet.
12:35:54linuxstbAnd I managed to stop my "dummy" audio driver working when I cleaned it up for CVS...
12:36:15XavierGrnow I will perform a test with 6'776 files!
12:36:40Bgerso, to make dictionary files, you use tools/rdf2binary
12:36:49Bgeri'm reading the source now
12:37:50Bgerso, the input format is
12:38:18Bgerwhere <tab> = tab character
12:39:31Bgerand, afaik, they should be sorted
12:40:40Bgerthe procedure is
12:41:40Bger1) create file with all words in it in the format <word><tab><meaning><newline><word2><tab><meaning2><newline>
12:41:58Bger2) sort the file
12:42:40linuxstbpreglow: I've just fixed the audio code - dummy playback should now be working.
12:43:24 Quit actionshrimp (Read error: 110 (Connection timed out))
12:44:18preglowgoodie good good
12:44:29preglowi just got three tons of equipment to set up in here, so i'll be busy for at least an hour
12:45:44Bger3) save it as dict.preparsed
12:46:21Bger4) run the rdf2binary
12:47:06Jungti1234T.T Bger...
12:47:33Bger5) copy dict.index and dict.desc to your iriver in the .rockbox\rocks directory
12:47:37Jungti1234It is difficult that make all words to file.
12:47:46Bgeryeah, i know
12:47:54Bgerbtw, it doesn't support unicode (yet)
12:49:17 Quit edx (Read error: 110 (Connection timed out))
12:53:43 Join webguest63 [0] (
12:55:11 Join nathanh [0] (
12:55:14XavierGrok here is the latest jpeg file scroller anyone wants to take a peek and comment it?
12:55:32webguest63with shuffle mode selected, why aren't new additions to the playlist shuffled ?
12:56:07XavierGrOMG now that I think of it I am working for this 5 months
12:56:24XavierGr(not continuously but I started in August)
12:56:36webguest63starting with a clean playlist, the first entry into playlist is shuffled, but thereafter not, is this how it should be ?
12:58:56 Join Weazel_ [0] (
12:59:14 Join Kaggen [0] (
13:01:45 Quit webguest63 ("CGI:IRC (Ping timeout)")
13:07:58 Quit Zak1392 ()
13:10:35 Join Febs [0] (
13:10:41 Join petur [0] (
13:11:25 Quit ehntoo ("Leaving")
13:11:51peturBger: yesterday you said the H300 didn't exactly hang when you tried enabling recording. Mine does when I try ;)
13:12:00 Join frederic_ [0] (
13:12:04 Quit frederic_ (Client Quit)
13:12:22peturmaybe it's do to with me using gcc 4.0.2
13:15:56***Saving seen data "./dancer.seen"
13:16:20Jungti1234ok. Thanks Bger :)
13:16:54Bgerpetur are you sure ?
13:17:15Bgerhm, i'm using 3.4.4
13:17:22Bgermine... hm
13:17:29peturdidn't respond to anything
13:17:43Bgerit responded to keypresses in the meaning of backlight turning on
13:17:56Bgerand it did hard shutdown
13:18:12peturmy backlight stayed on... wait, let me try that again
13:18:12 Join edx [0] (
13:18:23Bger(rb waits for 8 secs after initiating the shutdown, and after that powers off)
13:18:34mirakthe plugin source files in a plugin/plug_folder , I have some problems building it
13:18:40CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
13:18:40*petur already grabs his paperclip
13:18:46mirakthe plugin source files are in a plugin/plug_folder , I have some problems building it
13:19:18mirakI have problems with using make stuffs
13:19:43peturyou're right, it still turns off the backlight
13:19:54peturhad the timeout too big
13:20:00Bgerand after that turns it on on keypress
13:20:11peturit does
13:20:32peturbut nothing else
13:20:58Bgerpress the "stop" key enough time to turn off
13:21:16peturwill have a go at it tonight if I get the time
13:21:29peturhehe, that worked too
13:21:39*petur puts paperclip away
13:22:16Bgerbtw i don't know how is it with h300s, but h100's reset pin is easy to broke
13:23:05peturI'll be carefull then... I get the feeling I'll be needing it
13:23:08Bgerso i use a toothpick
13:23:22Bgerhehe for sure
13:23:53peturgot to go, work calls...
13:24:01 Quit petur ("CGI:IRC 0.5.7 (2005/06/19)")
13:24:20mirakundefined references to some function
13:24:50mirakI tryed to like for other plugins
13:24:53mirakto do
13:25:33linuxstbAre the undefined references xvidcore functions or general system functions?
13:25:46mirakthat's xvidcore function
13:26:12mirakseems it doesn't try to make the sources in the folder
13:26:42mirakI have put the header to the codec
13:26:47mirakin include
13:27:01mirakseems it's not enough
13:27:35linuxstbYou should copy one of the other multi-file plugin Makefiles - such as databox/Makefile and change the SRC line in there to include all the .c files in xvidcore and your main plugin file.
13:27:38mirakI though headers were chain loading themselves
13:27:51mirakwell I did that
13:28:12linuxstbHeaders don't affect the linking.
13:28:37linuxstbSo you have a subdirectory in apps/plugins with the xvidcore code and your plugin code and a Makefile?
13:29:05mirakI tried to put the plug file into /plugins/
13:29:14mirakbut that's the same
13:29:16linuxstbAnd you modified apps/plugins/Makefile to add the name of your subdirectory to SUBDIRS ?
13:29:38Bgermirak see the databox
13:29:45markunor rockboy
13:29:45Bgeror searchengine's makefiles
13:30:14mirakI have a run cvs update it probably removed it
13:30:31linuxstbNo, cvs update wouldn't undo any of your local changes
13:30:46linuxstbDid you add anything to apps/plugins/SOURCES ?
13:32:09mirakI addes ./xvid/xvidplug.c
13:32:13mirakI added ./xvid/xvidplug.c
13:32:25linuxstbThat was a mistake - you shouldn't change SOURCES
13:32:42mirakdu no somebody told me to change it
13:33:11linuxstbSOURCES is just for single-file plugins. For multi-file plugins, you use SUBDIR in the Makefile.
13:34:52 Join San [0] (
13:35:05 Join Mmmm [0] (
13:39:49miraklinuxstb: I think I must change all the memset to rb->memset . I am not sure what is the good approach. I was about to do #define memset rb->memset , but I wonder how global the rb variable can be
13:40:28Bgerwow Jungti1234 only if i understood anything below the statusbar :)
13:41:21mirakif I put rb not as static, will it interfer with rest of the programm ?
13:42:36linuxstbIn a .h file that is included in all the xvidcore .c files, you need to put "extern struct plugin_api* rb" and "#define memset rb->memset"
13:42:37Bgermirak why don't write something like extern struct plugin_api rb
13:42:52linuxstbYou then also need to make sure that rb is defined as a global variable in your main plugin.c file
13:42:54Bgerand also remove the static before the define
13:43:16linuxstbBger: :)
13:43:22Bgerlinuxstb :)
13:43:34Bgerok, i can't be better than native english speaker :)
13:44:30linuxstbYou should probably do the same with memcpy - to use the optimised Rockbox version.
13:47:46mirakyeah I will use all of them
13:47:50linuxstbmirak: You also need to include <plugin.h> in the header file before you use struct plugin_api
13:56:33linuxstbpreglow: Does the line selector bar flicker when you move it on the Nano?
13:58:29preglowflicker how?
13:59:04preglowi think it looks just fine
13:59:19 Quit San (Read error: 110 (Connection timed out))
13:59:42linuxstbIt seems that a button press interferes with the LCD update. So if I move it one position, it moves cleanly, but if I'm moving it two or three positions (i.e. button presses are still happening during the first redraw), it flickers.
14:00:39preglowwell, the lcd update probably takes bloody ages, so small wonder
14:00:47preglowthe interrupt handler does a small udelay
14:10:04Bgerhm, i need little help
14:10:08linuxstbpreglow: Would you be happy if we removed the IPOD_NANO_PAD define, and just used IPOD_4G_PAD ?
14:10:23linuxstbI'm assuming your driver is identical for both.
14:10:38preglownot much use for the nano define, no
14:10:44preglowso at least i wouldn't mind it
14:11:08linuxstbOK, I'll do that sometime after you commit your button driver, unless you do it first.
14:11:13Bgercould someone of you see the ipod/h300's lcd controller's datasheet (available in the wiki) and look at page 51?
14:11:15preglowwe'll see
14:12:32mirakchar tmp[256]; memset(tmp, 0, 256); there is this error : error: dereferencing pointer to incomplete type
14:13:00 Quit Febs (Read error: 113 (No route to host))
14:13:03mirakthe memset is postprocessed as rb->memset(tmp, 0, 256);
14:13:09linuxstbIf you have #defined memset to be rb->memset, then it doesn't understand the type of rb
14:13:25linuxstbHave you included plugin.h ?
14:13:41linuxstbAnd also done the "extern struct plugin_api* rb"
14:14:08Bgerand remove the static word before declaring rb ...
14:14:35 Join amar [0] (
14:14:43mirakI removed static like you said
14:15:09mirak#include "../rb_api.h"
14:15:21mirakI put this line in the file that says the error
14:15:36linuxstbDoes the compiler give any other warnings?
14:16:16Bgerhm, w8
14:16:24Bgerwhat's the name of this file ?
14:16:36mirakBger: check the pastebin
14:16:39Bgerthat "#include <plugin.h>
14:16:45preglowman, this performance can't be for real
14:17:30mirakBger: "../rb_api.h"
14:17:36Bgermirak change that _PLUGIN_H_
14:17:37linuxstbpreglow: I hope not.
14:17:55preglowwav files should _fly_
14:17:56preglowthey don't
14:18:04Bgerone of the first lines of plugin.h checks for exactly the same define
14:18:17linuxstbpreglow: They fly for me. But maybe it's the disk reading slowing it down.
14:18:29mirakBger: oh sorry I am stupid I forgot to change it
14:18:29preglowwell, they're fast here
14:18:34preglowbut not as fast as i would have thought
14:18:54linuxstbBy fly, I mean they are about 400% realtime.
14:19:06mirakBger: I just pasted ...
14:19:16preglowlinuxstb: that doesn't qualify
14:19:24preglowi also get 400% realtime, but that's nothing
14:19:36preglowrockbox sometimes reboots here
14:19:36Bgermirak ?
14:19:48preglowogg playback is faster than realtime here
14:19:55preglowmp3 playback is about realtime
14:20:09mirakBger: I pasted the ifdef strcutre but forgot to change to the appropriate name
14:20:12linuxstbMmm. Strange. So it seems there is more going on than I thought.
14:20:32linuxstbI could do with someone that understands the pcm_playback.c code to look at the ipod version.
14:20:43*preglow summons the mighty Slasheri
14:20:51Bgermirak oh, never mind :)
14:20:54 Quit einhirn ("Miranda IM! Smaller, Faster, Easier.")
14:21:32 Join webguest79 [0] (
14:22:07linuxstbpreglow: You are doing a lot of summoning
14:22:17preglowlots of questions merits lots of summoning
14:22:20Bgerplease, let someone look at
14:22:27Bgerpage 51
14:22:30preglowplus, my summing skills have rusted a bit, obviously
14:22:59_FireFly_Bger: what should be on page 51 ??
14:23:13linuxstbBger: Are you talking about power-saving?
14:23:41Bgeri just want to understand what does the text about (for example) VDV4-0 mean
14:23:51 Quit webguest91 ("CGI:IRC (Ping timeout)")
14:24:03preglowlinuxstb: it still locks on some disk accesses here :/
14:24:18linuxstbI get the same - it's very unstable at the moment.
14:24:29Bgerdoes it mean that we have 32 steps between 0.6 and 1.23
14:24:37*linuxstb summons someone that understands the ATA code
14:24:40Bger(5 bits, 2^5)
14:25:11Bgerso i must divide (1.23-0.6)/32 for a step ?
14:25:40 Quit webguest79 (Client Quit)
14:25:53preglowlinuxstb: both mp3 and ogg are most definitely realtime here
14:26:04preglowmp3 even at 230kbps
14:26:30Bger230 or 320:)
14:26:33linuxstbThat's good news then.
14:26:47preglowwhat i wrote
14:26:59linuxstbIs that with the ARM opts I enabled?
14:27:07preglowit's with whatever you commited
14:27:17linuxstbOK, so yes.
14:27:25linuxstb(assuming that worked)
14:28:06 Join elinenbe_ [0] (
14:28:06 Quit elinenbe (Read error: 104 (Connection reset by peer))
14:28:12linuxstbpreglow: How about AAC?
14:28:12 Nick elinenbe_ is now known as elinenbe (
14:30:51preglowi need to copy some first
14:30:52preglowgimme a sec
14:31:12LinusNlinuxstb: what do you want to know about the ata code?
14:31:13Bgerlinuxstb ?
14:31:21Bgerah, LinusN :)
14:31:40Bgercould you help me ?
14:32:06LinusNwith what?
14:32:13Bgersee above, pls
14:32:22Bgerthe lcd controller datasheet, page 51
14:32:24preglowoh, joy to the world
14:32:58 Quit Weazel_ ()
14:36:20preglowhaha, what the hell
14:36:24preglowthe mic amp's got a fan
14:36:33preglowoh well
14:36:49linuxstbLinusN: I would just like somebody to look at the ipod version and tell me if there is something obvious that I've missed.
14:37:23linuxstbDisk access seems to work, but also seems unreliable.
14:37:31linuxstbIf that makes sense :)
14:37:43LinusNBger: as i understand it, each bit of the R, G or B component has its own voltage regulator, that adds to the final intensity of the pixel
14:37:48preglowi've gutted the ipl button driver completely
14:38:13preglownow it's at least starting to look presentable
14:38:25LinusNlinuxstb: it doesn't work?
14:38:38preglowit works sporadically
14:38:43preglowsometimes it seems to just hang when accessing
14:39:33LinusNpreglow: does it have support for IORDY?
14:39:44 Quit _FireFly_ ("IceChat - what the cool people use")
14:40:04preglowask linuxstb, i have no idea
14:40:23preglowit's probably very hard to see from the ipl sources...
14:40:41preglowwhere such a thing as iordy might very well be called 0xf3459328
14:40:48linuxstbIn the disk info, it says "IORDY support: yes" and "IORDY disable: yes"
14:40:59linuxstb(in the debug menu)
14:41:19preglowand you're sure the function getting that info is correct?
14:41:37LinusNlinuxstb: i mean if the ata *controller* supports iordy
14:42:02linuxstbLinusN: I don't know.
14:42:12LinusNone possible cause of a hang could be that you enable iordy in the controller, but the iordy signal isn't connected
14:42:15 Quit Mmmm ()
14:42:34LinusNdo you know how "hard" the hang is?
14:42:44LinusNdoes the cpu halt completely?
14:42:52 Join Mmmm [0] (
14:42:54preglowit easily might
14:42:57preglowthe backlight never turns of
14:44:06Slasheripreglow: hi :)
14:44:25preglowwhy, good day
14:44:41mirakmotion/estimation_pvop.c:798: error: conflicting types for 'MotionEstimation'
14:44:41mirakmotion/motion.h:62: error: previous declaration of 'MotionEstimation' was here
14:44:53mirakconflicting types
14:45:04Slasheripreglow: you summoned me ;)
14:45:14mirakI don't see why I got that now and not on the PC build
14:45:34preglowSlasheri: yeah, linuxstb was looking for someone who understood the pcm_playback.c code
14:45:35Slasherilinuxstb: the pcm_playback driver should be easy to do to communicate with the pcmbuf properly
14:45:56Slasheriit just needs to generate the callbacks when it needs more data
14:46:28mirakI got a dupe
14:46:36mirakseems the preprocessor asn't done is jobe
14:47:02linuxstbSlasheri: I think that's the problem - I'm probably not callling get_more() enough.
14:47:29linuxstbCould you have a quick look at the CVS version of pcm_playback.c and let me know how I can make it empty the PCM buffer as quickly as the codecs can fill it?
14:47:40Slasheriah. Hmm, please check also the simulator audio code. It should be quite simplified pcm_playback driver
14:47:58preglowi wonder what in the nano's making the sound...
14:48:30Slasherilinuxstb: sure, just a moment. I will have a quick look on it (have to go to bus soon)
14:48:30preglowlinuxstb: aac might be realtime
14:48:32 Join DrumRBoy320|away [0] (
14:48:40linuxstbpreglow: That's what I thought...
14:49:22preglowlinuxstb: why?
14:49:49Slasherilinuxstb: you should empty the buffer on so that the hardware pcm buffer keeps full all the time
14:50:24linuxstbpreglow: I don't know...
14:50:27preglowman, wavpack flies
14:50:51Slasherilinuxstb: so you should call the get_more always when there is free space on the hardware buffer, or on dma request
14:51:47preglowoh, how i long for the time we'll try to support pp5002
14:51:54Slasherilinuxstb: oh, i looked the wrong commit.. :)
14:54:19Slasherilinuxstb: hmm, seems like you need to enable the dma..
14:54:50LinusNlinuxstb: is the ipod ata code in cvs?
14:54:54Slasheriand i think it could be a good idea completely separate the uda and wm8975 driver if they are very different
14:55:20preglowLinusN: yeah
14:55:47Slasherilinuxstb: the driver/hardware should run the pcm buffer and request data always when it needs to
14:56:38linuxstbSlasheri: I just wanted to do a dummy driver for now so we can see how fast the codecs are working.
14:56:54 Join Weazel_ [0] (
14:57:05linuxstbIs that possible without a lot of work?
14:57:11Slasheriah! Hmm.
14:57:23LinusNlinuxstb: i don't see anything suspicious in the ipod ata driver
14:57:26Slasherishould be. Then you should prevent running the pcm buffer completely empty
14:57:50Slasheriyou could somehow check with the pcmbuf.c call pcmbuf_is_lowdata() and if true, wait a bit
14:58:00linuxstbLinusN: Is there anything I can do to test your IORDY theory?
15:02:42linuxstbSlasheri: Why is it a bad thing for the pcm buffer to become empty when I want to let the codecs decode as fast as they can?
15:05:46LinusNlinuxstb: you can try to disable iordy with the SET_FEATURES command
15:06:59LinusNlinuxstb: in the set_features() function, change:
15:07:08LinusN { 83, 14, 0x03, 0 }, /* force PIO mode */
15:07:55*Bagder makes a drum roll...
15:07:56LinusN { 83, 14, 0x03, 1 }, /* force PIO mode without IORDY */
15:08:57preglowmusepack doesn't play at all...
15:09:02preglowprobably my budggy opts
15:10:31mirakthere is a portab.h file in xvid source with a bunch of #defines depending on arch. maybe one could look at it and correct some things
15:10:32linuxstbLinusN: Trying now. Thanks.
15:10:51 Quit tvelocity ("Leaving")
15:10:58mirakIt's about type depending on the compilator
15:12:24Bagderdoesn't look like it needs any adjustments
15:13:18 Quit Mmmm ()
15:14:07linuxstbpreglow: Can you test the change Linus suggested? I'm not sure, but I think it might have done the trick.
15:14:37markunmirak: things can be removed and you can do #define read_counter rb->current_tick I think
15:15:58***Saving seen data "./dancer.seen"
15:16:22mirakCACHE_LINE is the bus size to do alignements
15:16:30mirakI used 32 bits
15:16:35preglowplugin still gives me a blank screen here
15:16:45mirakif it's this ...
15:17:12linuxstbpreglow: I'm only getting that with bejeweled. Other plugins seem to be working reliably. But it may just have been luck
15:17:30preglowlemme see
15:18:16preglowwhy does starfield only sometimes have stars at all? :>
15:19:22preglownah, cube fucks up and snow does as well
15:19:30preglowso plugins are definitely not working any more than before here
15:21:14preglowcan't seem to get other disk accesses to lock up, though
15:21:19markunmirak: Yes, I think you did it correct like that
15:24:32 Quit Jungti1234 (Read error: 110 (Connection timed out))
15:24:35linuxstbpreglow: I've got to run now, I'll investigate the IPL source a little more this evening.
15:24:49linuxstbLet me know if you think Linus's change improves things.
15:27:32 Quit DrumRBoy320|away (Read error: 110 (Connection timed out))
15:46:43 Join muesli- [0] (n=muesli_t@
15:52:01mirakmotion/estimation_pvop.c:798: error: conflicting types for 'MotionEstimation'
15:52:01mirakmotion/motion.h:63: error: previous declaration of 'MotionEstimation' was here
15:52:30Bagdermake them identical
15:52:37mirakthe types match already
15:52:51Bagderso the compiler is wrong?
15:52:59mirakI was wondering if postprocesser was doing some stuff
15:53:09mirakthat's why I showed portab.h
15:53:10Bagderyou mean preprocessor
15:53:23Bagderthen run only that and see
15:53:30Bagderuse gcc's -E option for that
15:55:36mirakhow ?
15:55:39*Bger never has known that LCD controller is such complicated beast ...
15:56:36mirakI added it to c flags of the make
15:58:48mirakthe prototype match the definition
15:59:28Bagderso you're saying gcc is drunk then?
15:59:47Slasherilinuxstb: because then audio will stop if the buffer gets empty and restart again after few chunks are buffered
16:01:29mirakBagder: maybe I can send you the tar and you debug it for me
16:02:44Bagdernah, I don't have time now. Gonna leave soon. I could have a peek later tonight perhaps
16:11:21 Part amar
16:13:23mirakis there an equivalent to scanf ?
16:13:23 Quit nathanh (Read error: 104 (Connection reset by peer))
16:15:34amiconnLinusN, linuxstb: Afaik, the 'force PIO without IORDY' will only work for disks which support IORDY disable
16:16:15 Quit muesli- ("ich will Kühe!!!")
16:16:57mirakBagder: how would you translate that sscanf(tmp, "XviD%dC", &dec->bs_version); ?
16:17:51Bagderget all digits between the D and the C
16:18:04Bagderand make an atoi() on them
16:18:49LinusNamiconn: yes, of course
16:20:05 Join _FireFly_ [0] (
16:23:31mirakBagder: here sscanf scans the full buffer tmp until it matches Xvid%dC ?
16:24:15mirakit scans from the start of tmp
16:24:32mirakok so that's not that hard to emulate
16:24:58 Quit georgeblunt (" HydraIRC -> <- The dawn of a new IRC era")
16:25:18mirakBagder: is it possible to extend the rockbox library of functions ?
16:25:31Bagderin fact, you can probably get away with !memcmp(tmp, "Xvid") and then do atoi() on tmp+4
16:25:42Bagdermirak: of course
16:26:03Bagdermirak: these libc style functions are in firmware/common/
16:26:06mirakyes but it needs to stop after %d
16:26:19Bagderatoi() only scans decimal digits
16:26:50_FireFly_atoi stops when it founds a non decimal character
16:27:46mirakok, I don't know how undefined parameters are handled by C though
16:28:11Bagderthey can't be
16:28:35Bagderan inifinite parameter?
16:28:40mirakscanf(bla,blab, ... )
16:28:49Bagderyou mean the ... concept?
16:28:55_FireFly_that is done via va_lists
16:29:08Bagdermirak: check the printf() code etc
16:29:31mirakthat's what I was looking for
16:29:35mirakis it in rockbox
16:29:49Bagder"mirak: these libc style functions are in firmware/common/"
16:29:59mirakyes, but I don't see printf
16:30:01Bagdersee sprintf.c
16:30:13*Bagder runs off
16:30:14mirakah my eyes ...
16:30:22Bgertime to say moo? :))))))))
16:30:30_FireFly_moep :)
16:30:53mirakbut I must then add it to the api ?
16:33:46mirakok I will not do that it's to complicated
16:37:40mirakok %d is just one digit
16:37:53mirakthat simplifies things a lot then
16:37:54 Quit z35 (Read error: 110 (Connection timed out))
16:38:28_FireFly_mirak: it doesn't matter when using atoi or miss i something ?
16:38:51miraki = sscanf(tmp, "DivX%dBuild%d%c", &version, &build, &packed);
16:39:12mirakthe problem is I need to now the size in characters of %d
16:39:36mirakwell we want to %d
16:39:49_FireFly_to what ??
16:39:58mirakget !
16:40:12mirakso the first one is easy
16:40:36_FireFly_the second also :)
16:40:37mirakif we give to atoi char[4] to skip Xvid
16:40:51mirak_FireFly_: how do you do that ?
16:41:35mirakwith a for and trying to check if next character is not a digit
16:41:37_FireFly_simply combine with sprintf the Xvid nad the fetched first number and then use strlen
16:41:46_FireFly_or so
16:42:11mirakwhat ?
16:42:46mirakI don't see how you do that
16:42:52 Part LinusN
16:42:54_FireFly_sprintf(buf,"DivX%d",number); where number iid the first number which you got
16:43:22_FireFly_then an strlen(buf) gives you the new position
16:43:42_FireFly_plus the numbers of chars for Build :)
16:43:44mirakyeah that's nice
16:44:30_FireFly_then the strlen will get the position for the second number
16:44:37_FireFly_the start position
16:51:14 Quit akaidiota (Read error: 110 (Connection timed out))
17:00:43 Quit Zagor ("Client exiting")
17:05:56mirakchar buf[30];
17:05:57DBUGEnqueued KICK mirak
17:05:57***Alert Mode level 1
17:06:07mirakseems that's it
17:06:59_FireFly_is packed really an number ??
17:07:25_FireFly_because '<mirak> i = sscanf(tmp, "DivX%dBuild%d%c", &version, &build, &packed);' say that packed %c is
17:09:24 Join DrumRBoy320|away [0] (
17:09:46mirak_FireFly_: yeah it's a caracter
17:09:47mirakI missed
17:09:59mirakI am glad to have flooded the channel :)
17:10:41mirakby the way it should be rb->strlen
17:11:01_FireFly_yepp but my code was only an example :)
17:11:27mirakhey I accuse nobody :)
17:11:57mirakhopefully there is no other scanf
17:12:19_FireFly_why don*t you search the source for it ??
17:13:05mirakI said to my self that if it's not in rockbox maybe it uses some other lib
17:14:07lostlogi1xwhy does "if (profiling) profilign++; else goto out;" cause profiling to be loaded two separate times into the same register on instructions separated by nothing but a conditional jump?
17:14:18amiconnWhat other lib should that be? Rockbox is a 'freestanding' environment as gcc defines it
17:14:43mirakamiconn: libs in the scanf linux source
17:15:02mirakI don't have checked so I don't know
17:15:32_FireFly_afaik sscanf depends on nothing other fns
17:15:36 Nick lostlogi1x is now known as lostlogicx (
17:15:36DBUGEnqueued KICK lostlogicx
17:15:50mirakthat's in libc sources?
17:15:58***Alert Mode OFF
17:16:01***Saving seen data "./dancer.seen"
17:16:12_FireFly_mirak: what do you want to say to us ??
17:16:37_FireFly_it thought i meant that you hope that no other sscanf-call is in the xvid sources
17:16:56_FireFly_so i said that you should search the xvid-sources about it
17:17:03mirakthere is no other scanf calls, there was only 4
17:17:27_FireFly_<mirak> hopefully there is no other scanf << what then did you meant whith that ??
17:17:27mirakI though you asked me to search scanf sources in libc sources
17:17:54mirakI though you asked me to search scanf sources in libc sources to adapt it rockbox
17:18:08_FireFly_no i didn't :)
17:28:26 Quit DrumRBoy320|away (Read error: 110 (Connection timed out))
17:30:00 Quit Bger (Read error: 113 (No route to host))
17:31:24 Join Mmmm [0] (
17:31:40mirakI still end on the same error
17:32:03mirakmotion/estimation_pvop.c:798: error: conflicting types for 'MotionEstimation'
17:32:03mirakmotion/motion.h:63: error: previous declaration of 'MotionEstimation' was here
17:32:03mirakmotion/estimation_pvop.c:798: error: conflicting types for 'MotionEstimation'
17:32:03mirakmotion/motion.h:63: error: previous declaration of 'MotionEstimation' was here
17:32:09mirakI got that in a row
17:32:16mirakthe two in a row
17:33:09mirakthe prototype in motion.h really match prototype in estimation_pvop.c
17:38:45 Quit Mmmm (" HydraIRC -> <- The future of IRC")
17:50:48 Join Mmmm [0] (
17:50:48 Quit Weazel_ (Read error: 104 (Connection reset by peer))
18:02:16 Join linuxstb_ [0] (n=linuxstb@
18:02:26CtcpIgnored 2 channel CTCP requests in 9 minutes and 39 seconds at the last flood
18:02:26*Mmmm watches the tumbleweed being blown across the street
18:03:14linuxstb_mirak: That function using the type "IMAGE", which is defined as a struct of three "uint8_t" variables. I'm guessing that the .h and .c files include different header files, resulting in different interpretations of uint8_t
18:04:09mirakI removed an include of the rb api and don't have this error for now
18:05:43linuxstb_global.h looks a mess of definitions and #ifdefs - if I was you I would delete everything from that file that you don't need. That will stop other unexpected problems in the future.
18:06:01 Part Kaggen
18:06:22mirakwell there is also all VMS crap and IA32 or 64 assembly
18:06:34mirakthere is really a lot of stuff that could be cleaned
18:06:44mirakincluding the encoder parts
18:14:30Slasheriah, now dual tagcache operation seems to work. It can be accessed from disk and it's automatically loaded into ram.. really fast :)
18:16:36_FireFly_Slasheri: dual ??
18:17:11Slasheri_FireFly_: yes, of course. So loading the cache into ram is not necessary to use it
18:17:32_FireFly_Slasheri: what do you mean with dual ??
18:17:38Slasheriand if tag database can be displayed immediately after boot without waiting it to be loaded into ram
18:17:56Slasheri_FireFly_: operating directly from disk (something like tagdb did) and without disk
18:18:05_FireFly_ah ok
18:18:43mirakwhat about #include <stdio.h>
18:18:51mirakI should get rid of that
18:18:59Slasherii think i could also add the crc thing to enable a separate runtime db
18:22:12Slasheritagdb stored a crc checksum of the first 32 KiB of every file to identify the files inside the database. Tag cache works little differently, but adding that crc as a separate tag should be nice way to do it
18:22:23_FireFly_Slasheri: i have a small function for crc (ripped of from zlib-sources)
18:22:32 Nick Lynx_ is now known as Lynx_awy (
18:22:33SlasheriThen song scores can be saved to a separate file and identified with that crc instead of file name
18:22:54Slasheri_FireFly_: hmm, sounds nice if that's small :)
18:23:11CassandraI think I missed something. What's the difference between tag cache and tag db? Is tagdb now obsolete?
18:23:14_FireFly_afaik the biggest is the lookup-table
18:24:03SlasheriCassandra: tagdb is a completely another implementation to support features tagdb couldn't offer. But i wouldn't say tagdb is obsolote, at least not at the moment
18:24:05_FireFly_Slasheri: on there is a zip-file calld
18:24:19Slasheri_FireFly_: i will have a look :)
18:24:30Cassandratagcache is still pre-generated on host, I assume?
18:24:39Slasherino, on the player only
18:24:47Slasherion background just like dircache
18:25:02CassandraOh, right.
18:25:15Slasheriand when adding new files, the tagcache is updated - not completely regenerated
18:25:37_FireFly_Slasheri: the background-cache guru :)
18:25:41Slasherihehe :D
18:25:41CassandraSo why doesn't it supercede tagdb? What's it missing?
18:25:55SlasheriCassandra: it might in future, but i cannot promise that :)
18:26:51Slasheriat least it should offer the same feature tagdb did and more (for example genre searches). But i don't have an archos so i could test how the implementation works on those players (but it should work)
18:27:51mirakhow can I remove the pointers cast warning ?
18:27:55mirakfrom gcc
18:27:55Slasheriprobably i have some kind of patch to test in few days
18:28:05Slasherimirak: you should cast the pointers :)
18:28:08CassandraGood good.
18:28:26CassandraIt's nice not to have to rely on an off-player solution.
18:28:39mirakSlasheri: it should be ok with the cast. gcc says tons of warnings for xvid
18:28:45mirakI don't want them
18:28:52Slasheriah :/
18:28:55miraksince it works, I didn't touched it
18:28:59Slasherithen you probably have to edit the Makefile
18:29:14Slasherior fix those warnings.. :)
18:30:42mirakI don't understand why there is all this warnings, because when we make for pc there is not that much warnings
18:30:46Slasheri_FireFly_: oh, that crc function looks great, at least it should be fast
18:30:53mirakmaybe that's the cross compiler options
18:31:01_FireFly_there are also two examples how to use it :)
18:31:06Slasherihehe :)
18:31:23_FireFly_one which makes it char by char the other uses a buffer
18:39:18preglowSlasheri: btw, did you try to fix the problem with the glitching between track changes when skipping?
18:39:21preglowi can't remember
18:39:36preglowi just had it happen just now again, but it's been ages since last time
18:41:41linuxstb_mirak: Don't ignore warnings - they are there for a reason :)
18:42:27Slasheripreglow: Hmm, that was without crossfade?
18:43:02Slasherii did some fixes but that problem seems to be more difficult to reproduce/fix
18:44:30preglowwithout, yes
18:44:53preglowwell, it's pretty obvious why the problem occurs, no?
18:44:55Slasheriand that glitch happened when next track was loaded from buffer and not from disk?
18:45:01preglowfrom buffer, y es
18:45:12Slasheriok, then it's probably connected to the crossfade bug
18:45:29preglowcrossfade bug which happens when i don't use crossfading? :>
18:45:37XavierGrSlasher I can confirm this too.
18:45:45XavierGrWithout crossfade it wil pop like hell.
18:45:48Slasheriyes, some parts of the crossfade engine are always used when switching tracks in buffer..
18:45:51Slasherito prevent gaps
18:46:00XavierGrcan't we just stop audio right before the track changes.
18:46:07XavierGralso I can get pops on track transitions.
18:46:11Slasheriyes, that would be the simplest solution
18:46:20Slasheripops are crossfade bug
18:46:37miraklinuxstb: I don't know how to deal with that. Like I don't know what do if there is an error, at the end but only warnings in the gcc message
18:46:58Slasheriand i still don't know for sure what causes those bugs.. but i will investigate those
18:47:55XavierGrIt is the #1 bug in the audio aspect for me. I always hesitate to change tracks because of this
18:48:09Slasherioh :/
18:48:18Slasherithe crossfade pops?
18:48:30XavierGrwithout crossfade
18:49:01Slasheriah, that's weird.. i try to reproduce that problem soon
18:49:23XavierGrmaybe I will have to send you some recoreded samples to see.
18:49:45XavierGranyway have to run, later all.
18:49:49Slasheriwould be really helpful, if the problem is easily reproducable with those samples
18:49:55Slasherisee you :)
18:50:06preglowi wouldn't want to stop playback when the track already is in the buffer
18:50:27XavierGralso (on a final note) while most of the times crossfade will work out fine. When you fiddle a lot with it it will just brake or don't crossfade at all
18:50:51XavierGrfiddle = change tracks quikly just after audio started.
18:50:59Slasheridon't crossfade at all is intended solution when buffer has not enough samples
18:51:03XavierGrbrake = pop or something like that.
18:51:14Slasheribut those pops are not intended :)
18:51:17XavierGrah ok then
18:51:59XavierGrI will see if I can get you songs that have such behaviour and maybe I will record those pops using the line out.
18:52:05 Part XavierGr
18:52:09 Quit Rob2222_ ()
18:53:38preglowlinuxstb_: will commit the button functions very soon now
18:58:52preglowlinuxstb_: i'll just remove all references to IPOD_NANO_PAD, then
19:00:49mirakkbox/firmware/include/string.h:27: error: parse error before '->' token
19:00:58mirakI got a problem with the #define approach
19:01:04mirakfor memset
19:01:32mirakisn't it weird that the #define memset memset-> goes that far ?
19:01:41preglowlinuxstb_: on no, even with the iordy fix, i got a hang on trying to play a track here
19:02:01_FireFly_mirak: #define memset memset-> ??
19:02:12mirak_FireFly_: mmm ?
19:02:23linuxstb_mirak: Don't include string.h
19:02:26Slasherieh, that couldn't work..
19:02:33_FireFly_Slasheri: ;)
19:02:33preglowlinuxstb_: could you test a build before i commit?
19:02:49linuxstb_Sorry, my iPod is at home, and I'm not.
19:03:06_FireFly_mirak: i think you mean #define memset rb->memset don't you ??
19:03:10linuxstb_And I'm about to visit the beer shop for the evening.
19:03:46preglowi want to go back to the pub :/
19:04:15linuxstb_No, you must stay and code
19:04:36preglowdon't think i'll bother going down alone anyway
19:06:05linuxstb_Well, have a good evening whatever you do. I'll check the logs tonight, so let me know if you want me to test a build before you commit.
19:06:10 Quit linuxstb_ ("Leaving")
19:06:12preglowi'll just commit
19:06:44 Join perplexity [0] (n=joust@
19:06:48preglowit's not like the intended audience (you and me) are going to shoot me if it fails anyway
19:06:51preglowthat is, i might shoot myself
19:10:08 Join DrumRBoy320|away [0] (
19:16:04***Saving seen data "./dancer.seen"
19:26:02preglowgod damn
19:26:28preglowi find out _NOW_ that non-phixion is playing here in bloody two hours
19:26:35preglowcommit will have to wait, later all
19:28:05mirak_FireFly_: yes sorry
19:28:11mirakva_start(args, fmt);
19:28:11mirakvsprintf(buf, fmt, args);
19:28:20mirakthat vsprintf is bothering me
19:28:34mirakby what can I replace it ?
19:31:36_FireFly_vsnprintf ?? ;)
19:33:20Mmmmwho're non-phixian??
19:33:54SlasheriHmm, seems that the fs readwrite routine is still quite buggy with read & write..
19:35:33 Join Rob2222 [0] (
19:36:24mirak_FireFly_: there is no vsnprintf in the api
19:37:15_FireFly_sprintf.c ??
19:37:53_FireFly_but it could that this fn is missing in the plugin-api struct
19:37:57_FireFly_could be
19:38:03Maxime`what's the difference between 'sprintf' and 'snprintf' ? oO
19:38:17SlasheriMaxime`: snprintf takes the buffer size
19:38:34Slasheriso you should use it always, unless you are absolutely sure the can't be a buffer overflowing
19:42:50 Quit ze (Read error: 110 (Connection timed out))
19:44:47mirak_FireFly_: I added the method the the structure api
19:44:57mirakI don't need to initialise it ?
19:45:06_FireFly_afaik not
19:45:15_FireFly_or what do you mean
19:45:26mirakI added the type to the api struct
19:45:33mirakin plugin.h
19:46:01_FireFly_then you need to initialise it in plugin.c
19:46:04mirak_FireFly_: but shouldn't it be initialised or sometinh ?
19:46:56mirakok got it
19:46:58 Quit Mmmm ()
19:48:00 Join Mmmm [0] (
19:51:37mirak_FireFly_: it doesn't work
19:51:43mirakno wonder why it's not in ^^
19:52:10_FireFly_they do you have made something wrong
19:53:42mirakplugin.h:301: error: parse error before "va_list"
19:53:43mirakplugin.h:301: warning: function declaration isn't a prototype
19:54:07_FireFly_int (*vsnprintf)(char *buf, int size, const char *fmt, va_list ap);
19:54:32_FireFly_does your line in plugin.h looks the same ??
19:55:12 Join dpassen1 [0] (n=dpassen1@resnet-233-61.resnet.UMBC.EDU)
19:55:14mirak int (*vsnprintf)(char *buf, int size, const char *fmt, va_list ap);
19:55:19 Quit dpassen1 (Client Quit)
19:55:25mirak_FireFly_: the same
19:55:51mirak /* strings and memory */
19:55:51mirak snprintf,
19:55:51mirak vsnprintf,
19:55:51mirak strcpy,
19:56:03 Join dpassen1 [0] (n=dpassen1@resnet-233-61.resnet.UMBC.EDU)
19:56:24mirakI don't know what's wrong
19:56:37Bagderyou miss an #include
19:58:00_FireFly_stdarg.h i guess
19:58:29_FireFly_or is it stdio.h
19:58:50_FireFly_yepp it is stdio
19:59:38_FireFly_this is already included in plugin.h
20:02:06_FireFly_strange i can't find an header in the rb-sources which defines the va_list
20:04:51_FireFly_ok if i add stdarg.h then it works
20:05:23_FireFly_but stdio.h includes also stdarg.h
20:05:36_FireFly_and stdio.h is included in plugin.h
20:07:51mirakthanks !
20:07:55_FireFly_so why i need it then
20:08:07_FireFly_to include it a second time in plugin.h
20:09:10_FireFly_and i see also that in stdio.h vsnprintf is also defined
20:09:32_FireFly_instead va_list it is __VALIST
20:19:25mirak/usr/local/coldfire/lib/gcc/m68k-elf/3.4.4/../../../../m68k-elf/bin/ld: /home/karim/Prog/src/rockbox/builddir/apps/plugins/xvid/xvid_decraw.elf: section .data lma 0x32a547b4 overlaps previous sections
20:19:27 Quit DrumRBoy320|away (Read error: 110 (Connection timed out))
20:19:32mirakhi still have that error
20:19:36 Part zeero ("Leaving")
20:19:42mirakthough I exetended plugin memory
20:19:50 Join bazz [0] (
20:20:30_FireFly_mirak: i think you mean that your plugin is too big ?
20:20:59mirak#define PLUGIN_BUFFER_SIZE 0x600000
20:21:05mirakmaybe that's too big now
20:24:55bazzso, i'd like to check in/submit what i have of the sdl port of the sim. it works on linux, has some issues on windows, but i figure i can let other people hack at it too if they want. what would be the process for that?
20:29:26 Join ze [0] (
20:37:26 Quit solexx_ ("reboot :(")
20:43:36 Join solexx [0] (
20:43:36 Join DrumRBoy320|away [0] (
20:46:04 Quit Mmmm ()
20:46:24 Quit mirak ("Ex-Chat")
21:07:56 Join einhirn [0] (
21:08:02 Quit DrumRBoy320|away (Read error: 110 (Connection timed out))
21:09:58 Join solexx_ [0] (
21:16:08***Saving seen data "./dancer.seen"
21:21:53 Quit solexx (Read error: 110 (Connection timed out))
21:24:09 Join petur [0] (
21:31:31 Join muesli__ [0] (
21:35:56 Quit elinenbe (" Try HydraIRC -> <-")
21:37:48 Join Mmmm [0] (
21:39:01 Quit _FireFly_ ("Leaving")
21:44:01MmmmOoh, that sounds like fun... can I have a go?
21:44:21peturjust got recording on H300 working, I think
21:44:48peturat least the peakmeters were reacting on the internal mic
21:44:52Mmmmwell think?
21:45:35peturI pressed stop and there was no file in the recordings dir, but I don't know how to operate, so maybe I didn't start it at all
21:45:42peturjust a sec...
21:46:30 Join gromit` [0] (n=gromit`
21:47:16peturyes it does! internal mic recording is working
21:47:28peturnow the external source...
21:49:50MmmmBlimey the H300 is really comming along at a blazing rate!
21:50:46peturhmmm still some work to do
21:51:02peturline-in is almost inaudible
21:51:31peturand each start or end of the recording has some noise attached
21:51:39peturany H1xx user around?
21:52:23 Quit ender` (Read error: 110 (Connection timed out))
21:52:49peturdone recording on it?
21:52:55Mmmmoh yes!
21:53:10peturno noise added at begin or end?
21:53:47Mmmmnot that I remember...hang on, i'll check...
21:56:22peturfeared that... will have to find out before releasing this...
22:01:19 Join muesli- [0] (
22:02:20peturradio recording works also :D
22:03:33 Quit muesli__ (Read error: 104 (Connection reset by peer))
22:08:57 Quit solexx_ (Read error: 104 (Connection reset by peer))
22:09:53 Join DT291 [0] (
22:09:53 Quit DreamTactix291 (Read error: 104 (Connection reset by peer))
22:11:25 Join solexx [0] (
22:12:14peturMmmm, still here?
22:13:44peturdoes the original H1xx firmware also allows to select mic-in or line-in?
22:13:52petur(both external)
22:14:06lostlogicxhmph gcc4 makes bigger code than gcc3.4.4 and causes my optimizations to overflow iram.
22:14:40petur:( my crosscompiler is 4.0.2
22:14:40Mmmmyes, the external mic in has a boosted signal
22:14:42lostlogicxmake zip
22:15:09peturHmmm, thanks
22:15:17lostlogicxpetur: hehe, it isn't a huge difference, but I just had to pull my latest IRAM'd function out.
22:15:31 Nick Lost-ash is now known as ashridah (
22:16:06peturI meant Mmmm of course
22:16:32 Join Moos [0] (
22:16:37MmmmOf course :D
22:17:21peturregarding I think it would be better to change the gain descriptions
22:17:49peturbecause there is analog gain and digital decimation
22:18:13peturI think the user should know which one he is changing
22:18:30 Quit linuxstb (Read error: 110 (Connection timed out))
22:21:44Slasherihehe, just browsing with tagcache.. seems to work pretty well now (as fast browsing as with dircache), and supported modes are artists - albums - songs, albums - songs, genres - artists - albums - songs, songs. In fact all searches are possible with the tagcache api :)
22:22:15MoosHi: w00t :)
22:22:18dpassen1sounds great Slasheri
22:22:18peturway to go!
22:22:30Slasherihi Moos :)
22:22:38Slasherii will provide a patch for testing in a few days
22:22:43MoosSlasheri: something to test?
22:22:48Slasherisoon :)
22:22:49Mooshehe :)
22:22:57Moosok let us know
22:25:14MmmmPetur: the gains are currently under different menus so you already can tell which you are changing
22:25:30dpassen1in current implementation, how is two artists with the same titled album handled?
22:26:40peturI'll need to talk to the one who made this...
22:37:59Slasheridpassen1: hmm, i don't know about the current tagdb, but my implementation puts both artists under the album then. In fact a good point, it might be better to separate the artists
22:39:08Slasheriif separated, we would just display two albums with the same name on the album browser
22:41:20dpassen1or it could go you pick the album then are presented with a list of artists, including an entry All Artists .. this would allow for Compilations and Various Artists albums to work seemlessly
22:43:12Slasheriah, true
22:43:22Slasherithat should be possible to do
22:47:18 Join DrumRBoy320|away [0] (
22:49:33dpassen1probably would be better off listening to someone who intends to use the tagdb, though, hah
22:51:27 Quit Mmmm ()
22:56:32DrumRBoy320|awayis C++ compatable with rockbox at all?
22:57:10Bagderwhat do you mean?
22:57:39peturno C++
22:57:58Bagderyou _can_ do C++
22:58:15peturcan you?
22:58:37Bagderit would be possible to write a plugin in C++ for example
22:58:40DrumRBoy320|awaylol, i took a book out on C++ from my schools computer library
22:58:50Bagderjust that nothing so far is C++
22:58:58Bagderand you'd get a hard time to explain why you use it
22:59:02Bagderto let it go in
22:59:09DrumRBoy320|awaylol, w/e
22:59:14DrumRBoy320|awayi just wanna experiment
22:59:15peturwould not be very memory efficient to start
22:59:31DrumRBoy320|awayalready! :P
22:59:31BagderDrumRBoy320|away: then why use C++? C is fine
22:59:41DrumRBoy320|awaywell, i dont have a book on c...
22:59:52peturall objects on the stack (no memory allocation)
22:59:56DrumRBoy320|awayi really want to be able to code and do my own thing
23:00:06 Quit einhirn (Read error: 110 (Connection timed out))
23:00:12peturdo get a book on C
23:00:28DrumRBoy320|awayhmm, ok
23:00:33peturthe C++ book will start by mentioning that C knowledge is required
23:00:43DrumRBoy320|awayits a beginners book
23:00:49DrumRBoy320|awayso maybe it will teach C first>
23:01:01peturoh, maybe there are some C chapters
23:01:22DrumRBoy320|awayits a text book
23:01:44peturanyway, most stuff about control flow and variables is the same
23:01:59DrumRBoy320|awaythrows you straight into C++
23:02:01ashridahDrumRBoy320|away: i'd think it hsould be. a picture book would be difficult to learn from :)
23:02:02peturstop when they start about classes...
23:02:15DrumRBoy320|awayhmm, ok
23:05:26lostlogicxZOMG I learned from that book sr. year of hs.
23:05:50lostlogicx::shakehead:: it's mostly functional, it'll be a fine place to start, if I recall correctly.
23:06:15DrumRBoy320|awaycool :)
23:06:29DrumRBoy320|awayim only a soph, so it might be a lil over my head
23:06:32DrumRBoy320|awayw/e ill try
23:06:58lostlogicx*shrug* programming is just about solving problems through a logical process, if you've had algebra and geometry, you'll be fine.
23:07:46 Quit calbearfan ()
23:07:47DrumRBoy320|awaywell... i know some basic... haha and im in algebra now
23:07:52DrumRBoy320|awayi think im in algebra
23:07:58DrumRBoy320|awayidk what im in... lol
23:10:37 Join linuxstb [0] (
23:13:33 Quit Rick (Read error: 104 (Connection reset by peer))
23:15:15 Join Rick [0] (
23:16:09***Saving seen data "./dancer.seen"
23:42:46 Join RotAtoR [0] (
23:43:09 Join aquarius [0] (
23:43:21 Quit Moos (Read error: 104 (Connection reset by peer))
23:43:23 Join [1]Moos [0] (
23:43:33 Quit DrumRBoy320|away (Read error: 110 (Connection timed out))
23:51:01 Quit [1]Moos (" HydraIRC -> <- The professional IRC Client")
23:52:45 Join livesNbox [0] (
23:53:48livesNboxhey guys.. I've got rockbox latest on a h320 −− love all of the functionality... one question −− when I have the player in "car adapter" mode −− and I turn my car on, it boots into the default iriver firmware... I have to then turn the unit off, unplug the power cord, then turn it back on, let it boot into rockbox, then plug the power back in.. a
23:54:04livesNboxI'd like to just boot right back into rockbox and continue the song that was playing when I turned the car off.
23:54:26ashridahlivesNbox: they haven't hooked that particular startup method in iriver's firmware yet
23:54:41livesNboxah ok...
23:54:42ashridahthe H1xx only had one power on method, the H3xx has several
23:54:51livesNboxI'll just keep watching then..
23:55:12ashridahso far as i know, they're not deliberately ignoring it, it's just a priority issue atm
23:55:23ashridah(and it gives people a failsafe for the time being)
23:56:49livesNboxone more quick question... I switched around between some of the wps's and it seems like the font you pick can drastically mess up the alignment −− how do you know what font a wps wants to be in ?
23:57:12ashridahuse themes instead
23:57:27ashridahthose set the font for the theme automagically. setting an individual WPS doesn't garuntee that
23:57:59muesli-all wps should be "themed" my 0.0002c
23:58:24ashridahmuesli-: i imagine eventually they will be, it's a matter of transition, i'd say.
23:58:55livesNboxthemes eh

Previous day | Next day