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).

Notice: Only Gecko based browsers prior to FF4 support the multipart/mixed "server push" method used by this log reader to auto-update. Since you do not appear to use such a browser, this page will simply show the current log, and not automatically update.

#rockbox log for 2011-02-28

00:00:02amiconnthomasjfox: I noticed rb-maemo doesn't support rtc info?
00:00:17*TheSeven wonders where the ramsize hit is coming from
00:00:22thomasjfoxamiconn: RaaA doesn't support it yet
00:00:24kugelthomasjfox: I wondered if it would be useful to re-use android's fs-android.c (it's just plain unix) on maemo instead of this messy io.c
00:00:30gevaertsTheSeven: alignment?
00:00:38kugelyou still link libuisimulator, right?
00:01:07TheSevengevaerts: well, I've added a sector buffer, but decreased the USB stack size by the same amount
00:01:19thomasjfoxkugel: regarding libuisimulator, I guess so
00:01:30TheSevenand also where does that 200k ramsize hit for ipod classic come from?
00:01:30S_a_i_n_tAlexP_: Zagor: Since fonts are being mentioned again...the fontpack at is over 2 years old and claims to be built daily.
00:01:32linuxstbkugel: Another question - what is the signifcance of the "app" subdirectory in the hosted target tree? (and why is there the #ifdef APPLICATION inside #if (CONFIG_PLATFORM & PLATFORM_ANDROID) in firmware/SOURCES)?
00:02:22ZagorS_a_i_n_t: nice. it's the release 3.4 pack...
00:02:36gevaertsTheSeven: you've added CACHEALIGN_ATTR to some stuff. That may cost RAM
00:02:38S_a_i_n_tI think RButil grabs the same?
00:02:48Zagornot for release, does it?
00:03:02S_a_i_n_tI have mentioned it before, but I wasn't sure exactly *who* to mention it to.
00:03:11TheSevengevaerts: but not that much
00:03:33AlexP_Zagor: it always grabs the same one
00:03:54Zagorupdated now
00:03:58AlexP_Zagor: As install fonts is under extra, and not linked to either current, daily, or release
00:04:09S_a_i_n_tSo if someone installs a current build they built themselves, then instals a release they're actually downgrading fonts by ~2 years...heh.
00:04:11 Quit CapsAdmin (Ping timeout: 240 seconds)
00:04:24gevaertsTheSeven: I'll have a look
00:07:17kugelthomasjfox: you should be able to to do away with libuisimulator
00:07:28thomasjfoxkugel: nice
00:08:31thomasjfoxAlexP_: Congratulations on the release
00:08:52AlexP_ta, but I just bully people :)
00:09:52 Join CapsAdmin [0] (
00:10:02***Saving seen data "./dancer.seen"
00:10:14kugellinuxstb: don't know for sure
00:10:28thomasjfoxkugel: I added a note to my never ending todo list about it
00:11:39kugelAlexP_: \o/
00:11:47kugelbut, is that a html mail?
00:11:59AlexP_kugel: No idea, I sent it from gmail
00:12:20gevaertsTheSeven: 23444: , 23445:
00:12:25gevaertsBoth ipod video
00:12:47TheSevenwhat is that? binsize or ramsize?
00:13:16n1sgevaerts: right, i didn't check which threads those things were called from but i suppose the buffering thread wouls do most reading normally
00:13:38gevaertsutils/analysis/ output
00:14:07gevaertsSo both
00:14:10 Quit JesusFreak316 (Ping timeout: 240 seconds)
00:16:35 Part Zagor
00:16:43gevaertsTheSeven: it looks like the extra release() in all return paths adds up, and alignment costs you over 200 bytes ram
00:18:32n1sthat looks like it could be done with a return value var and some gotos but i dunno if it would be worth it for the possible saving
00:18:35TheSevenbinsize accounts for 320, ramsize for another 336 bytes
00:18:49TheSevenso could it really by ~300 bytes for alignment?
00:19:05TheSevenn1s: ~100 bytes i'd guess
00:20:04n1swhen the gigabeast had it's usb buffer alignment doen this way, ramsize would jump up and down like crazy
00:20:21n1sgcc doesn't seem to try to make it efficient
00:21:06kugelTheSeven: couldn't fat_get_sector_buffer/_release be done transparently for the callers?
00:22:12CIA-70New commit by 03theseven (r29449): Fix yellow
00:22:45TheSevenwow, that svn ci took 15 minutes and 40 seconds
00:22:46kugelaquiring the mutex in the function that need protection without these extra functions perhaps?
00:23:23kugelah no, you need to pass that pointer
00:23:27TheSevenis that any better?
00:24:16TheSevenyou would need to call mutex_unlock instead
00:24:49kugelignore what I said :)
00:26:37n1ssometimes my svn ci never returns even if the commit gets through fine
00:27:19CIA-70r29449 build result: All green
00:27:24JdGordonI've had that also
00:27:28JdGordonnot for ages though
00:30:06TheSevengevaerts: how does that bloat-o-meter work?
00:30:38TheSeveni'm very curious where that 200k hit for ipodclassic is coming from
00:30:43gevaertsTheSeven: you give it two elf files. I have no idea what it does with them exactly
00:30:50n1sTheSeven: there's a HAVE_ATA_BBT / ATA_HAVE_BBT mismatch but it's commented out so shouldn't matter for function
00:31:20n1sbloat-o-meter compares sizes of functions and prints the delatas i think
00:31:26TheSevenyeah, that would match the 200k almost perfectly, but I don't get why it's used
00:31:42amiconnBinsize increase is 564..596 bytes on SH1, and that's basically also the ramsize increase
00:32:11amiconnOn coldfire it's a little less, but also both sizes nearly matching. Only arm has a bit more difference between ramsize and binsize
00:33:09TheSevenamiconn: what's CACHEALIGN_SIZE on sh/cf?
00:33:39amiconnSH1 has no cache, and coldfire has icache only
00:33:48amiconnSo probably undefined/ smallest possible
00:33:55TheSevenso that explains where ~200 bytes of ramsize are coming from
00:35:43 Join lixxus [0] (
00:40:21 Part lixxus
00:40:37 Quit stripwax (Read error: Connection reset by peer)
00:40:58CIA-70New commit by 03theseven (r29450): Fix misspelled define that was commented out anyway
00:41:51 Quit kevku (Quit: KVIrc 4.0.2 Insomnia
00:42:43CIA-70New commit by 03thomasjfox (r29451): RaaA: Add initial Pandora support ...
00:43:33*linuxstb wonders about manuals for RaaA targets...
00:45:34S_a_i_n_tlinuxstb: A very general one should be possible.
00:45:42S_a_i_n_tBut, the targets vary so wildly.
00:45:45JdGordonone for each port seems silly... we should have a single generic RaaA manual with bassically every option in it
00:45:58CIA-70r29450 build result: All green
00:46:08thomasjfoxwe could still split it up if it explodes...
00:46:14AlexP_One per target OS I'd day
00:46:23AlexP_e..g android, maemo etc.
00:46:32AlexP_For install instructions and that
00:46:35S_a_i_n_tdoes it vary that wildly between the OSes?
00:46:48S_a_i_n_tI thought the targets were the main worry.
00:46:54AlexP_S_a_i_n_t: That is one of the criteria for separate manuals now
00:47:43*JdGordon repeats what he's been quietly saying for years... we have too many and a very badly layed out manual
00:47:54AlexP_very badly?
00:48:04AlexP_You are welcome to suggest how to fix
00:48:08JdGordonjust about everything except installation is 100% generic
00:48:32*thomasjfox really thinks RaaA shouldn't index /proc, /sys, /usr/include, /usr/lib and /usr/share in tagcache.c. Takes aaages during update
00:48:38AlexP_does it matter?
00:48:54AlexP_also, lots of things like keys are different
00:48:54TheSevenguess where that 200k hit is coming from!
00:49:00AlexP_and those are quite important
00:49:16S_a_i_n_tthomasjfox: a "Start DB here" option would be nice.
00:49:18JdGordonAlexP_: well not really, but the first impression is a 100+ page manual with no really simple "first steps/quickstart guide"
00:49:31TheSevenfunction old new delta
00:49:32TheSevenfat_cache_sectors 16384 131072 +114688
00:49:32TheSevenopendirs 16896 59904 +43008
00:49:32DBUGEnqueued KICK TheSeven
00:49:32TheSevenopenfiles 6336 45760 +39424
00:49:32TheSevensab_fat_dir 1088 4672 +3584
00:49:32***Alert Mode level 1
00:49:32TheSevenfat_tempbuf 512 4096 +3584
00:49:33AlexP_So write one
00:49:38AlexP_There is a quick start
00:49:44JdGordonthe installation manual should be seperate from the general usage manual
00:49:49AlexP_But people are always welcome to write one
00:49:54TheSevenso the sector size change is the culprit :/
00:49:59AlexP_What would that solve?
00:50:08 Join t0rc [0] (~t0rc@unaffiliated/t0rc/x-5233201)
00:50:17thomasjfoxS_a_i_n_t: Maybe it could share the "start directory" var of the "files" browser?
00:50:27TheSeven128k of fat cache... sounds like a *bit* too much...
00:50:51JdGordonthomasjfox: I agree... those files dirs should be implicitly ignored on unix/linux-y systems
00:50:54S_a_i_n_tthomasjfox: that seems quite sane, yes.
00:51:14JdGordon/usr/share maybe not thouhg
00:51:21CIA-70r29451 build result: All green
00:51:30 Quit robin0800 (Quit: Leaving)
00:53:19thomasjfoxAt least we could define some kind of implicit blacklist for stuff like /proc or /sys
00:53:19CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
00:53:19*kugel spots a bug
00:53:19JdGordon. /sbin /bin
00:53:19JdGordon(not .)
00:53:19 Quit n1s (Quit: Ex-Chat)
00:53:44thomasjfoxkugel: 3.8 or trunk? ;)
00:57:26kugelif you have a file in the playlist for which metadata parsing fails, and you try to play it, then PLAYBACK_EVENT_TRACK_CHANGE is sent with faulty mp3entry
00:58:43CIA-70New commit by 03thomasjfox (r29452): Fix typo in comment
00:59:29 Join iHPRobin [0] (
00:59:33***Alert Mode OFF
01:00:51iHPRobinHey all, typical noob here, gonna rockbox my iHP-120, do i need to make sure the firmware on my player is the same as the one i use for the bootloader?
01:02:52 Join milk [0] (
01:03:11gevaertsiHPRobin: the firmware you use for the bootloader ends up being installed too, so it doesn't really matter if they're the same before
01:03:12CIA-70r29452 build result: All green
01:03:43gevaertsExcept of course if you really want the exact same version after installing rockbox
01:03:48CIA-70New commit by 03thomasjfox (r29453): Pandora port: Exit rockbox by pressing the SELECT button ...
01:04:12iHPRobincool cheers gevaerts
01:05:43thomasjfoxkugel: Regarding the shutdown hang in every sim build/SDL app, what about this workaround in until we fix it properly?
01:06:19 Quit ender` (Quit: cat /dev/coffee | /dev/cup | /dev/mouth | /dev/nose > /dev/keyboard)
01:06:35thomasjfoxkugel: Leaked resources are not really a problem if the app is shutting down anyway. Just not 100% clean though much better than hanging
01:06:57kugelyes probably
01:08:23CIA-70r29453 build result: All green
01:10:24 Quit mudd1 (Ping timeout: 240 seconds)
01:12:36thomasjfoxkugel: I take that as your blessing, I'll commit the workaround. I will also add a prominent note that we need to fix this properly.
01:13:11kugelwell, I'm not a fan of committing work arounds
01:13:17kugelbut I can't look at it now
01:13:55 Quit mshathlonxp (Ping timeout: 240 seconds)
01:14:04JdGordonthomasjfox: do we know what the actul slowdown is?
01:14:20JdGordonthe problem with commiting work arounds is that it will veyr likely never be fixed properly
01:14:40thomasjfoxJdGordon: I still keep it on my personal TODO list which means it will get fixed
01:14:57JdGordonI like that thought, but no it doesnt :)
01:15:02thomasjfoxJdGordon: It's no slowdown, it's probably access to already freed (mutex) resources and causing a hang
01:15:23thomasjfoxJdGordon: A proper fix will take some time to find the right spot
01:15:48thomasjfoxI'll show off the commit message before commiting it. Ok?
01:19:10 Quit dfkt (Quit: -= SysReset 2.53=- Sic gorgiamus allos subjectatos nunc.)
01:22:43thomasjfoxJdGordon, kugel: Proposed workaround commit:
01:24:57JdGordonthomasjfox: yeah, but still, doing that makes it less likely a real fix will happen
01:27:23kugelthe app targets aren't considered stable so there's no real hurry enough to commit work arounds
01:27:30thomasjfoxOk, I won't commit it for now. Don't want to get blamed for it ;)
01:27:43thomasjfoxkugel: The problematic part is that it also affects the sim build
01:29:00thomasjfoxkugel: Maybe disable sigaltstack for the sim build until this is fixed?
01:29:17kugelanother work around ;)
01:29:37kugelI'll have a look in a within the next days
01:35:32 Quit thomasjfox (Remote host closed the connection)
01:39:14 Quit S_a_i_n_t (Quit: I'm only going to Heaven if it feels like Hell, I'm only going to Heaven if it tastes like caramel...)
01:39:28 Join [Saint] [0] (S_a_i_n_t@
01:46:40 Quit iHPRobin (Quit: CGI:IRC (EOF))
01:54:10 Quit saratoga (Ping timeout: 272 seconds)
01:59:47CIA-70New commit by 03kugel (r29454): Android: Fix crash when playback is passing invalid metadata around.
02:04:00CIA-70r29454 build result: All green
02:10:05***Saving seen data "./dancer.seen"
02:15:55 Quit liar (Ping timeout: 240 seconds)
02:18:59 Quit GeekShadow (Quit: The cake is a lie !)
02:51:33 Join Keripo [0] (
02:55:23 Quit Keripo (Client Quit)
03:10:33[Saint]JdGordon: Your post regarding the Android .wps to explain *why* that is?
03:10:38[Saint]it should work iiuc.
03:11:09JdGordonskins must be loaded in the .rockbox/wps/ dir
03:11:33[Saint]Is that a new thing? I thought a skin file could be loaded from anywhere.
03:11:52[Saint](as long as it doesn't have any images to load)
03:12:44JdGordonI broke it probably 6+ months ago... its something that has been on the todo list but really not a priority
03:13:13[Saint]Ah, right. I knew it used to work, so I couldn't understand the fail case here.
03:18:13Topic"Rockbox 3.8 is released | Please read before speaking: | Please direct offtopic/social chat to #rockbox-community | This channel is logged at | An upgrade caused issues with the wiki. We are on the case" by ChanServ (ChanServ@services.)
03:24:00 Join mystica555_ [0] (
03:35:43[Saint]Gah...the 64x64 iconset that imagemagick created (with bluebrother's guidance of course) only needs a tiny bit of tweaking considering, but the tweaking it does need is all pixel-by-pixel colour matching annoying as hell stuff.
03:36:19JdGordonand rememeber the rockbox code wont load more than 24x24 unless that's been changed recently
03:36:20[Saint]Still, ages taken off my ToDO though, and the 64x64 iconset looks *nice*.
03:37:27[Saint]JdGordon: Yes, I remember that. There probably needs to be defines for iconsizes as I assume that making a maximum possability of 64x64 for all targets will waste a foolish amount of space.
03:37:51JdGordona few lines of code
03:38:24[Saint]the 64px iconset would flood the skin buffer of most targets anyway ;)
03:38:35[Saint]it's ~400Kb
03:39:13JdGordon262KB unless i messed up the calc
03:39:40[Saint]384 is the size I have here.
03:40:07[Saint]Ah...that might well be *24 though
03:40:27[Saint]I forgot the RB converts to 16
03:40:42 Quit Loto (Ping timeout: 240 seconds)
03:48:57 Join Keripo [0] (
03:54:22 Quit DerPapst (Quit: Leaving.)
04:10:08***Saving seen data "./dancer.seen"
04:10:12 Join kugel_ [0] (~kugel@rockbox/developer/kugel)
04:12:57 Quit kugel (Ping timeout: 240 seconds)
04:18:17[Saint]AlexP_: It might not *sound* like a serious question, but I assure you it is ;)
04:18:28[Saint]What are your ideas for "more buttony"?
04:20:10[Saint]Anyone else is quite welcome to comment on this also, there's apparently an issue of the cabbie touchscreen icons for playback not obviously appearing as buttons. And I would like to try to remedy this.
04:23:50JdGordon[Saint]: any sort of background, preferably one which colours when pressed (I may need to add some support for that though)
04:24:24[Saint]JdGordon: I've been meaning to talk to you about %Tl
04:24:54CIA-70New commit by 03kugel (r29455): Hopefully get shutdown/exit handling on SDL/maemo right. ...
04:24:59[Saint]there needs to be a way to have multiple seperate instances of this tag, at the moment all %Tl areas fire at the same time.
04:25:11JdGordonwhat is %Tl?
04:25:34[Saint]"touch last" or something like that I believe the tag represents.
04:25:35 Quit amiconn (Disconnected by services)
04:25:35 Join amiconn_ [0] (quassel@rockbox/developer/amiconn)
04:25:36 Quit pixelma (Disconnected by services)
04:25:38 Join pixelma_ [0] (quassel@rockbox/staff/pixelma)
04:25:41 Nick pixelma_ is now known as pixelma (quassel@rockbox/staff/pixelma)
04:25:55 Nick amiconn_ is now known as amiconn (quassel@rockbox/developer/amiconn)
04:26:02[Saint]it fires true if the screen is touched, and has an optional timeout before it goes false.
04:26:02JdGordonok, and how do you want it to work?
04:26:23 Quit timccc (Ping timeout: 240 seconds)
04:26:29[Saint]well preferably only the %Tl area that is touched should fire.
04:26:53JdGordon%Tl isnt linked to a region, it is linked to the whole screen
04:27:03JdGordonso thats what you want changed?
04:27:08[Saint]this could allow for multiple cool effects like drop down windows, etc.
04:27:10JdGordonim not sure how that would work
04:27:47[Saint]Hmmm, I think a lot of people expect it to work differently.
04:27:53[Saint](myself included)
04:28:22[Saint]The way I described it, would be ideal...though I understand if it's not possible, or ridiculously hard.
04:28:55JdGordondo you want it linked to a spcific touch region? or viewport? or?
04:29:44[Saint]touch region would be nice, it need not be linked to a specific VP.
04:29:56CIA-70r29455 build result: All green
04:30:07JdGordonthe other way around is simpler, linking to a touch region should be doable though
04:30:07 Join timccc [0] (~timccc@
04:30:22JdGordonexcept they arent labeled at all so how owuld you specify which?
04:31:01[Saint]Ah, there's a point.
04:31:15JdGordonan optional label might be addable
04:31:22JdGordonwhats the %T() param list?
04:31:33[Saint]They'd need to be able to accept an identifier, and that makes it trickier. :/
04:32:02[Saint]sorry? the %T() param list?
04:32:14JdGordonthe first param is the x, so we could stick an optional label in there easily
04:32:55JdGordonwhich you could then use to change the background image for a button when it is being pressed!
04:33:08[Saint]oh...right, sorry. x, y, width, height, touch action
04:33:27JdGordonI'm not sure how you tihnk that would make drops downs work though?
04:33:45[Saint]JdGordon: yes, I thought of it when you mentioned changing the background/colour on selection.
04:33:49JdGordonunless you make a ton of conditional viewports? wouldnt you also need a variable system?
04:33:52[Saint]I knew I'd need this to make that possible ;)
04:35:26JdGordonhaha, you could *almost* reimplement a full menu/setting system in the skin with conditional viewports and some clever skin logic
04:35:30JdGordonand variables
04:35:43 Join madalu [0] (~user@unaffiliated/madalu)
04:35:50[Saint]Yes, I'd thought of that too ;)
04:36:20JdGordoncould it be done without variables?
04:36:50[Saint]depends exactly what you were wanting to do.
04:37:04JdGordonI'm thinking not reliably... you'd have to use very long timeouts to make sure the popup doesnt disappear
04:37:16[Saint]you could make a drop-down settings menu with it pretty easily iiuc.
04:38:56[Saint]using this theoretical new tag, some conditions, and %St with setting_inc and setting_dec
04:40:27JdGordonif that was actually wnated I could add a helper for settings to get the lang string
04:40:44 Join Loto [0] (
04:40:44 Quit Loto (Changing host)
04:40:44 Join Loto [0] (~nfs@xbmc/user/Loto)
04:40:52JdGordon4 things at a time though only...
04:41:03JdGordonremind me tonight about %Tl... i tinhk it will be relativly simple to do
04:42:07JdGordonI'm really not sure how useful it would be in practice though
04:42:44JdGordonactually, screw that... i hate the current touch cabbie because it pops up the menu when it doesnt need to
04:44:15[Saint]recently pixelma mentioned it also, and the guy that's working on the meamo and open pandora ports who's nick escapes me also expected it to work slightly differently I believe.
04:44:41[Saint]individual touch areas that can fire true/false on touch open up a lot of doors for touch skins.
04:45:04JdGordon%Tl([label,][timeout]) or [timeout,][label] ?
04:45:57 Join Barahir [0] (
04:46:12JdGordonhmm, we dont really have an option to do "string or nothing"
04:46:34JdGordonlabel after the timeout seems wrong thoguh
04:46:58JdGordon|[SD]D could work though
04:48:50JdGordonok, no this wont work
04:49:23[Saint]how will/can the true/false conditions be handled? this almost needs two tags? as %Tl(label,params)<|> is pretty different from anything we have currently.
04:49:23 Quit Barahir_ (Ping timeout: 264 seconds)
04:49:37JdGordonno it isnt
04:49:41JdGordon%if() works the same way
04:49:45[Saint]for touch areas it is.
04:49:55[Saint]but I see your point.
04:50:06[Saint]it's just different because it's not been done yet ;)
04:50:16JdGordon%?Tl(play, 1)<true>
04:50:37*JdGordon contemplates forcing the label to be more than 1 char to piss certain people off :)
04:51:03*[Saint] glares -_-
04:52:24JdGordonok, note to self... fix the parser to allow [S] which would mean "accept a S if its there, or continue if there isnt one"
04:53:25 Quit TheSeven (Ping timeout: 240 seconds)
04:53:49 Join nick-p [0] (~52456978@
04:55:12[Saint]so: "%?Tl(label,timeout,x,y,w,h)<true|false>"
04:55:13JdGordonyou're mixing tags
04:55:19JdGordon%T(foo,x,y,w,h,action)\n%?Tl(foo, timeout)<>
04:57:35JdGordonmake sense?
04:57:54*[Saint] nods.
04:57:55 Quit nick-p (Client Quit)
04:58:23 Join TheSeven [0] (~TheSeven@rockbox/developer/TheSeven)
04:58:23 Join nick_p [0] (
04:59:38nick_pHi, I'm having problems with "Version:" in rockbox-info.txt
04:59:42nick_pI did "svn switch svn://" and also tried "svn up -r 29442"
04:59:47nick_pAfter I compile, "cat clip/rockbox-info.txt | grep Version:" returns "Version: r29442-110228"
04:59:51nick_pI'm pretty sure this was all I did to get a nice "Version: 3.7" with 3.7, have I forgotten something silly?
05:01:21JdGordonwhat are you trying to do?
05:02:00nick_pJust compile a new version with a patch, but I get this even without applying the patches.
05:02:37JdGordonthere is a #define which controls the version number in the build and that text file
05:02:50JdGordonis there rbversion.h or something in the build dir?
05:04:12nick_pYes, I see version.h, generated by apparently.
05:04:35nick_pI've no problem with editing it, just thought it happened automagically last time
05:06:37JdGordonit may have.... AlexP_ might have forgotten to twiddle a switch on the release branch
05:07:51nick_pThanks for that
05:11:56 Quit MethoS- (Remote host closed the connection)
05:16:22[Saint]JdGordon: Another small change (which is purely aesthetic this time) is that I think the look of the like selector could be vastly improved by adding a spece before the list entry.
05:16:22 Quit antil33t (Read error: Connection reset by peer)
05:16:51[Saint]It looks a little crap to me with the menu entry hard against the edge of the line selector.
05:19:11[Saint]you actually did a patch for me some time ago that does this very thing for my iLike theme but I've discovered it makes cabbie look a bit nicer also.
05:19:12 Join Rob2222 [0] (
05:22:09[Saint]Not just the line selector, just menus/lists in general look a lot better. If there's no UI viewport the font is drawn hard against the edge of the screen and it can make it hard to read. Stepping it out with a space looks a lot better.
05:22:22JdGordonthat isnt something that is likely to change... you could email the dev ml and show screenshots showing why it looks better
05:22:35 Quit Rob2223 (Ping timeout: 264 seconds)
05:22:36JdGordonbut I'm not going to shitstir by doing that change
05:22:41*[Saint] nods.
05:22:47[Saint]Totally fair.
05:22:53 Join antil33t [0] (
05:23:03JdGordonthats not to say i dont agree with you thuogh :)
05:23:23JdGordoneven with the ui viewport, doesnt it draw pretty much flush against the icons?
05:23:39 Quit nick_p (Quit: CGI:IRC (EOF))
05:24:27[Saint]I will though as you say go through the propper channels and supply screenshots of both cases.
05:24:41[Saint]I don't want to rock any boats either ;)
05:30:02LloreanI wouldn't object to all lines in menus being indented by about a half or whole space.
05:32:17JdGordonI can see this turning into the scrolling post-fix-space debate :(
05:32:40LloreanI don't know.
05:33:45LloreanI think the idea of shifting the start of the text a little right (or left on RTL) of the current starting point to help readability isn't going to be the same kind of thing, especially if it's not configurable.
05:36:23JdGordonwell, do we want the highlight to start at the text start? or at the left edge?
05:36:35LloreanI'd say the highlight should start where it does now.
05:36:57LloreanYou don't accomplish much by moving the text, then moving the highlight with it so it looks the same just in a different position.
05:37:10LloreanThough I guess that does help solve screen-edge issues.
05:37:40LloreanIs there some reason we don't highlight the icon, other than "we never have before?"
05:38:09JdGordonIIRC we did *many years ago*
05:38:19JdGordonbefore i was around...
05:41:25 Quit Horscht (Quit: Verlassend)
05:47:33 Join leavittx [0] (~lev@
05:56:55[Saint]Well, I'll post an email to the dev-ml with screenshots showing both cases, with and without icons.
05:59:07[Saint]I can't see anyone having an issue with it personally, especially if it's not a complex change (it isn't), doesn't hit binsize (it doesn't), needs no messing with lang files (all existing strings will work), and improves the overall readability of the menus and lists.
06:00:34JdGordon*someone* will *always* find something to complain about
06:01:53[Saint]This is true, which is why I shall arm myself with evidence of my claims for improved readability and the tiny patch for the scrutiny of others.
06:04:44 Quit leavittx (Ping timeout: 276 seconds)
06:10:10***Saving seen data "./dancer.seen"
06:30:35 Quit madalu (Ping timeout: 276 seconds)
06:50:22 Quit milk (Quit: baaaiiii)
06:57:44 Quit jepler (Quit: .)
06:57:47 Quit jhMikeS (Ping timeout: 264 seconds)
06:58:45 Join jepler [0] (~jepler@emc/developer/pdpc.professional.jepler)
06:58:50 Join jhMikeS [0] (
06:58:50 Quit jhMikeS (Changing host)
06:58:50 Join jhMikeS [0] (~jethead71@rockbox/developer/jhMikeS)
07:14:13 Quit T44 (Ping timeout: 240 seconds)
07:16:59 Quit t0rc (Quit: Give someone code, help them with one project. Teach someone to code, help them rule the world.)
07:31:23 Join Topy44 [0] (~Topy44@
07:33:32alexbobpwhat can cause rockbox to crash with "micro sd init failed: -3"?
07:34:38JdGordonI'd guess the micro sd card failing to initialiase
07:34:59alexbobpI was wondering *why* that was happening
07:35:13alexbobpafter that message, rockbox reboots and the sdcard mounts fine...
07:35:26alexbobpit happens whenever I unplug the sdcard and plug it back in
07:38:32 Quit Keripo (Quit: Leaving.)
07:39:25 Join BHSPitMonkey [0] (~stephen@unaffiliated/bhspitmonkey)
07:41:10 Join Keripo [0] (
07:53:47 Quit jhMikeS (Ping timeout: 276 seconds)
07:57:39 Join stoffel [0] (
07:59:27 Join Keripo1 [0] (
08:01:34 Quit Keripo (Ping timeout: 240 seconds)
08:07:13 Join CiPHER [0] (
08:07:39 Nick CiPHER is now known as Guest48988 (
08:08:19Guest48988can someone tell me what to do if I reach the data abort error
08:08:38Guest48988on an iPod gen 5 video?
08:10:12***Saving seen data "./dancer.seen"
08:10:31linuxstbIf you can reproduce it reliably, please post a bug report, giving the full error message displayed. But to reboot your ipod, just hold MENU+SELECT together for a few seconds.
08:10:59 Join esperegu [0] (~quassel@
08:13:31Guest48988thanks linuxstb
08:13:31 Quit bluebrother (Disconnected by services)
08:13:33 Join bluebroth3r [0] (~dom@rockbox/developer/bluebrother)
08:15:55bluebroth3rAlexP_: easy: check rbutil/rbutilqt/rbutil.ini for the font entries :)
08:16:39bluebroth3rthough I see I was wrong yesterday: it does differentiate between release and daily fonts. AFAIK this only has an effect on the automatic installation though.
08:16:40 Join webguest49 [0] (c391b46a@gateway/web/freenode/ip.
08:17:34webguest49Hey cool! Since when can the PDF manual be searched for words containing "ff", "fi" etc? This was impossible before!
08:20:59bluebroth3rshould be since switching to T1 fontencoding. Maybe it's also related to yesterdays switch to inputenx, haven't checked
08:22:36linuxstbDo we still have download mirrors?
08:23:31bluebroth3ryep, works with 3.7 manuals so it's not related to the change to inputenx.
08:28:47 Quit webguest49 ()
08:29:44 Quit Keripo1 (Quit: Leaving.)
08:34:45 Join LinusN [0] (
08:34:45 Quit LinusN (Changing host)
08:34:45 Join LinusN [0] (~linus@rockbox/developer/LinusN)
08:35:38 Join ender` [0] (
08:43:48 Quit Guest48988 (Quit: CGI:IRC (EOF))
08:47:44 Join Zagor [0] (~bjst@rockbox/developer/Zagor)
08:49:15 Quit shai (Quit: Leaving)
08:56:33 Join shai [0] (
08:59:59 Quit BHSPitMonkey (Remote host closed the connection)
09:00:37 Quit Topy44 (Ping timeout: 240 seconds)
09:04:23 Quit cjcopi (Ping timeout: 264 seconds)
09:05:24 Join Topy44 [0] (~Topy44@
09:11:12 Quit stoffel (Remote host closed the connection)
09:13:33 Quit [Saint] (Quit: I'm only going to Heaven if it feels like Hell, I'm only going to Heaven if it tastes like caramel...)
09:15:40 Join cjcopi [0] (
09:19:12 Join [Saint] [0] (S_a_i_n_t@
09:23:50 Quit esperegu (Remote host closed the connection)
09:39:26JdGordonpixelma: apparently you wernt sure how the %Tl (last touch) works? or how you'd like it to work?
09:42:44 Join n1s [0] (
09:42:44 Quit n1s (Changing host)
09:42:44 Join n1s [0] (~n1s@rockbox/developer/n1s)
09:52:11 Join kevku [0] (~kevku@2001:7d0:0:f9af:feed:feed:feed:feed)
10:01:37 Quit panni_ (Read error: Connection reset by peer)
10:10:13***Saving seen data "./dancer.seen"
10:12:14 Quit factor (Read error: Connection reset by peer)
10:16:37*JdGordon apparently stumbled on a bug in the skin parser :'(
10:16:44JdGordonit doesnt bloody work!
10:20:56 Join raghavme2 [0] (
10:21:22raghavme2hey guys, the file is 404... what happened?
10:22:33Zagorthe url is
10:23:40raghavme2oh thanks... i hope this contains the updated build which was released yesterday
10:24:11Zagorthat contains the bleeding edge build of whatever was last committed. go to for the release.
10:24:31JdGordonof which the classic isnt part of
10:24:50ZagorJdGordon: ah, true.
10:25:12raghavme2not 3.8? where can i get bleeding edge compiled version of classic port?
10:25:29raghavme2i mean the most latest containing the 3.8 bug fixes
10:25:51gevaertsIf you want bleeding edge, you *don't* want the release
10:26:00Zagorthe only one we produce is the test builds on the url I gave you earlier.
10:26:10raghavme2right, i get it now :D
10:26:18Zagorbut the port is marked "unusable" for a reason
10:27:10raghavme2i've been using it on my classic since 1 mnth now... anything to get away from iOS... it crashes 2-3 times daily... but whatever.. its ok
10:28:13 Join factor [0] (~factor@
10:31:28Zagorhmm. why is fat_cache_sectors signed?
10:31:41raghavme2all the best to RockBox and Freemyipod Team... i hope the classic port becomes stable with video playback support.
10:33:31 Join DerPapst [0] (
10:33:57 Quit raghavme2 (Quit: CGI:IRC)
10:35:11Zagoroh right, we use -Wno-pointer-sign
10:35:31JdGordonhow would people feel about me breaking the touch skin tags?
10:36:04JdGordonI'm currently hacking the code to make them work better but I think the proper change is to actually change the tag param list order
10:36:51 Quit kevku (Read error: Operation timed out)
10:38:27ZagorJdGordon: what exactly would break? everything=
10:38:44JdGordonskins which use %Tl or %T
10:38:57JdGordonthe two touchregion tags
10:39:28LloreanSupposedly 3.8 isn't shuffling properly, according to the forums.
10:39:55ZagorLlorean: is it not random enough? ;-)
10:39:55JdGordonI'm looking into another slightly less hacky way but it will still take some careful fiddling to make sure the right tihngs end up in the right place
10:40:36LloreanZagor: It's not toggling. If you change the setting *during* playback ,it doesn't change the order of songs, according to the post.
10:40:54LloreanIt applies to the next playlist launched, but not the current one.
10:49:44 Join robin0800 [0] (
10:50:17 Join pamaury [0] (
10:50:18 Quit pamaury (Changing host)
10:50:18 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
10:54:52JdGordonhmm... testing touchregion changes in the c200 checkwps probbaly isnt a good idea :p
11:01:24pixelmaJdGordon: I expected a way to only change something in the region that's press (or maybe with another tag) - and I *imagined* a way to achieve this would be to make the tag dependent on the order in the WPS file, similarly to how it is important for %xd in which viewport you put it (below which viewport definition). So a %Tl before every other defined %T in the skin file would affect the whole screen, below a %T(something) only this touch area. I'm
11:01:24pixelmanot sure if this would work though
11:01:40pixelmaor pressed
11:15:16 Part LinusN
11:19:01 Part Zagor
11:23:49 Join Zagor [0] (~bjst@rockbox/developer/Zagor)
11:24:43pixelmabluebroth3r: the ff, ffi etc. was not fixed for all systems before. It depended on build environment or so
11:27:22pixelmaI remember comparing manuals from the site and ones I compiled myself to test a patch and one of them had the problem and the other didn't (can't remember which was which though). I think there still is an open bug report for it
11:31:47JdGordon[Saint]: i dont suppose you have a wps/sbs to test this with do you?
11:35:22 Join einhirn [0] (
11:35:33[Saint]JdGordon: Nup, not presently. I've no way of compiling an .apk to be able to test it either sorry.
11:36:18[Saint]a test .wps shouldn't be hard to come up with though. all it needs is two lines.
11:36:20JdGordonok, no worries
11:36:51[Saint]How's it lookin' ?
11:37:25JdGordoncode is done, testing... needed to hack a bit but its not as bad as i feared
11:37:46JdGordonI've added an optional label param to the start of both tags to link them
11:38:08[Saint]No breakage to existing touch defines?
11:38:15JdGordonnope, hence the hacks
11:38:16[Saint](not that I care too much about that)
11:38:51JdGordonI'm really loving the parser bieber built
11:39:10JdGordonits got some annoyances, but otherwise brilliant
11:39:30[Saint]That makes my sarcasm meter twitch a little, but I'm not sure it was supposed to.
11:45:09JdGordonoh LOVELY..... kugel_: sdl is hiding my mouse in the sims...
11:45:59JdGordonand sdl shutdown is no faster than lastnight
11:49:03CIA-70New commit by 03zagor (r29456): Made the fat test code compile again.
11:50:33 Quit Kitar|st ()
11:51:12*TheSeven got a weird data abort
11:51:52CIA-70New commit by 03zagor (r29457): Added dummy autoconf.h for fat test.
11:51:58TheSeven"Data abort at 000017F0, FSR 0xf7 (domain 15, fault 7), address 0x80100DF0"
11:52:30TheSeven0x000017F0 is in the middle of the voice stack and 0x80100DF0 is outside of address space
11:52:50TheSeven=> someone jumped into the stack and there happened to be a memory access instruction?
11:54:10CIA-70r29456 build result: All green
11:55:05*JdGordon grumbles
11:55:06CIA-70New commit by 03jdgordon (r29458): brackets are important! fix the mouse being hidden in sims
11:56:05JdGordon[Saint]: it no worky :'(
11:56:29[Saint]*bugger too
11:58:29JdGordon... well not yet anyway
11:58:43CIA-70r29457 build result: All green
11:59:44linuxstbJdGordon: Regarding the mouse disappearing - I think it was thomasjfox's Pandora commit last night -;r2=29451;pathrev=29451
12:00:03linuxstb(he missed out the brackets in the #if)
12:00:15*TheSeven wonders where the elephants dream test files went
12:00:23TheSeven us 404
12:00:46JdGordonlinuxstb: yeah, fixed :)
12:00:59*linuxstb was too slow...
12:01:04JdGordonWhy is the sim not complaining on very wrong implict type casts?
12:02:52CIA-70r29458 build result: All green
12:04:52TheSevenwhat the heck is
12:05:05TheSeventhe contents on there don't seem to have anything to do with rockbox :)
12:05:15 Join dfkt [0] (dfkt@unaffiliated/dfkt)
12:05:36linuxstbIIRC, mikachu was a Rockbox user who had a fast server. So maybe the videos were hosted there. He hasn't been around for years though...
12:05:38Zagorwell, it used to be a server holding our elephantsdream movies. apparently not anymore.
12:05:40kugel_JdGordon: my commit shouldn't make it faster, it makes sure it happens at all
12:05:41[Saint]PoKemon need DAPs too? :)
12:05:46ZagorI'll pull the redirect.
12:06:06linuxstbZagor: You have a copy as well then?
12:06:14linuxstbs/You/the download server/
12:06:17kugel_there was a race that could deadlock
12:08:26 Join _thomasjfox [0] (
12:08:42Zagornow the movies are available again (although my chrome browser refuses to check again for some reason)
12:08:49_thomasjfoxJdGordon: Sorry about the messed up brackets :)
12:09:44_thomasjfoxkugel_: Thanks for fixing the shutdown handling! It looks good, I'll give it a test run in the evening
12:10:14***Saving seen data "./dancer.seen"
12:10:51JdGordon_thomasjfox: *grumble* :D just glad it was simple.... has someone disabled warnings in the smi builds? gcc shold have warned on that one and also my patches i've been working on today
12:10:51linuxstbZagor: Firefox doesn't find them either (it still follows a redirection)
12:10:54 Join T44 [0] (~Topy44@
12:11:24linuxstbZagor: But wget does, so we can just blame our browsers.
12:11:47JdGordonalso... kugel_, _thomasjfox, any ideas of a nice way to listen for actual keyboard events? I've got a patch somewhere which puts the SDL keycode from the keyboard in the button data and lets the lists use it to skip to that letter
12:12:23 Join GeekShadow [0] (~Antoine@reactos/tester/GeekShadow)
12:12:29_thomasjfoxJdGordon: Didn't look into native keyboard integration yet
12:12:53_thomasjfoxJdGordon: Is that patch in FS?
12:13:00 Quit Topy44 (Ping timeout: 240 seconds)
12:13:25kugel_don't you get key events with the button as key code?
12:13:36kugel_same on android
12:15:02JdGordon_thomasjfox: it isnt yet, i'll try to dig it up and put it on FS... its very out of date though
12:15:16JdGordonmore asking for a ncie way to integrate it with the different RaaA platforms now
12:17:29_thomasjfoxkugel_: Yes, SDL sends events with the keycode. I just thought rockbox's button mechanism doesn't support keyboards?
12:18:28_thomasjfoxJdGordon: I didn't get a warning from gcc either during maemo/pandora compile
12:20:02CIA-70New commit by 03jdgordon (r29459): Add the option of linking the %Tl (last touch) tag to a specific touchregion. Both tags now accept an optional label param as the first param. ...
12:20:27JdGordon[Saint]: ^
12:20:31JdGordonknock yourself out
12:21:33*kugel_ isn't sure if Pandora deserves to be a separate port. It's a plain sdl app isn't it?
12:22:19linuxstbPresumably it will develop to use more Pandora native stuff?
12:22:34 Join Jerom [0] (~jerome@
12:22:57JdGordonerm... who was saying svn doesnt finish the ci?
12:23:01_thomasjfoxlinuxstb: Yes. I want to polish the wiki tonight, at least that was the plan
12:23:39_thomasjfoxAlready looked into the battery monitoring stuff ;)
12:24:45CIA-70r29459 build result: All green
12:24:57_thomasjfoxkugel_: There's already one platform specific code path in there and it will get more
12:25:20_thomasjfoxkugel_: I just thought I do the incremental development more visible to others
12:26:09kugel_the switch to fullscreen path?
12:26:52_thomasjfoxkugel_: The "exit rockbox" key handling
12:27:15_thomasjfoxSDL fullscreen switching wouldn't be Pandora specific ;)
12:27:44kugel_BTW I can imagine people wanting rockbox to windowed on Pandora
12:27:54JdGordonalso, gdb does a bunch of breakpoints in sdl init on the sims which is very annoying
12:28:06 Join MethoS- [0] (~clemens@
12:28:24 Join casainho [0] (
12:28:49_thomasjfoxkugel_: Same reasoning is true for maemo, I prefer the windowed mode since I can compare both
12:28:53kugel_JdGordon: use "handle SIGUSR1 nostopp pass"
12:29:15AlexP_JdGordon: r.e. the version thing - in the past tools/ was hacked up in the release branch to run the script anyway, then just do VERSION=3.8 echo $VERSION at the end (or similar). tools/release/ has an explicit version variable, but then didn't use that version for the builds, which IMO was confusing, so I changed to use the version specified within it, which has the side effect that only builds built with will say
12:29:15AlexP_ version 3.8, those just built normally will use svn version
12:29:49AlexP_JdGordon: There are two solutions, add the hack to, or build with "make VERSION=xxx"
12:29:57JdGordonkugel_: everytime? thats really annoying
12:30:28JdGordonAlexP_: yeah, thats what i thought, no worries
12:30:36JdGordonalso, i've added a manual bug for the commit i just did
12:30:42_thomasjfoxJdGordon: You can put that in your gdb config IIRC
12:30:53kugel_yes. but you can put it in a text file and pass it to gdb with -x
12:31:22AlexP_JdGordon: I didn't bother, as the only official things we build from there will be done via the release scripts and so work as intended, and if people are building themselves they can specifiy any version they like when doing make :)
12:31:22kugel_or you configure rockbox to use ask threads?
12:31:25 Join leavittx [0] (~lev@
12:31:38_thomasjfoxkugel_: I was thinking anyway if RaaA builds should have an "Exit" or "Quit" entry as last entry in the main menu?
12:31:45kugel_there is a gdb config?
12:32:56kugel_other people have asked for it as well
12:33:20kugel_I think I would rather see it the system sub menu
12:34:17_thomasjfoxkugel_: System menu would be less prominent, yes.
12:34:31linuxstbIsn't it already there on the player?
12:34:40_thomasjfoxkugel_: Though it's not very intuitive to find it there...
12:34:48*kugel_ doesn't want hit it accidentally too
12:35:35kugel_with that argument you need to put everything into the main menu :-)
12:35:37linuxstb_thomasjfox: Search for LANG_SHUTDOWN in apps/root_menu.c - I'm guessing you can just enable that...
12:35:47*_thomasjfox will add a yesno() question for kugel's clumsy fingers :o)
12:35:53*linuxstb has no opinion about whether it's wanted though...
12:36:21kugel_if you're in windowed mode the item is redundant as well and useless in the main menu
12:37:03_thomasjfoxkugel_: Yes, that is true (in windowed mode)
12:37:15JdGordonitems can be hidden
12:37:20JdGordonbut i agree, it shuold go in system
12:37:24_thomasjfoxkugel_: Only adding items while in fullscreen mode sucks too
12:37:32JdGordonand a touchregion should be added also :)
12:37:33 Quit DerPapst (Ping timeout: 240 seconds)
12:38:53kugel_as hockey perhaps?
12:40:00_thomasjfoxso the system menu + yesno() question would be ok?
12:40:29*_thomasjfox guesses HAVE_LCD_CHARCELLS is for remote displays
12:40:48kugel_wrong :-)
12:41:18 Quit eGen (Ping timeout: 240 seconds)
12:41:25_thomasjfoxThe LANG_SHUTDOWN stuff is inside HAVE_LCD_CHARCELLS...
12:41:39*TheSeven spots another bug
12:42:06kugel_the archos player has a charcell display, all others a bitmap one
12:42:06TheSevenapparently the sbs is not redrawn correctly in the text file viewer
12:42:22TheSeven(at least with the iLike theme)
12:42:54_thomasjfoxkugel_: Doh! Just had to look at the ifdef name more closely
12:45:00 Join DerPapst [0] (
12:45:57_thomasjfoxanyway, gotta run. If I do anything to the shutdown menu entry, I'll put it in FS
12:47:17 Quit _thomasjfox (Remote host closed the connection)
12:53:03 Quit robin0800 (Quit: Leaving)
12:54:30CIA-70New commit by 03theseven (r29460): iPod Classic: Fix YUV blitting. Mpegplayer works now.
12:55:43linuxstbkugel_: In this commit, is the "defined(APPLICATION)" in the first #if just a mistake?
12:55:59linuxstbTheSeven: How fast is mpegplayer? Can it play fullscreen video at fullspeed?
12:57:16TheSevenlinuxstb: I don't notice frame drops with 320x240 elephants dream
12:57:26TheSeventest_fps gets 42fps fullscreen YUV when boosted
12:57:44linuxstbPerfect! Time to port an xvid player...
12:58:20TheSevenand i'm pretty sure we can speed that up a damn lot
12:59:00CIA-70r29460 build result: All green
12:59:12TheSevenwe need a proper way to do vsync...
13:03:56TheSevenlinuxstb: ~25fps in mpegplayer
13:04:02TheSeventhat will need some tweaking
13:04:26kugel_linuxstb: it looks lily
13:04:56linuxstbTheSeven: Ah, I misread your previous comment - I thought you meant 42fps in mpegplayer...
13:05:15TheSevenno, 42fps raw blitting speed (limited by the LCD interface, not the CPU)
13:05:25CIA-70New commit by 03dave (r29461): Remove a redundant part of a #if
13:05:30TheSevenRGB/YUV doesn't make much of a difference
13:05:42 Join eGen_ [0] (
13:05:54TheSevenso if we do LCD DMA we might even reach 40fps in mpegplayer
13:06:10 Join sideral [0] (~sideral@
13:06:10 Quit sideral (Changing host)
13:06:10 Join sideral [0] (~sideral@rockbox/developer/sideral)
13:07:14kugel_42 fps is quite slow
13:08:42pixelmathe shutdown in the menu option on the Player has a different reason than that it has a charcell display, maybe it should use something else for the if - sounds misleading now
13:09:51linuxstbpixelma: I was wondering that - I guess checking for "PLAYER_PAD" would be more appropriate, as it relates to the Player's keypad?
13:09:55CIA-70r29461 build result: All green
13:10:35 Quit rasher (Ping timeout: 272 seconds)
13:10:58 Quit sideral (Ping timeout: 264 seconds)
13:11:46pixelmaI think that it has to do with the pad (and some hardwired power-off) or so but I'm not a 100% sure
13:12:37linuxstbIsn't it to do with the hardwired power-off cutting in too quickly, not giving Rockbox time to shutdown cleanly?
13:13:53pixelmathat's what I remember too
13:14:15*linuxstb goes with that...
13:14:37CIA-70New commit by 03dave (r29462): Change the condition for including the shutdown menu item to something more appropriate.
13:15:17kugel_my album art is too big :-(
13:15:56kugel_android can't handle loading it, OOM exception (for the widget)
13:16:14kugel_rockbox itself displays it fine of course
13:17:26 Join rasher [0] (
13:17:26 Quit rasher (Changing host)
13:17:26 Join rasher [0] (~rasher@rockbox/developer/rasher)
13:19:06CIA-70r29462 build result: All green
13:19:06*pixelma wonders if the %Tl change is more complicated than needed and would have liked more time for such a design decision
13:21:27Zagorhas anyone documented the difference between SIMULATOR and __PCTOOL__?
13:22:19kugel_Zagor: pctool is checkwps and the database tool
13:22:41Zagoryeah, but in more detail. as in how each affects the code.
13:23:22kugel_then no :-)
13:23:23ZagorI still get confused sometimes, and newcomers are almost guaranteed to be
13:24:13 Join sideral [0] (~sideral@
13:24:13 Quit sideral (Changing host)
13:24:13 Join sideral [0] (~sideral@rockbox/developer/sideral)
13:24:34gevaertsZagor: I think it's the usual "hm, it doesn't work. What if I add an #ifdef __PCTOOL__?"
13:24:57gevaertsSIMULATOR should be a subset of PLATFORM_HOSTED these days I think
13:25:03Zagorgevaerts: yes, that is a definite risk. some explanation could avoid that.
13:25:40gevaertswhile I'd say __PCTOOL__ is for any tool that expects to be compiled in a non-rockbox environment, i.e. without the full API layer being available
13:26:37 Quit Jerom (Quit: Leaving.)
13:28:38 Join hebz0rl [0] (
13:30:49 Join LinusN [0] (~linus@rockbox/developer/LinusN)
13:31:45amiconnlinuxstb: It has to do with the hardwired poweroff kicking in too quickly *and* being on the wrong button so we can't use the double-tap poweroff like on recorder v1
13:32:01amiconnSo yes, it's related to the pad
13:34:01 Quit T44 (Ping timeout: 272 seconds)
13:35:03kugel_amiconn: would it be bad if it's moved to the system menu?
13:37:17pixelmasounds inconvenient especially if you are used to it otherwise for years
13:39:08 Quit sasquatch (Quit: WeeChat 0.3.2)
13:39:33 Join sasquatch [0] (
13:42:37pixelmaput mildly
13:43:58 Quit pamaury (Ping timeout: 264 seconds)
13:45:04 Join pamaury [0] (
13:45:04 Quit pamaury (Changing host)
13:45:04 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
13:47:12JdGordonpixelma: passive agressive doesnt work... if you want to say something say it
13:47:31JdGordonand no, any other way would be crap in comparisson
13:47:44JdGordonnot to mention inconsistent with the rest of the tags
13:48:05pixelmaI said what I think, that it was too quick for a design decision
13:48:43pixelmaand I don't see where that was agressive at all
13:51:18 Join TheLemonMan [0] (
13:51:19pixelmakugel_: you have easy ways to access the main menu from anywhere, if you know have to search for the shutdown option in some submenu that is a very big change in the user interface after years of the thing being in the main menu
13:52:57n1sJdGordon: svn ci sometimes doesn't return for me
13:55:24kugel_pixelma: true, both archos player will maybe find it less convenient
13:56:01kugel_but imo it was wrong in the main menu in the first place, and it shouldn't be there on raaa
13:56:15pixelmacould you leave out your personal opinion of how many users there are?
13:56:25Zagorkugel_: it shouldn't be in any menu of raaa, should it?
13:57:39JdGordonRaaA (especially on android) *needs* a restart command
13:57:40kugel_Zagor: it's not needed on android, but on other platforms. plus, people keep asking for it
13:58:03JdGordonwithout it there is no reliable way of enableing some settings
13:58:06pixelmamain menu makes perfect sense to me for the above mentioned reason and its a main function there (even though *I* may just stop music and let idle power-off kick in)
13:58:18kugel_we also have still some places where rockbox expects to be rebooted
13:59:01Zagorso what's the issue. some platforms need a restart entry. other platforms need shutdown easily accessible.
13:59:27JdGordonit should not go in the main menu, that will look really bad
13:59:41Zagorit doesn't have to be in the same menu on archos and raaa
13:59:53JdGordonI wouldnt mind seeing the hardware menu button popup a menu with an exit button on android to acheeive it
13:59:58Zagorthe uses cases are *very* different
14:00:42ZagorJdGordon: yes, I think that is what most users would expect
14:01:11dionoeakugel_: does you album art support for widgets also work with embedded album art ?
14:02:59kugel_but I think it can be done, e.g. by writing the aa into a temp file
14:04:32kugel_I'd hate if menu would make a pop up just for the exit item. its currently used for what menu does on daps too
14:05:57Zagorsure, but exit needs to be easily found
14:06:36kugel_the system menu isn't hard to fins
14:06:39JdGordonI'd also put a button for the WPS, context menu and report bug there
14:06:41Zagorand all apps I have seen with an exit option show them in the root menu level
14:07:21Zagorkugel_: no, but it's not entirely logical either. "exit" isn't a system level operation.
14:07:40kugel_it isn't?
14:08:19JdGordonif it had to go in the menu structure I'd want it under system also, def not the main menu
14:08:48Zagoreverything else in system modifies or examins things with rockbox. exit does not.
14:09:28TheSevenare you talking about simulators or app builds?
14:09:31JdGordontrue, but exit is not something which is actually going to be used often
14:09:46ZagorJdGordon: that's a good point
14:09:54kugel_I see it rather as a stash for everything that doesn't fit elsewhere
14:10:11TheSevenfor simulators, i wouldn't like to have it in the main menu to keep screenshots accurate
14:10:15***Saving seen data "./dancer.seen"
14:10:30JdGordonI think we are just talking RaaA (specifically android here)
14:10:31TheSevenideally not in any menu at all
14:11:59pixelmaand there's also the difference to the Player - in which case it is turning the device off completely whereas on RaaA it's "just" about closing an app on a device that will probably stay powered for other reasons. So I agree that it can easily be handled differently (and probably should)
14:12:20ZagorJdGordon: if viewed as "apply start-time settings", I certainly can agree it fits better in system
14:12:24kugel_every item in the main menu that's used seldom but makes it more likely to scroll is a bad fit imo
14:13:11Zagorthough main menu scrolling isn't a big problem on android, is it?
14:13:21Zagorunless the default themed change a lot since last I looked
14:14:09kugel_I have a patch that adds line spacing, any new item will make it scroll on my phone
14:14:42linuxstbkugel_: So then you wouldn't see it?
14:14:46*kugel_ intends to commit it some time
14:14:53JdGordonZagor: yeah, but that language string would be a bit awkward
14:16:15kugel_linuxstb: no, but the overly ugly scrollbar
14:16:53linuxstbCouldn't RaaA use the native list widget, instead of Rockbox's?
14:17:04kugel_not easily
14:17:36kugel_hard to code
14:17:53JdGordonI dont agree with that
14:18:08linuxstbIsn't it "just" a matter of implementing Rockbox's list API as a wrapper to the host's?
14:18:21JdGordonbi-directional but yes
14:18:23kugel_then do it if it's easy
14:18:33JdGordonits a bit of glue
14:19:25kugel_it will be a lot awkward too, not everything in rockbox uses lists
14:19:44linuxstbkugel_: It's unlikely I'll do it. I'm just raising the idea in case somebody else does...
14:20:01linuxstbBut this is how I always envisaged RaaA to be.
14:20:10kugel_the idea is not new
14:20:25JdGordonmore chance of stripping the playback engine out and making a completly java GUI for it
14:22:10Zagorwell, the list code isn't really the problem there :-)
14:22:25Zagorthough of course every little helps
14:22:40JdGordonand if/when that ever happens I'd really love to rebuild apps/ and remove a ton of crap
14:23:14JdGordonlike... charcell and hwcodec :D
14:25:03*kugel_ doesn't want to lose theming abilities
14:25:39TheSevenkugel_: but app builds are likely to have completely different theming requirements than regular targets
14:25:53TheSevenso that could probably be done much more flexible in java
14:26:12TheSevenbreaking theme compatibility with regular targets IMHO isn't a big deal
14:26:22kugel_I wouldn't want a rockbox that strips all the awesome features away only to be able to use OS widgets
14:26:36ZagorI don't think we have to choose either/or. we can have both variants.
14:26:39JdGordonZagor: how's your surgery going? is it on git? can others help? or *WAAAY* too early still?
14:27:18ZagorJdGordon: it's a bit early to share, yes.
14:27:28 Nick knitt1 is now known as knittl (~knittl@unaffiliated/knittl)
14:29:10linuxstbkugel_: What would be lost by using OS widgets? You could even gain things if they are more powerful/themable than Rockbox's own implementations.
14:29:11JdGordonok, we know our codecs kick ass, and our playback engine sort-of doesnt... would it be feasable to grab an engine that actually works and retrofit rockbox around it more cleanly?
14:29:25JdGordoninstead of pulling ours out?
14:30:39TheSevenJdGordon: rewrite that beast from scratch?
14:30:49ZagorJdGordon: you mean you think there's a playback engine out there that would suit our needs and suck less? somehow I doubt it.
14:30:52JdGordongrab it from somewhere else?
14:31:00JdGordonjust a thought :p
14:31:15TheSevenwell, how exactly does ours suck?
14:31:28TheSevenIIUC the root cause for most of the trouble is race conditions somewhere
14:31:31ZagorTheSeven: it's not exactly KISS
14:31:44JdGordonwe cant test it, it has unknown bugs, multiple authors
14:31:58TheSevenwhy can't we test it?
14:32:43JdGordonyou cant script it at all which makes some bugs impossible to reliably reproduce
14:32:50JdGordonmaybe im being too harsh
14:33:12kugel_I wanted raaa so that I can run the rockbox I love from my daps on my phone, and not yet another generic android media player
14:33:40TheSevenkugel_: do you really want *that rockbox* or *rockbox's features*?
14:34:13Zagorkugel_: the question is, what is rockbox for you?
14:34:27TheSevenJdGordon: I'm thinking about some unit/regression testing system
14:34:38kugel_the features, all of them. if OS widgets mean giving up some I'm not a fan
14:34:43 Join Guest9143 [0] (
14:34:44 Quit Guest9143 (Client Quit)
14:34:51TheSeventhis would need to have multiple layers
14:34:52 Join webguest377 [0] (
14:35:03webguest377Is anybody here to help?
14:35:19TheSeven128 people, to be exact :)
14:35:43webguest377They could have been idle
14:35:50TheSevensome probably are
14:35:59webguest377I installed Rockbox yesterday on my Sansa Clip+
14:36:03webguest377and i can play music using it
14:36:17webguest377but when i plug it into my computer it says it needs to be reformatted before it can be used
14:36:32webguest377so i can't put any new songs on it
14:36:47webguest377How do i fix this
14:37:20TheSevenin the original firmware you can access it fine?
14:37:48webguest377When i plug it in it looks like it uses the original firmware, it has Sansa written on the device
14:37:55webguest377and says "Connected" on the device
14:38:06webguest377and it is charging up
14:38:14TheSevenok, so the clip+ uses the OF for USB?
14:38:25TheSevenhm... that's a bit weird then
14:38:36TheSevencan the OF (original firmware) see the songs on it?
14:38:44webguest377OF = official firmware?
14:38:49webguest377oops, didnt see that
14:39:15TheSevenif you unplug and replug it while running the OF, do things get better?
14:39:25webguest377lemme just try
14:39:51webguest377It will take a minute, the clip has to "Refresh media" every time you unplug it
14:41:27Zagorkugel_: as always, different people have different opinions. personally I think the classic rockbox gui is a bit to "strange" for an android app, and I'd be willing to give up some skinning for better integration.
14:42:33 Quit antil33t (Read error: Connection reset by peer)
14:42:42kugel_I'm using the list item spacing patch since some time with which it doesn't look so strange
14:42:45 Join antil33t [0] (
14:42:58ZagorI'm looking forward to trying that
14:43:16webguest377If it is turned on and running the OF and then i plug it in it does not work either
14:43:23kugel_if we also enable the statusbar it'll be even less strange
14:43:33TheSevenso you basically have no way to access the storage from a PC any more?
14:43:56webguest377No i do not, i mean.
14:43:58Tornewebguest377: try with another computer/cable.
14:44:16webguest377I have neither of those things
14:44:16TheSevenwhat does the partition manager in windows say? does it see a partition at all? is the size correct?
14:44:24webguest377It has never been a problem accessing it before though
14:44:27kugel_Zagor: the android-test-plugins branch on my git repo has it. in fact I'm running that branch
14:44:38webguest377i dont know what partition manager is
14:45:20webguest377I can access the microSD card that is plugged into the Clip
14:45:24TheSevenyou get a drive letter for it? if you right click it and choose properties, what are the free/used/total sizes? does it show the file system type?
14:46:21kugel_I'm also using aa fonts and use the font that android also uses
14:46:24n1sI also think a more "native style" ui would fit better for apps on various hosted platforms
14:46:46TheSeventhe windows partition manager is in the computer management console (compmgmt.msc) called something like "drive management"
14:47:43Zagorkugel_: can you make a quick screenshot?
14:48:09webguest377it says it is 0 bytes
14:48:44TheSevenso the microsd card works, but not the internal storage?
14:49:03TheSeveni think we can exclude USB problems then
14:49:28TheSevendid you find that drive management thing?
14:49:28pixelmawhat about MSC/MTP mode?
14:49:48webguest377i don't know what that is, sorry
14:49:55TheSevenwould it even show a volume in MTP mode?
14:49:59 Join Highlander [0] (
14:50:31*TheSeven doesn't have a sansa himself, so he can only guess
14:50:37 Quit parafin (Remote host closed the connection)
14:50:56 Join parafin [0] (
14:50:58TheSevenregarding my unit and regression testing proposal:
14:50:58TheSeven1) have a set of tests for most drivers, running on the real hardware, replacing the apps layer
14:50:58TheSeven2) have some shared unit testing framework that does e.g. hardware simulation, and can also simulate timing behavior
14:50:58DBUGEnqueued KICK TheSeven
14:50:58TheSeven3) have a bunch of unit tests for individual components like playback, buffering, codecs, etc.
14:50:58TheSeven4) make those tests try really hard to hit race conditions, and possibly also measure latencies of e.g. buffering
14:50:58***Alert Mode level 1
14:50:58TheSeven5) possibly allow to run those high-level tests on real hardware as well
14:50:59***Alert Mode level 2
14:50:59TheSeven6) automate as much of it as possible
14:51:03pixelmaI believe it shows up as something with a name in the Windows explorer but without drive letter
14:51:10 Join benedikt93 [0] (~benedikt9@unaffiliated/benedikt93)
14:51:20pixelmain MTP mode
14:51:27TheSevenpixelma: windows would not ask someone to format that though
14:51:36pixelmatrue that
14:52:47n1smaybe the partition is screwed up and works in rb by luck
14:53:13 Nick kugel_ is now known as kugel (~kugel@rockbox/developer/kugel)
14:53:31n1sTheSeven: is there really a need to replace the apps layer for 1) could it not be done via plugins like the already present test_* plugins?
14:54:41TheSevenn1s: that will only work if the drivers aren't broken too badly
14:54:56TheSevenand all drivers are already present
14:55:10ZagorTheSeven: that sounds excellent. when will it be ready? ;-)
14:55:30TheSeveni'm thinking that this kind of tests could be very helpful while porting to new targets, so i would like to keep the requirements down to the absolute minimum
14:55:31n1sTheSeven: so tyou mean to have that more as an aid for developing new ports?
14:55:32Zagorkugel: nice
14:56:15TheSevenboth that and to debug existing ones
14:56:34kugelthen I also possibly want that the line selector draws "under" the icon, that plus the android statusbar, is pretty good and not too hostile if you ask me
14:56:54webguest377Ok, i turned "USB Mode" on the Clip to "Auto Detect" and now I can see the internal memory
14:57:03n1sand yes, such test frameworks would be very nice
14:57:07webguest377it recognises it as 8GB
14:57:10TheSevenwhat was it previously set to?
14:57:19webguest377and it sees that it only has 251MB free
14:57:24webguest377but i cant see any of the songs on it
14:57:30webguest377and it was on MSC
14:57:41 Quit Highlander (Quit: Quitte)
14:57:47kugelmaybe also a thin line between items
14:58:03TheSevenkugel: thin, and dotted :)
14:59:12kugelwhy dotted?
14:59:38TheSevenbecause it looks nice
14:59:39webguest377 It knows there is stuff on it
14:59:43webguest377but i just can't view it
15:00:12TheSevenwell, that is MTP now
15:01:00***Alert Mode OFF
15:01:04webguest377Where is the music stored if it is in none of the folders and not in the root
15:01:06Tornehow did you put the music on there originally?
15:01:22webguest377Before i installed Rockbox i used to just drag it on
15:01:33webguest377it use to come up as "removable storage"
15:01:38webguest377so i just put it on like that
15:01:48Torneright. it used to be in MSC mode then
15:01:56TorneWhen in MTP mode you can't see files that were copied in MSC mode
15:01:58webguest377I changed USB mode on the device to "Auto Detect" and now it comes up as Sansa Clip+
15:01:59Torneand vice versa
15:02:01Tornerockbox can see both
15:02:02kugelZagor: imo the UI is pretty enjoyable (with the patches I have applied)
15:02:15webguest377how do i fix this?
15:02:32Torneyou need to be in MSC mode.
15:02:37webguest377MSC mode does not work
15:02:42webguest377it says i need to format it
15:02:59Tornetaht doesn't change the fact that you need to be in MSC mode
15:03:02n1swebguest377: what happens if you format it?
15:03:06linuxstbkugel: Do you have a binary available with all your patches?
15:03:14webguest377I haven't tried formatting it
15:03:17webguest377i dont want to lose my music
15:03:57webguest377I'll try swapping back to msc and see if it still happens
15:04:02TheSevenwebguest377: you seriously only have your music on your sansa, and no backup of it?
15:04:15webguest377I have it on an external HDD
15:04:19webguest377but there is 8GB of it
15:04:26webguest377and i need to go out soon
15:05:01Tornewebguest377: <- this is how to access Disk Management; put the device back to MSC mode, and take a screenshot of that while it's attached
15:05:14 Quit n1s (Quit: Lämnar)
15:05:25webguest377Ok, give me a few minutes.
15:07:07kugellinuxstb: you can clone my repo and build yourself
15:08:58linuxstbkugel: Yes, I'll just do that.
15:11:17webguest377F: is the Clip
15:11:24webguest377H: is the microSD card inside of it
15:11:35linuxstbkugel: So your argument is basically that Rockbox can be made to look close enough to the Android UI that there's no need to use native widgets?
15:12:33 Join AndroUser2 [0] (
15:13:16kugellinuxstb: you can put it this way yes
15:13:39kugelthe list spacing thing is more a usability thing rather than matching android's UI though
15:13:41TheSevenwebguest377: but both the OF and rockbox can access the files just fine?
15:13:53 Quit AndroUser2 (Client Quit)
15:13:53TheSeventhat's a bit weird, as this screenshot looks like s smashed MBR
15:14:11TheSevener, partition superblock (PBR), not MBR
15:14:48TorneI would guess something has managed to trash a field in the BPB that we don't care about
15:16:08 Join Stephenc__ [0] (~androirc@
15:16:24Torneor some kind of really obscure bug in the OF's USB code :)
15:16:46webguest377This only started to happen after i installed Rockbox
15:19:00CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
15:19:00*TheSeven would like to see an image of that
15:19:11TorneTheSeven: yeah
15:19:43webguest377an image of what?
15:19:47TorneThe filesystem
15:19:49*TheSeven wonders if he should try remote rohpod
15:20:10webguest377how would i get an image of that
15:20:21Tornenot particularly easily.
15:20:29Tornedownload this:
15:20:55Tornethat can look at the disk for us
15:21:01Torneyou should be able to pick to open the F: drive with it
15:21:09Torneand then hopefully it will display the BPB
15:21:28 Join kevku [0] (~kevku@2001:7d0:0:f9af:feed:feed:feed:feed)
15:21:42webguest377Ok, i've installed it.
15:21:49webguest377You will have to tell me how to use it though.
15:22:30Tornei can't, really :)
15:22:41Tornei don't have windows handy
15:22:50kugellinuxstb: you forgot some #ifdef in your last commit
15:22:55Torneer. pick the first button on the toolbar, the floppy disk
15:23:01Torneshould come up with a list of disks, pick F:
15:23:12kugels/some/one/, line 463
15:23:13 Quit mc2739 (Ping timeout: 250 seconds)
15:24:53webguest377Didn't mean to put chanserv
15:25:03TheSevennow click OK
15:25:08 Join mc2739 [0] (~mc2739@rockbox/developer/mc2739)
15:25:10TorneOh, er, there's no partition table there
15:25:16TorneIs the clip+ supposed to be parttiioned?
15:25:29webguest377I have no idea
15:25:29sideralTorne: No, it isn't
15:25:34Torneah ok
15:25:40TorneYeah, hit ok and it should show you the BPB
15:25:58Torneif it's too broken it may not guess the right format
15:26:05Tornehit, er, view -> FAT32 boot parameter block
15:26:07Torneor something similarly named
15:26:28TorneYeah, that's the one
15:26:36TorneSo that looks superficially valid
15:26:54Tornei am not sure why windows wouldn't be willing to mount that
15:27:46Tornediskexplorer seems perfectly happy to locate all the FS structures
15:27:59TheSevenmaybe the root directory cluster chain being corrupted or something?
15:28:16Torneanyway, it looks like the filesystem has gotten screwed up
15:28:34Torneopen a command prompt and run chkdsk /f f:
15:28:42Torneclose diskexplorer first.
15:28:55Torne(this probably wont' work but it won't hurt to try)
15:29:14webguest377it said "Invalid parameter - f:"
15:29:27Torneright. so yes, it's somehow screwed enough that windows refuses to even look at it
15:29:51TorneProbably your only hope to fix the FS without erasing it is to try another operating system
15:30:02TorneWe'd probably like to look at it and see what is wrong, tbh :)
15:30:10webguest377i have Ubuntu installed with VirtualBox
15:30:12Tornei believe diskexplorer knows how to make disk images but i'm not sure.
15:30:24Torneand a disk image of the whole thing is gonna be, well, 8GB
15:31:46Torneok, well, it's up to you really: we would probably like to see a disk image to see what went wrong, in case it was rockbox that corrupted it
15:32:00Torneyou could also try attaching it in Ubuntu and seeing if fsck.vfat can fix it
15:32:13TheSeven[15:29] <webguest377> it said "Invalid parameter - f:" << wrong parameter order?
15:32:16Torneit may be able to, or it might screw it over worse and you'll be ofrced to format it anyway
15:32:29TorneTheSeven: I'm pretty sure that means it can't recognise the filesystem
15:32:32webguest377i typed "chkdsk /f f:"
15:32:44Torneinvalid parameter to a syscall, rather than to the command
15:32:59Torneor just that f: isn't a FAT/NTFS disk
15:33:12Tornei believe chkdsk doesn't operate on things that are unmountable :(
15:33:36webguest377oh hold on
15:33:41webguest377i must have typed it wrong
15:33:46webguest377i tried again and it's doing something
15:33:55webguest377i'll copy what it says here
15:34:02 Join evilnick_B [0] (0c140464@rockbox/staff/evilnick)
15:34:04TorneNo, put it in a pastebin :)
15:34:09sideralWho's maintaining the official git repo at git:// I think I found a way to perform surgery on it to include all branches (including the release branches) without breaking any existing commit IDs
15:35:09TorneTheSeven: Yep, you're right
15:35:13Tornethe root directory cluster chain was fucked
15:35:24TorneOkay, so tell it yes
15:35:33Tornebut the result of this is likely to be that many of your files are destroyed anyway
15:35:47Torneso even if it makes the filesystem work you are probably going to need to reformat and copy all the files on there anyway
15:36:18webguest377ah it works now
15:36:26webguest377that's just if you're interested in what it said
15:36:40TorneThis has *definately* corryupted soem of your files
15:36:42*TheSeven wonders what the hell you did to that partition :)
15:36:46TorneI recommend you format it and copy all the files on there again
15:36:54Tornebecuase otherwise you are goignt o experience random odd problems
15:36:57webguest377Do i have to format?
15:37:01webguest377can i just delete the songs
15:37:01TorneNot right now maybe
15:37:08TorneNo, format it
15:37:13Torneat some point.
15:37:23Torneuntil you do, don't trust it to work or report any bugs :)
15:37:39webguest377Ok, i'll have to do it some other time
15:37:41webguest377Thanks for the help
15:37:43Tornethe filenames it mentioned are definately corrupt
15:37:46TorneOther files may also be
15:37:54TheSeveni wonder how that could have been corrupted
15:38:10TheSeventhe corruption seems to be scattered around quite a lot, both bad dir entries and fat corruption...
15:38:21CIA-70New commit by 03kugel (r29463): Fix returning to wps from a plugin.
15:38:25TorneTheSeven: i wonder that we are happy to mount a filesystem with a root directory with an out-of-bounds cluster in it
15:39:04webguest377do you 2 make Rockbox?
15:39:14TheSevenTorne: that probably just makes the storage layer report an I/O error, which will probably fail a readdir() call, which is interpreted as "end of directory"
15:39:14Tornenot on our own :)
15:39:20TorneTheSeven: yuck
15:39:26TorneTheSeven: we should probably be more careful than that
15:40:08TheSevencurrently there is no way to distinguish an error from end of directory because the readdir will just return a null pointer in both cases
15:40:30Torneyes, i mean the FAT code should probably check that cluster numbers are at least in bounds
15:40:45Torneobviously it can't detect crosslinks at read time but that appears to be worse than just a crosslink
15:41:18Torneactually continuing to use an FS that's already that broken is kinda bad; risks murdering user data
15:41:24TheSevenanyway, what should we do in that case?
15:41:33CIA-70New commit by 03kugel (r29464): Backport r29463: Fix returning to wps from a plugin.
15:41:35Torneor similar.
15:41:40Tornewhat do we do if the BPB is garbage? :)
15:41:50TheSevendo we have some kind of disk mode on all targets?
15:41:59Tornei hope so :)
15:42:02TheSeveni'm not sure
15:42:20TheSevenif there's bpb trouble, we just fail to mount => empty file browser, but USB MSC works
15:42:34CIA-70r29463 build result: All green
15:42:41Tornemaybe we just need an equivalent of errors=remount-ro
15:42:42Torneor similar
15:42:47Torneor unmount
15:42:49TheSevenso we should maybe just surprise-remove the volume?
15:43:03TorneEither that or just surprise-writeprotect it
15:43:19TheSeventhe latter may badly confuse users
15:43:25Tornebtu yeah, you're right
15:43:27TheSevenas the reason for it isn't immediately apparent
15:43:29Torneit would be nicer to unmount it
15:43:34Tornerather than panicing
15:44:02Tornedo we actualyl *have* a way to unmount it on targets that don't have removable volumes, though?
15:44:13TheSevenwe can just behave as if it was never mounted
15:44:28TheSeveni.e. trash some fat global vars enough to make it refuse to access anything
15:44:32TorneAh, true
15:44:33TheSevener, wait
15:44:36TorneWell, no
15:44:37TheSevenwe can certainly unmount
15:44:47TheSevenUSB MSC can do it, so we can do it as well :)
15:44:56TorneDoesn't USB MSC *not* in fact unmount the filesystem?
15:45:10Tornewhich has caused various dodgy bugs in the past?
15:45:12kugelit does since a while which exposed some bugs
15:45:18Torneah right.
15:45:22Torneokay, well, we should do that then
15:45:24TheSeventhose dodgy bugs were caused by open files/dirs surviving an unmount/remount
15:45:38webguest377The Database thing on rockbox hasn't included all of the songs, only some
15:45:39Tornewhen do you remount it, though?
15:45:45webguest377which option is it to get it to check the rest?
15:45:48Tornewebguest377: your filesystem is trashed
15:46:02Tornewebguest377: until you fix that there's no way to know if any problems you are having are caused by that or not
15:46:20Torneif it's usable for now then use it as best you can; reformat and put files on there anew when you have time.
15:46:34TheSevenwebguest377: you can try choosing "initialize database" from the context menu of the main menu "database" entry, but doing that may well lock up your player
15:47:08webguest377I'll just use the folder view for now then
15:47:10webguest377thanks again
15:47:12TorneTheSeven: the slight issue with just unmounting is when do you remount
15:47:17sideralTorne, kugel: We still don't unmount cleanly on USB connect, though. It's more like an eject-like flush. See FS #11883 for a real unmount feature.
15:47:34TheSevenTorne: after USB unplug or reboot
15:47:40sideralTorne: We remount as soon as the USB connection unplugs
15:47:43TorneTheSeven: but how do you know whether you fixed anything?
15:47:56TorneTheSeven: on a "real" computer/fs you would markt he FS dirty/unmountable on error
15:47:59 Quit webguest377 (Quit: CGI:IRC)
15:48:03Torneand then it would not be possible to mount it again without running fsck
15:48:05TheSevenwe can't know, so if we hit the problem again we'll unmount again
15:48:18TheSevenand we might flag the volume as bad once we spot some trouble to make windows fsck it
15:48:18Tornebut if the problem is just in some file somewhere it may not happen again even though the FS is still broken
15:49:06TheSevendo we currently respect that dirty flag and fail to mount if it's set? I don't think so?
15:49:12Tornei don't think so either.
15:49:28TheSevenmaybe we should do that as well, and let the user choose to optionally mount it read only
15:49:52TheSevenhm, talking about handling errors more gracefully: we should maybe add some kind of "safe mode", which skips everything not absolutely neccessary during boot, especially database startup
15:50:11TheSeveni'm having some trouble with database problems semi-bricking ipod classics
15:50:27TheSeven(we don't have disk mode there yet)
15:51:15TorneWe should probably respect the error-on-last-mount bit
15:51:21Torneand set it in this case too
15:51:37TheSevenyou know there are two of them? one for FS corruption and one for IO errors?
15:51:49Torneer, no
15:51:58 Quit Stephenc__ (Quit: AndroIRC)
15:51:59Tornethere are two, one for cleanly-unmounted and one for errors
15:52:17Torneneither strictly implies FS corruption
15:52:35TheSevendang, so we can only flag it as unclean-unmounted if we hit corruption?
15:52:53TheSeventhe second bit will make windows do a surface scan, which we probably don't want to do
15:53:18TorneThe expectation is that you set it as uncleanly unmounted at mount time
15:53:21Torneand then set it back at unmount
15:53:28Torneand then windwos will nag you to chkdsk
15:53:58TorneIf we started doing that (and/or respecting that) then I expect a large uptick in support requests
15:54:10Tornefor all the people who menu+select to reboot their ipods
15:54:27TheSevenTorne: we could do it a bit more lazily like windows
15:54:37TheSevene.g. set it to mounted on writes and to unmounted on flushes
15:54:46Tornewindows does that?
15:54:56Tornethat's really impressively wrong and dangerous
15:55:13Tornebecause IO ordering barriers don't work on mortals' hardware
15:55:16TheSevenas long as you don't write anything, it's basically the same as if you never mounted it
15:55:30TorneOh, it's okay to delay setting it until the *first* write
15:55:50Tornebut you can't set it back whenever you think it's clean..
15:56:05TheSevenwindows does seem to flush the FAT and caches in then background and once it has completed that resets that bit
15:56:22Torneyah, but that's the part that's not really safe :)
15:56:31TheSevenyanking out a pendrive in most cases doesn't trigger that chkdsk nagging
15:56:53*Torne nods
15:57:02TorneI don't think other OSes will do that, though
15:57:09Tornebecause it really isn't safe :)
15:57:14TheSevenbecause of what?
15:57:24TheSeveni'd expect a drive to really flush its cache if i tell it to
15:57:45Torneokay so 1) there are loads of situtaions where telling it to do it doesn't do anything
15:57:58Tornee.g. lots of USB MSC enclosures don't bother to do anything with that SCSI command
15:58:08Torne2) there are disks that just ignore it
15:58:43TheSevenTorne: if our disks would be doing that, wouldn't that mean that we would have data loss after powerdown regularly?
15:59:23TheSeveni think we should be able to find a way to do this safely
15:59:53TheSeventhe very worst case solution would be to do a spindown, spinup, reset that flag, spindown
16:00:01Tornewell you can try, but in the general case it's impossible to actually do an IO completion barrier
16:00:24Tornebecuase too much hardware jsut doesn't care
16:00:46TheSevenIIUC we disable write caching completely if the drive supports that
16:01:07TheSeven(which is ignored by at least some toshiba drives)
16:01:13Torneyes. it's ignored by quite a few :)
16:01:47*Torne shrugs
16:01:49Tornei'm just paranoid :)
16:02:31TheSevenanyway, doing this kind of thing is at least way better than what we currently do
16:05:15TheSevenso what would the plan be?`
16:05:52TheSeven1. flag the volume mounted on the first write access
16:06:07TheSeven2. flag the volume clean on unmount/sync (do we have a way to do that?)
16:06:18TheSevenof course only if it was clean before mounting it
16:06:36TheSeven3. mount read-only and warn the user if it's flagged dirty?
16:07:01TheSeven4. if we hit a serious problem, surprise-unmount it
16:07:39Torne1/2/4 are good
16:07:42Tornei'm not too sure about 3
16:07:51TheSevenwell, we could at least splash at boot
16:08:00Tornewell, okay, both 1/2 and 3 are likely to cause lots of user queries
16:08:09Tornebecause loads of people use their player in a way that's not actually safe :)
16:08:22TheSevenTorne: we currently don't ever fully sync unless we're shutting down, right?
16:08:23Torneand they *already* get surprised when windows complains occasionally
16:08:34TorneEr, I don't know but I'm guessing that's correct
16:08:59TheSevenit might be a good idea to sync at least the fat cache upon spindown
16:09:32TorneWindows defaults to being very aggressive about writebacks on removable media
16:09:43 Quit factor (Read error: Connection reset by peer)
16:09:48Torneit still uses a write cache but it pretty much schedules all teh writebacks immediately
16:09:48TheSevendepends on how it's configured
16:10:15Torneyes, that's why i said defaults
16:10:16***Saving seen data "./dancer.seen"
16:10:39TheSevenin "performance-optimized" mode it's doing something somewhat sane
16:11:14Torneyes, but nobody ever uses that
16:11:17TheSeven(trying as hard as possible to get that thing synced in the background, and trying to reduce the risk of corruption by means of ordering)
16:11:18Tornebecause nobody knows where that option is :)
16:11:42TheSevenin safe removal mode, it's a bit too aggressive IMO
16:11:57 Nick TheLemonMan is now known as some1 (
16:12:05TheSevenwhy bother writing back the fat and directory clusters after every single file operation when copying whole directories?
16:12:18Tornei didn't say it was a good idea, but that's what it does :)
16:12:34TheSevenit's of course a good idea to keep the on-disk state consistent, but why not first write dozens of files to free space before allocating them?
16:12:45Tornethere's always the way symbian does it. ;)
16:12:59TheSevenhow does that one do it?
16:13:30ZagorTheSeven: because that requires more complex and thus error-prone code?
16:13:44TorneSymbian orders FAT writes such that the currently in progress operation can be rolled back or replayed given a linear time scan of the filesystem metadata at boot
16:14:04 Nick some1 is now known as some1passisdogjl (
16:14:18Torneso if it detects unclean unmount it runs its mini equivalent of chkdsk, which is specifically looking only for the corruptions that can be caused by interruptions of its ordered FAT system
16:14:20 Nick some1passisdogjl is now known as some1 (
16:14:23 Nick some1 is now known as some1-dogjlp (
16:14:24Tornewhich is way faster than an actual fsck
16:14:31sideralTorne: Sounds like BSD FFS soft-updates for FAT
16:14:33Torne(though still slower than a real FS with a journal, of course)
16:14:55Tornemore or less
16:15:01Torneit's not even particularly complicated to do it
16:15:17Torneit's kinda disappointing that no other OS tries :)
16:15:40Torneif it finds a kind of error it knows it can't create, or more than one error, it decides the FS is broken
16:15:55Tornepresumably because someone mounted it with UMS and wrote to it with a less careful implementation
16:16:33Tornebut yeah, it's quite fast generally, and uses very little ram
16:16:40Tornesince it doesn't have to look for crosslinks or otehr expensive checks
16:17:02TheSevenchecking for crosslinks isn't very expensive either
16:17:17TheSevenit just needs a cluster bitmap
16:17:53sideralBTW, I believe we mark the FS clean after closing every file we're written to (after the sync flush). I'm not sure what happens if we ever have more than one file open for writing.
16:17:57 Nick some1-dogjlp is now known as TheLemonMan (
16:18:14TheSevensideral: we don't even bother to mark it dirty in the first place
16:18:49sideralTheSeven: Sure? I thought I had seen initial writes to sector 1 after opening files for writing
16:19:04TheSevensector 1 is FSINFO
16:19:17TheSevenso that's probably just updating free space information
16:19:43sideralI thought that was used to tell whether the fs was unmounted cleanly?
16:20:16TorneTheSeven: a cluster bitmap isn't constant-memory
16:20:18sideralwhen a write is in progress, the free-space info is set to an invalid value
16:20:34Tornesideral: no
16:20:43Tornethe unclean bit is in the FAT
16:20:47 Nick TheLemonMan is now known as some1_ (
16:21:07Tornein the entry for cluster 1
16:21:07sideralTorne: ah OK, need to go back reading the docs
16:21:38TheSeventhat kind of thing being a fat entry is just plain crazy
16:21:45TorneTheSeven: there was room there :)
16:22:20Tornefat entry 1 was never useful
16:22:42TheSeveni wonder who decided to offset the clusters by two, and why...
16:22:44 Quit some1_ (Disconnected by services)
16:23:14 Join TheLemonMan_ [0] (
16:23:18sideralTheSeven: probably an artifact of old floppy layouts, so that the first cluster starts at sector 1 or some such
16:23:45TorneTheSeven: it's because cluster 0 and 1 contain the root directory, no?
16:23:56 Nick TheLemonMan_ is now known as TheLemonMan (
16:23:57Torneon fat12/16
16:24:02TheSevennope, that isn't fixed either
16:24:08Torneit is on fat12/16
16:24:17TheSevenno, the rootdir size is configured in the BPB
16:24:28TheSevenso it can be bigger than two sectors
16:24:36Torneer, the BPB was a later addition though
16:24:41TorneClassic FAT12 didn't have one
16:24:45Torneat all.
16:25:03Tornethe first FAT entry was at the very start of the disk
16:25:16Torneyou detected the media type (which kind of floppy) by reading it from cluster 0's FAT entry, i.e. the first byte
16:25:18TheSevener, so there was not even a boot sector?
16:25:44TheSevenwas that before BIOSes supported booting from non-ROM?
16:25:57TorneDOS 1.0
16:26:00Torne2.0 added the BPB
16:26:10*TheSeven probably wasn't even born yet at that time :)
16:26:26Torneso yeah. the original FAT12 layout was hardcoded based on media type
16:26:34Torneread first byte of volume (low byte of fat entry 0) to find media type
16:26:37Tornethen you know how long the FAT is
16:26:45Torneand thus where cluster 0 starts
16:26:49Torneand clusters 0/1 are the rootdir.
16:26:51Torneall fixed
16:27:06sideralnice history lesson, thanks!
16:27:12Tornethat's why FAT entry 0 still contains a copy of the media type value from the BPB :)
16:27:56Torneso yes, later versions of DOS can have a longer rootdir
16:28:08Tornein which case FAT entries 2-n are marked as reserved
16:28:34Tornebut 0 and 1 are always at least the *start* of the rootdir until fat32
16:28:53TheSeventhat's not true either
16:29:11TheSevenon fat12/16 cluster 2 is the first data cluster, no matter what the rootdir size is
16:29:24Torneoh, right
16:29:34Tornemeh :)
16:30:20*TheSeven wonders why fat32 wasn't designed from scratch and instead kept all those nasty artifacts
16:30:23Tornethat's just for backward compatibility
16:30:32Tornewith systems that assumed that the rootdir was always two clusters
16:30:49TorneTheSeven: becuase they suck
16:34:45sideralTheSeven: because it allows FS implementations to share more −− and MS to inflict more patents on you. Your choice :)
16:35:06sideral*share more code
16:35:19amiconnkugel: Yes, very. It's already quite inconvenient to shut down via the menu. Even more so if you have to click around further
16:35:24 Quit TheLemonMan (Quit: free(me))
16:48:04kugeldionoea: works with embedded aa
16:50:01 Quit krazykit (Quit: awe yeeeeeee)
16:52:58dionoeakugel: neat :)
16:53:39kugel is a bit better
16:54:03kugelis mmap() preferable over malloc()+read()?
16:54:49 Quit user890104 ()
16:56:23 Join Topy44 [0] (~Topy44@
16:56:31 Quit pamaury (Remote host closed the connection)
16:57:24 Join t0rc [0] (~t0rc@unaffiliated/t0rc/x-5233201)
16:58:31kugel suggests yes, even though malloc might call mmap if it wants to
16:58:41kugelTorne: ah thanks :)
16:58:56linuxstbkugel: Thanks for spotting that missed #if - please fix it if you can, otherwise I'll try and remember later...
16:59:12Torneer, malloc calling mmap there doesn't do the same thing at all
16:59:33Tornemalloc may indeed mmap() an anonymous file to get a big chunk of memory but that's still anonymous memory the same as if you grew the heap
16:59:51Torneby mmap'ing the actual file you are mapping it file-backed so there's no actual memory allocated at all
17:00:01kugelah, I see :)
17:00:39Tornemalloc does normally do that for large allcoations to avoid fragmenting the heap, just allocates them somewhere else in virtual ddress space isntead
17:00:47Tornebut yeah. that will still take up RAM/swap
17:00:55gevaertsIf it's a *big* file, you possibly want some madvise() magic too
17:00:57Torneif the pages actually get written to.
17:01:14TorneWell, you're only mapping the bit you need, right?
17:01:30kugelthe patch only maps the albumart portion yes
17:04:07 Part Zagor
17:04:27kugelthis approach can bring embedded aa to pictureflow also
17:05:25 Quit sideral (Disconnected by services)
17:05:25 Join sideral1 [0] (~sideral@
17:05:27 Nick sideral1 is now known as sideral (~sideral@
17:05:27 Quit sideral (Changing host)
17:05:27 Join sideral [0] (~sideral@rockbox/developer/sideral)
17:07:19 Quit sideral (Remote host closed the connection)
17:08:08 Join sideral [0] (~sideral@rockbox/developer/sideral)
17:08:11 Part LinusN
17:08:44kugelshould I use the check filesize to avoid copying if the file is already there?
17:09:48kugels/use the//
17:10:49 Quit antil33t (Read error: Connection reset by peer)
17:10:59 Join antil33t [0] (
17:15:12 Join Sochiro [0] (~Sochiro@
17:16:14 Join Keripo [0] (
17:16:45 Quit DerPapst (Quit: Leaving.)
17:17:34 Quit sideral (Remote host closed the connection)
17:18:19 Join sideral [0] (~sideral@rockbox/developer/sideral)
17:20:56 Join sinthetek [0] (~sinthetek@unaffiliated/sinthetek)
17:21:54 Quit Topy44 (Read error: Connection reset by peer)
17:24:21 Quit sideral (Ping timeout: 264 seconds)
17:24:46 Join mshathlonxp [0] (
17:32:11 Join Topy44 [0] (~Topy44@
17:34:07 Quit sinthetek (Quit: leaving)
17:37:25 Join bmbl [0] (
17:37:26 Quit bmbl (Changing host)
17:37:26 Join bmbl [0] (~bmbl@unaffiliated/bmbl)
17:37:33 Join Dr_Agasa [0] (
17:38:55Dr_Agasahello, i...guess this is useless as i see nothing on the site, but maybe you have fresh updates on the question
17:39:32Dr_Agasahas there been any news on the Nano 5G?
17:40:35Dr_Agasatoday a friend told me about rockbox, and i really wanted to get rid of iTunes, but i found no support for 5G.
17:41:09 Join sideral [0] (~sideral@
17:41:09 Quit sideral (Changing host)
17:41:09 Join sideral [0] (~sideral@rockbox/developer/sideral)
17:41:54gevaertsI'm not aware of anyone actually having done real work on the nano 5G
17:43:26 Join robin0800 [0] (
17:43:29*mshathlonxp for this reason bought nano 1G - guaranteed compability with rockbox :)
17:44:55Dr_Agasai bought a 5G without knowing...and now i'm stuck with iTunes.
17:45:11Dr_Agasai'll check back in some time, guaranteed. sorry for the bother!
17:45:43mshathlonxpthat should be some VERY LONG time
17:45:46gevaertsOne reason why there's no progress yet is that everyone who really wants rockbox on it just checks back every few months
17:46:39 Quit fkhodkov (Quit: ERC Version 5.3 (IRC client for Emacs))
17:48:55Dr_Agasaoh. is that so? then what should i do to make it better? i don't have any experience in this kind of programming
17:49:30Dr_Agasabut i'm happy to help
17:50:53 Quit Keripo (Quit: Leaving.)
17:51:05gevaertsMost ipod related early research goes on in #freemyipod
17:54:02 Quit t0rc (Quit: Give someone code, help them with one project. Teach someone to code, help them rule the world.)
18:02:10 Quit Xerion (Quit: )
18:05:23 Quit sideral (Ping timeout: 240 seconds)
18:08:13 Join sideral [0] (~sideral@
18:08:13 Quit sideral (Changing host)
18:08:13 Join sideral [0] (~sideral@rockbox/developer/sideral)
18:08:21 Join {phoenix} [0] (
18:10:12mshathlonxpsince it's now a bit more quiet :) today here, I'll ask again - I have noticed a couple of glitches on my 1G nano with 3.8 - after turning record on and off, sound is lost until next restart, and I also managed to hang it on pictureflow - are these two glitches something new?
18:10:20***Saving seen data "./dancer.seen"
18:10:27 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
18:17:29 Quit sideral (Remote host closed the connection)
18:17:54 Join sideral [0] (~sideral@
18:17:54 Quit sideral (Changing host)
18:17:54 Join sideral [0] (~sideral@rockbox/developer/sideral)
18:18:42 Join Jerom [0] (~jerome@
18:19:30 Quit Topy44 (Read error: Connection reset by peer)
18:22:14 Quit Sochiro (Ping timeout: 250 seconds)
18:26:29 Join mayanks43 [0] (~Marcus@
18:27:44 Quit sideral (Remote host closed the connection)
18:28:31 Join sideral [0] (~sideral@
18:28:31 Quit sideral (Changing host)
18:28:31 Join sideral [0] (~sideral@rockbox/developer/sideral)
18:29:11 Join Topy44 [0] (~Topy44@
18:29:30 Join gsathya [0] (~sathya@
18:35:47 Quit benedikt93 (Ping timeout: 240 seconds)
18:37:13 Join benedikt93 [0] (~benedikt9@unaffiliated/benedikt93)
18:37:34 Join pamaury [0] (
18:37:34 Quit pamaury (Changing host)
18:37:34 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
18:37:44 Join madalu [0] (~user@unaffiliated/madalu)
18:43:20 Join Stummi [0] (~Stummi@rockbox/developer/Stummi)
18:44:27 Join stoffel [0] (
18:46:20 Quit gsathya (Quit: gsathya)
18:47:07 Join {-phoenix-} [0] (
18:51:18 Quit {phoenix} (Ping timeout: 272 seconds)
18:52:46 Join Keripo [0] (
18:58:22 Join liar [0] (
18:59:26 Quit balintx_ (Remote host closed the connection)
19:03:43 Join balintx [0] (
19:04:55 Quit Jerom (Quit: Leaving.)
19:06:07 Join sideral1 [0] (~sideral@
19:06:07 Quit sideral (Disconnected by services)
19:06:08 Nick sideral1 is now known as sideral (~sideral@
19:06:08 Quit sideral (Changing host)
19:06:08 Join sideral [0] (~sideral@rockbox/developer/sideral)
19:06:57 Quit madalu (Read error: Connection reset by peer)
19:10:56 Join Buschel [0] (
19:10:57 Quit sideral (Remote host closed the connection)
19:11:01 Join TheLemonMan [0] (
19:11:53 Join sideral [0] (~sideral@rockbox/developer/sideral)
19:12:04Buschelmshathlonxp: do you had this nano 1g issue with 3.7 as well?
19:13:01mshathlonxpwith several days old "current version" yes, but I didn't tried to determine if that happens always
19:15:49 Join Zagor [0] (~bjst@rockbox/developer/Zagor)
19:16:49Buschelcan you build on your own?
19:16:56 Quit komputes (Quit: I haven't slept for ten days, because that would be too long.)
19:18:42 Quit benedikt93 (Ping timeout: 252 seconds)
19:20:51Buschelcan you compile rockbox from the sources?
19:20:51 Join benedikt93 [0] (~benedikt9@unaffiliated/benedikt93)
19:21:06CIA-70New commit by 03dave (r29465): Missed #if change from r29462 - thanks to Thomas Martitz for spotting.
19:21:12 Quit sideral (Remote host closed the connection)
19:21:14mshathlonxpwhy such question?
19:21:33[Saint]so you could potentially test patches?
19:21:50 Join sideral [0] (~sideral@rockbox/developer/sideral)
19:21:52[Saint](without someone having to build them for you)
19:25:16CIA-70r29465 build result: All green
19:28:10Buschelmshathlonxp: there was a change after 3.7 which is related to recording on the nano 1g. I could provide a patch for you to test. but you must compile this on your own...
19:30:27CIA-70New commit by 03theseven (r29466): iPod Classic: Enable RGB LCD update assembler code
19:32:33TheSevenmpegplayer is like 102% realtime on ipod classic now
19:34:16CIA-70r29466 build result: All green
19:34:46TheSevenhm, but not for all scenes
19:34:50TheSevensometimes it drops to 19fps
19:36:33 Join Horscht [0] (
19:36:33 Quit Horscht (Changing host)
19:36:33 Join Horscht [0] (~Horscht@xbmc/user/horscht)
19:38:09 Join thomasjfox [0] (~thomasjfo@rockbox/developer/thomasjfox)
19:38:31 Quit benedikt93 (Quit: Bye ;))
19:40:00 Join domonoky [0] (~Domonoky@rockbox/developer/domonoky)
19:41:41bluebroth3rpixelma: you're right −− I vaguely remember a discussion about the fi etc issue.
19:44:38 Nick kkit`sh is now known as kkit|sh (
19:47:56 Quit casainho (Quit: ChatZilla 0.9.86 [Firefox 3.6.13/20101206121845])
19:49:54 Quit stoffel (Remote host closed the connection)
19:51:22 Nick AlexP_ is now known as AlexP (~alex@rockbox/staff/AlexP)
19:55:29TheSevenLCD DMA isn't going to be easy with rockbox's display driver architecture
19:55:36 Quit tchan (Read error: Connection reset by peer)
19:56:29 Join tchan [0] (~tchan@lunar-linux/developer/tchan)
19:56:48TheSeveneither i do line-by-line scatter/gather DMA (with ~4KB of control structures that need to be set up), or I need to copy the area to be transferred to some temporary buffer
19:57:45TheSeventhe latter would also mean that I don't need to block for DMA completion before returning
19:58:04TheSevenbut that needs a whopping ~154KB of RAM
19:58:21kugelsurely not a problem on 64MB
19:58:46TheSevenbut that costs battery runtime!
20:01:40sideralZagor, AlexP: Who's maintaining the official git repo at git:// I think I found a way to perform surgery on it to include all branches (including the release branches) without breaking any existing commit IDs
20:01:40TheSevenand i kinda hate copying data using memcpy just to throw them at DMA afterwards
20:01:40AlexPsideral: That'll be Zagor
20:01:40AlexP(for his sins) :)
20:02:00 Join dewdroid [0] (~dewdude@
20:02:24dewdroidBuschel: you awake?
20:02:42TheSevenI think the best solution would be doing the gather dma thing and making the LCD driver API DMA-aware
20:02:44 Join icarusfactor [0] (~factor@
20:02:50 Join Sochiro [0] (~Sochiro@
20:03:01TheSevene.g. make drawing code call a sync()-like function to regain control of the LCD buffer
20:03:25Buscheldewdroid: yep
20:03:33*kugel wants that all committers gain write access to the git mirror too
20:03:37 Nick icarusfactor is now known as factor (~factor@
20:03:52dewdroidI did what you told me to on rockbox...compiled without have_ata_dma
20:03:59dewdroidFixed ALL my problems
20:04:12dewdroidNo more sound. Problems or random lockups
20:04:39TheSevenhaving sound was a problem? :P
20:04:52dewdroidTypo. I had sound issues
20:04:58Buschelhehe :)
20:05:00dewdroidMobile device
20:05:09AlexPkugel: Is it technically a mirror at that point?
20:05:32dewdroidBut...apparently it was all related even though I thought the sound thing wasn't. Its stable now....very stable. Thanks.
20:05:42Buschelthen you are the second to claim that issues are gone when siwthcing ATA DMA off... though the second tester only used his target for a few hours
20:05:43kugelnot sure, but I assume master would still kept in sync with svn
20:05:58dewdroidI've used it for about a week
20:06:06dewdroidCouple hours a day. :)
20:06:11[Saint]Buschel: this is interesting...
20:06:28*Buschel thinks we might consider switching ATA DMA off for 3.8.1
20:06:52dewdroidId usually have to reboot at some point because of lockup or the sound corruption generally if I skipped 5 or more songs very rapidly
20:06:56[Saint]Buschel: Remember that guy ages ago that swore DMA was messing up his Nano1G?
20:07:08[Saint]But, he seemed to be the only one?
20:07:17Buschel[Saint]: yes, but that was fixed with a patch
20:07:33[Saint]Oh was it? Ah...I didn't know that.
20:07:40 Join DerPapst [0] (
20:07:46Buschelmaraz and soap reported and reporduced those issues
20:07:47[Saint]I thought he was still running a custom build without DMA
20:09:00dewdroidWell..all I know is I commented it out, compiled and it's been rock solid since.
20:09:25[Saint]dewdroid: Did it ever work with?
20:09:30[Saint]Or did it never?
20:09:37kugelAlexP: perhaps there could also be a daemon which can dcommit for us
20:09:48dewdroidIt worked with dma..but it was unstable
20:09:49kugelso we don't need git-svn anymore at all!
20:10:07dewdroidIt'd randomly lock up or blast ear splitting static at me
20:10:14[Saint]dewdroid: what device is this?
20:10:21***Saving seen data "./dancer.seen"
20:10:24dewdroidIf I skipped a bunch of tracks quickly..its lock up
20:10:34dewdroidEarly 5th gen 30gb ipod video
20:11:01AlexPkugel: I can't say I'm too worried, but I think it should really be one or the other on the server
20:11:07dewdroidI've got to get back to work...ill be back in a few hours if anyone elsew
20:11:16dewdroidErr..needs more info from me
20:11:27 Quit dewdroid (Quit: Bye)
20:11:37kugelAlexP: why?
20:11:47[Saint]kugel: I've found a couple of tracks that the DB picks up on my phone that must be internal sound effects or something, one in particular lists a time of 0 seconds, but if Rockbox tries to play it it will output wildly alternating static indefinitely.
20:11:47AlexPkugel: Just to avoid complexity
20:12:19[Saint]I shall try get them off the phone and upload them somewhere.
20:12:39kugelAlexP: I think it would be nice if we could have our branches on the mirror
20:14:48kugelor, perhaps not branches but or own repos (1 repo per dev, cloned from the mirror). currently the dev's git repos are on different hosting sites (if they're even publically available)
20:15:03AlexPmine isn't for sure
20:15:23AlexPAnd yeah, branches on the mirror would be nice, if they could be hooked back up to svn
20:15:32AlexPI just cloned from svn in the first place
20:15:40AlexPTakes much lonhger, but gives me everything
20:17:06*kugel would probably be annoyed by needing to cd into trunk/ first ;)
20:17:20AlexPno need, trunk is linked to master
20:17:36kugeloh cool
20:17:37AlexPthen you do git checkout -b local_branch remote_branch
20:17:49AlexPand that local_branch is linked to the remote branch
20:18:13AlexPSo I want to commit to 3.8, I do git checkout release_38, do me stuff then commit as normal
20:18:26AlexPgit checkout master, and I'm back to committing to trunk
20:19:40AlexPThat's the main reason I use git tbh - to get all the branches and things without needing several checkouts
20:19:58AlexPI don't use (or frankly undertand) the advanced stuff
20:20:23 Quit factor (Read error: Connection reset by peer)
20:20:31AlexPWell, local branches for working in are nice
20:20:45 Join factor [0] (~factor@
20:21:35mshathlonxpBuschel just tried 3.7 - turned record two times and after that both times resuming playback still sound :)
20:21:42kugelyea, having one checkout was the initial reason for me too, but now I mostly love the headache-free merging between branches
20:22:06sideralAlexP: I've managed to upgrade my git clone of the "official" git repo with all the SVN branches
20:22:09Buschelmshathlonxp: ok. could you write a bug report in flyspray?
20:22:15AlexPsideral: oh, cool
20:22:25AlexPsideral: Maybe put it on the git wiki page?
20:22:29mshathlonxpyeah, I could done that :)
20:22:30Buschelmshathlonxp: this will help to get some attention
20:22:36 Quit Keripo (Quit: Leaving.)
20:22:37mshathlonxpI think so
20:22:42AlexPsideral: Quicker than clone svn I imagine, but more useful than just trunk
20:23:11sideralAlexP: It takes one hour. :) I'd rather fit the official git mirror with the branches first (before amending the wiki page)
20:23:11Buschelmshathlonxp: I think this issue was introduced with r28341
20:23:33AlexPsideral: righto :)
20:23:45kugelsideral: tags also?
20:23:51sideralkugel: Yep
20:24:02kugelsounds nice
20:24:19sideralkugel: Want a patch for your .git/config that does it?
20:24:41kugelnot sure if it takes an hour :)
20:24:45kugelbut yea
20:25:00 Join Keripo [0] (
20:27:10sideralkugel: −− it will apply with fuzz only. Be sure to make a backup of your repo before applying this patch and running "git svn fetch"
20:27:36 Join L-Strife89 [0] (~Strife89@
20:27:47 Join komputes [0] (~komputes@ubuntu/member/komputes)
20:29:09sideralkugel: It keeps the "remotes/git-svn" name for the trunk, rather than naming it trunk
20:29:39 Quit Sochiro (Read error: Connection reset by peer)
20:29:50sideralkugel: I wasn't adventurous enough to try it without keeping this name :)
20:30:08 Join Sochiro [0] (~Sochiro@
20:30:12sideralkugel: (for fear of having all the commit IDs changed)
20:30:46kugelwhat significance has the name?
20:31:07sideralkugel: I wasn't sure whether it is hashed into the commit ID or not
20:32:22sideralkugel: It's the name of the ref into which "git svn fetch" fetches the trunk changes
20:32:46 Join panni_ [0] (
20:33:40 Join mudd1 [0] (
20:34:08sideralIf you start from scratch with "git svn init −−stdlayout ...", the SVN trunk would be named "remotes/trunk" instead
20:48:20 Quit Sochiro (Ping timeout: 240 seconds)
20:50:37kugelsideral: I doubt that it would break the commit ids
20:51:08kugelcommit ids usually don't change with the branch they're committed on
20:51:41sideralkugel: Sure they do. They hash in the complete branch history
20:51:58TorneNot the *name*
20:52:04TorneOnly the contents of the tree
20:52:05sideralkugel: But normally the branches name is not relevant
20:52:19sideralI just wasn't sure whether git svn hashes in the name.
20:52:43sideralBecause it does hash in the name of the SVN branch (as part of the commit message)
20:53:02Torneyah, but git branch names are just references to commits
20:53:11Torneit's a one way mapping, always
20:53:17mshathlonxpcould that be considered as glitch, if I switch the language but english voice continues speak until reboot?
20:53:36 Join stripwax [0] (
20:53:53sideralkugel: You're very likely right. It's just a risk I didn't want to take :)
20:55:08pixelmamshathlonxp: I remember that *only* used to stop playback (audio) shortl. If it does what you say now, I'd call it a bug
20:55:56 Quit leavittx (Ping timeout: 264 seconds)
20:56:41 Quit Keripo (Quit: Leaving.)
20:59:28sideralkugel: If you're sure, just change the fetch line to "fetch = trunk:refs/remotes/trunk"
21:00:08pixelmamshathlonxp: does the new language you set not have a respective voice file with it? Not sure how that was or is handled, I only know of how things were if the new language had a different voice file too
21:00:24 Join Sochiro [0] (~Sochiro@
21:01:19 Join leavittx [0] (~lev@
21:03:47 Quit stripwax (Quit:
21:04:26mshathlonxppixelma no it doesn't
21:05:20 Join Keripo [0] (
21:09:18kugelsideral: I'll try
21:11:51TheSevenBuschel: I'm currently looking into optimizing the ipod classic LCD driver
21:12:11TheSevenlooking at your YUV blitting code, I've noticed some weirdnesses:
21:12:27TheSeven1. you're saving a register that could just be thrown away
21:12:39TheSeven2. how does that clamping code work?
21:12:56TheSeven3. does that "clamping really needed?" check pay off?
21:13:48 Join bertrik [0] (
21:13:48 Quit bertrik (Changing host)
21:13:48 Join bertrik [0] (~bertrik@rockbox/developer/bertrik)
21:14:33kugelsideral: that gets all revisions, yea?
21:14:51sideralon all branches
21:15:07sideralbut the repo-size increase is negligible
21:16:02kugelsideral: I'm not sure if that's easily doable on the mirror
21:16:53kugelsideral: it gets all revisions, trunk too, here
21:16:56sideralkugel: the only problem I see is that new branches and tags have to be found and published
21:17:14*kugel shouldn't have changed the name, quite possibly
21:17:26BuschelTheSeven: that was a while ago... can you give more hints to 1)? the clamping limits a register to 31 (5 bits for red/blue) or 63 (6 bits for green). last time I checked the "clamping really needed" it was faster with it.
21:17:46TheSeventhat surely depends on the content
21:18:03TheSevenif more than every second pixel needs clamping, the check will certainly perform worse
21:18:32TheSevenand also the branch will be predicted as "not taken", so if most pixels don't need clamping, that's sub-optimal
21:18:42TheSeveni've understood 2) now
21:18:51TheSevenregarding 1: it's LCD_BASE
21:19:08TheSevendoesn't seem to be used anywhere, but is restored between the two loops, and then immediately overwritten
21:19:40sideralkugel: sure? there are a lot of non-trunk revisions...
21:20:02kugelit started with r1 in fact
21:21:39sideraljust interrupt it and change it back (or restart the process with your backup)
21:21:52kugelyea, did that already
21:25:59 Join Jerom [0] (~jerome@
21:27:44BuschelTheSeven: you are right about LCD_BASE. this is more or less a result from the take over of the iPod Video asm. it will most likely not harm anything as this only wastes 1 dword in the stack + 1 ldr/str per call of yuv_blitting()
21:28:03Buschel(it is not optimal though :) )
21:30:15pamauryZagor: are you one to contact to have the fund "buy" a fuze+ ?
21:30:44pamauryI got one for 65€
21:32:41 Join Xerion [0] (
21:33:31 Quit factor (Read error: Connection reset by peer)
21:42:38 Quit Sochiro (Ping timeout: 276 seconds)
21:43:54 Join benedikt93 [0] (~benedikt9@unaffiliated/benedikt93)
21:46:31 Quit Stummi (Quit: Bye!)
21:47:20 Join factor [0] (~factor@
21:48:04 Join milk_ [0] (
21:49:23thomasjfoxkugel: The rockbox main page lists Android as "unusable" port. How about promoting it to "unstable"?
21:49:37kugelwe don't have current builds
21:50:16thomasjfoxkugel: You mean daily builds or you don't distribute binary builds like f.e. once a month?
21:50:35kugelcurrent builds, the one that are build with every single commit
21:52:02thomasjfoxok. But that doesn't make the port "unusable". If there's a somewhat recent package, it sounds more "unstable" to me. But that's just my opinion.
21:52:25 Quit L-Strife89 (Ping timeout: 260 seconds)
21:53:39gevaertsthomasjfox: "unusable", "unstable", and "stable" have somewhat specific (albeit sometimes rather vague) meanings in this context
21:55:07thomasjfoxgevaerts: If an unknown-to-me software package marks itself as "unusable" and I just give it a quick look, I wouldn't continue to try it...
21:55:25thomasjfoxSo I guess the maemo port will be "unusable", too ;)
21:56:15gevaertshm, apparenly TargetClassifications doesn't list "autobuilt" for any of them
21:57:03TheSevenbut it makes a damn lot of sense for anything besides unusable
21:57:22gevaertsThat's probably why it's not there :)
21:57:57 Quit pamaury (Remote host closed the connection)
21:59:32gevaertsrasher: you seem to have added "Buildable through the build system" there for stable. I'm a bit confused to be honest...
21:59:59gevaertsIsn't that a condition to be unusable even?
22:00:15Buschelbertrik: did you see FS #11973?
22:00:24 Join pamaury [0] (
22:00:24 Quit pamaury (Changing host)
22:00:24 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
22:00:35rashergevaerts: Buildserver system I guess
22:01:09bertrikBuschel, yes
22:01:30Buschelcan you reproduce the issue?
22:01:53bertrikno, I don't have that player
22:03:29linuxstbgevaerts: Yes, I would agree - "unusable" = current/daily builds, "stable" = a release and current/daily builds.
22:04:30linuxstbMaybe s/unusable/testing/ ? (although I'm sure we've been through this debate before....)
22:04:32gevaertslinuxstb: s/unusable/unstable/?
22:04:49gevaertsAnd yes, we've been through it about seven times :)
22:06:15Buschelbertrik: I am not sure anymore if r28341 is the cause.
22:06:17linuxstbWell, now we have an active RSB...
22:07:10bertrikBuschel, yeah, I'd like to have a more narrow search range than "somewhere between 3.7 and 3.8" :)
22:07:14 Quit sideral (Quit: Leaving.)
22:07:20 Quit linuxguy3 (Ping timeout: 264 seconds)
22:07:22gevaertsI know what my RSB-hat opinion on that would be :)
22:07:23 Nick milk_ is now known as milk (
22:07:50Buschelbertrik: well, looking at the wm8975 driver was a good quick shot ;)
22:08:16linuxstbgevaerts: What? But I guess you have the right to refuse to answer that...
22:08:27linuxstbAlthough perhaps only if I ask you formally.
22:08:47gevaertslinuxstb: refer back to regular discussion
22:09:02kugelwe'd need to drop half of the unusables if auto build was a requirement for it
22:09:04gevaertsI can't speak for the other four of course
22:09:11kugelbut I think it should be a requirement for unstable
22:09:36kugelthomasjfox: random people not trying it in an early state is the idea behind it :)
22:09:40linuxstbkugel: Sorry, that's what I meant...
22:09:56bertrikBuschel, I think svn r28572 is suspect too
22:10:23***Saving seen data "./dancer.seen"
22:10:50bertrikit uses wmcodec_write in some places, this is a non-cached direct write to the codec (wm8975_write caches write data).
22:11:12Buschelbertrik: doesn't it make changes for nano 2g only?
22:12:22gevaertshm, the SDL app doesn't build if one selects a bootloader build
22:12:26bertrikthe #if stuff is weird in this file
22:12:27Buschelit = r28572
22:12:59bertrikIt has #ifndef IPOD_NANO2G inside an #ifdef IPOD_NANO2G for example
22:13:28Buschelyes, just saw it as well. could be removed...
22:14:01linuxstbgevaerts: Yes, I was wondering if we could limit that question to the actual applicable targets. Although that would mean maintaining the list... Although perhaps something like "targets=A B C" in each target's case section in the main switch would work.
22:14:34thomasjfoxmaemo and pandora port is now in the wiki
22:14:34bertrikAnd there are also wmcodec_write calls inside the non-ipodnano2g code
22:16:52 Quit bmbl (Quit: Verlassend)
22:17:25 Join stoffel [0] (
22:17:42kugelthomasjfox: perhaps you can share your experience on too? I haven't updated it in a while
22:20:11 Quit stoffel (Remote host closed the connection)
22:20:55 Join linuxguy3 [0] (
22:23:08Buschelbertrik: isn't "wm8975_write_and(LOUTMIX1, ~7);" when calling "wm8975_write_or(LOUTMIX1, LOUTMIX1_LI2LO);" afterwards? wm8975_write_and() does not alter the buffered register.
22:23:41Buschelthere is an "obsolete" missing in my post from above... :/
22:24:01Buschel(guess where ;) )
22:24:51thomasjfoxkugel: The PortingApplication page is still up to date. Except for the threads stuff and maybe the part about the single application.h
22:25:15thomasjfoxkugel: Can you update it? I wanted to spent my time testing the next SDL shutdown code...
22:25:24thomasjfoxkugel: next = new ;)
22:26:16bertrikBuschel, I think it's very hard to know if the buffering/caching works correctly as intended with the current mix of calls to wm8975_write and wmcodec_write
22:26:35kugelI didn't mean to just update it, but perhaps add stuff I have forgotten. as you've also ported raaa your experience with it might valuable to be written down somewhere
22:26:36bertrikwm8975_write_and DOES alter the buffered register as far as I can see
22:27:07Buschelarg, my fault
22:27:25 Quit Keripo (Quit: Leaving.)
22:29:04thomasjfoxkugel: It's pretty much in there, at least I couldn't come up with anything big missing
22:29:54thomasjfoxkugel: Let's see what my subconsciousness comes up with the next days :)
22:30:04kugelokay :)
22:31:25Buschelbertrik: ok, now the failure is obvious. the register is set to 0x0 by default. audiohw_set_monitor() uses this to alter the register setting. in consequence LOUTMIX1_LD2LO is not set anymore
22:31:31Buschel= no sound
22:33:02bertrikhm, makes sense
22:34:31thomasjfoxkugel: btw: the SDL audio output on the Pandora sucks. It clicks and pops every 15 minutes or so. Used it for some hours today...
22:34:53thomasjfoxkugel: Have to check if that is also the case on a real x86 host
22:36:34 Quit shai (Ping timeout: 240 seconds)
22:37:34 Join iamben [0] (
22:38:12 Quit hebz0rl (Quit: Leaving)
22:42:02kugelthomasjfox: do you really need that specific toolchain for pandora?
22:42:17kugelI imagine plain gcc/codesourcery also works?
22:42:31Torneyes, it's just arm-eabi
22:42:41Tornethat's the point of eabi :)
22:42:41thomasjfoxkugel: My first efforts used scratchbox, codesourcery crashed while compiling and the resulting binary was unstable
22:43:13thomasjfoxkugel: I didn't get NEON support enabled in the codesourcery toolchain
22:43:20kugelTorne: the c library in use also matters, no?
22:43:34thomasjfoxkugel: And the in use SDL library
22:43:35kugelthomasjfox: which version did you use?
22:43:49 Join Keripo [0] (
22:44:15thomasjfoxkugel: The new pandora SDK is based on arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
22:44:28thomasjfoxkugel: I think it's the latest released one
22:44:43kugeland that doesnt work?
22:45:19thomasjfoxkugel: Didn't get ARM asm code working and it triggered an internal ld assertion during linking
22:45:21Tornekugel: only a little bit, actually
22:45:41Tornekugel: the linux C ABI is pretty stable even between different C libraries, a lot of binaries will work fine even compiled for the "wrong" libc
22:46:13Tornesince pretty much anything in POSIX is the same
22:46:21kugelbut you need the proper crt0.o don't you?
22:46:32Tornenot really :)
22:46:35 Part Zagor
22:46:40Tornevirtually everything that does is prescribed by EABI as well
22:47:02Torneit's not guaranteed to work, no, but it often does :)
22:47:11kugelI see
22:47:13Buschelbertrik: <- uses buffered register writes for he mixers
22:47:44kugelthomasjfox: you could try building your own toolchain with crosstools-ng for example
22:48:19kugelbut I'm quite sure I successfully build rockbox using codesourcey (4.4.something IIRC)for an arm-eabi target
22:48:36thomasjfoxkugel: Thanks, I already have a working toolchain ;) The Pandora people are currently in the process of building their own
22:50:07kugelthomasjfox: we rather build our own toolchain than depending on random downloads from the internet
22:51:30thomasjfoxkugel: That might get harder and harder for RaaA because of host library dependencies
22:51:38bertrikBuschel, looks nice, but I can't test it personally
22:52:19Buschelthat's my problem as well... :/ seems we need to provide a build (or find a teser here)
22:52:24Torneyes, this is not a viable strategy really for systems where you intend to link to lots of host libs
22:52:28kugelthomasjfox: true, therefore official downloads (e.g. in SDKs) are better. But I'm not sure about some threads in some forums
22:53:34 Quit bertrik (Quit: :tiuQ)
22:53:41thomasjfoxkugel: That's the best currently available for the Pandora. Or I could readjust the code/wiki to scratchbox. Scratchbox lacks Pandora specific tools OTOH.
22:54:15*kugel can't understand the desire to use scratchbox
22:55:06Buschelanyone with a nano 1g present?
22:55:35thomasjfoxkugel: Scratchbox is more official than some random link in a forum ;)
22:55:45kugelfor pandora?
22:56:00thomasjfoxDefinately not
22:56:17thomasjfoxLike I said, the official SDK is still in the works
22:56:22[Saint]Buschel: Yes, but it will be ~30 mins before I am near it.
22:57:15kugelthomasjfox: so it doesn't exist yet?
22:57:17[Saint]Buschel: What do you need me to do?
22:57:29Buschel[Saint]: could you try to reproduce FS #11973 (the described usecase should be always failing) and check whether the attached patch fixes it?
22:57:42[Saint]will do.
22:58:03thomasjfoxkugel: Exactly. Everybody either uses the toolchain I linked or some other toolchain script which basically downloads the codesourcery toolchain
22:58:11Buschelgreat :) could you just post the result to the tracker?
22:58:23[Saint]Buschel: I will let you know after I've tested it, and I'll post the result to the tracker.
22:58:29[Saint]Oh, haha, yes. ;)
22:58:47kugelthomasjfox: and codesourcery doesn't work, right?
22:59:05thomasjfoxkugel: At least not the lastest one. Didn't try an older one.
22:59:24kugelgevaerts: are pebbles still a valuable gsoc idea?
22:59:49Tornerelocating loader kinda takes the place of that, no?
22:59:54gevaertskugel: you mean "Multiple/Relocatable Plugins"?
22:59:57kugelrelocateble / multiple plugins could be changed to relocatable and pebbbles or multiple plugins
23:00:00[Saint]kugel: I'd say so.
23:00:23Tornewell if you're going to write a relocating loader then the work is doing that prat
23:00:26Tornepart, even
23:00:32gevaertsOnce we have relocatable plugins, "pebbles" as in wps shiny is one day of work
23:00:37Tornethere's no need for a different class of thing
23:01:03Torneyeah; it's easy to do, even now, it's just pointless because of hte single load restriction :)
23:01:23 Join lixxus [0] (
23:01:32kugelI meant to suggest that after relocation is implemented, pebbles could be an alternative second step instead of multiple plugins
23:01:46Tornebut that's the same thing..
23:02:01Tornethe point of the pebble thing was trying to make a way to strip small chunks out on their own such that they wouldn' tneed relocation
23:02:13kugelmultiple plugins has a new set of problems, such as multi tasking and the user interface
23:02:13Tornethere's no need to do that if you can load more than one plugin
23:02:38Buschelare there any thoughts regarding switching off ATA DMA for PP? I am in favour of switching it off on Trunk and for a 3.8.1 as we have enough evidence now to suspect that it is causing sporadic lockups and static noise.
23:02:46TorneBuschel: we do?
23:02:58gevaertskugel: I see "plugins" as the generic name for bits of code. I don't really care what they do :)
23:02:59kugelbeing able to load multiple plugins in theory doesn't mean the interface is ready for it
23:03:00BuschelI think so, yes.
23:03:22Torneisn't that , like, three people who all have the exact same model of ipod?
23:03:30Torneor have i missed something?
23:03:45kugelokay, then another idea that have come up before: sql-backed database?
23:03:50Torne(hasn't it been enabled since 3.7?)
23:04:37Torneanyway, i'm not objecting if you think hter'es good cause
23:04:54gevaertskugel: I don't think that's feasible for low memory targets. Do we want to support multiple databases?
23:04:58Tornei just haven't personally noticed any problem except a couple of people with, er, nano1g?
23:05:03Torneor was it mini1g?
23:05:04Tornei forget
23:05:08Buschelno, different models. it was reported for h10, ipod video, ipod nano 1g, ipod mini 1g
23:05:21Tornevideo? really?
23:05:23Buschel(not sure about ipod color)
23:05:25kugelgevaerts: perhaps the normal one native targets, sql on raaa?
23:05:40kugelwith a unified api, that is
23:05:50Tornekugel: a better approach would probably be not actually sql
23:05:50 Part mayanks43
23:05:50BuschelTorne: yes, I had this a few times as well on my iPod Video
23:06:03Tornebut just to write a new database that wasn't based on fixed queries
23:06:12Torneyou don't need any of what sql is to do that
23:06:25kugelfixed queries?
23:06:43Tornewell currently the database has a fixed set of fields, with a fixed set of indexes
23:06:49Torneand can thus only do certain queries
23:07:04kugelyou can create new queries in tagnave_custom
23:07:14BuschelTorne: the issues with ipod nano 1g were more severe and easier reproducible. those were also connected to ATA DMA.
23:07:15Tornethose are all the same
23:07:45kugelokay, then what Torne proposes: a entire new database :)
23:07:47Tornehyou can do range matches on a small set of fixed indexes
23:07:57Torneand in combination they are not very efficient
23:07:58Tornethat's it :)
23:08:14TorneIt would be *less work* to replace it with sqlite or whatever
23:08:35Tornebut we wouldn't actually gain any runtime benefit by doing that compraed to doing our own thing that was just more flexible than the current system, i don't think
23:08:44Torneand we would almost certainly lose a lot on binsize and ramsize :)
23:08:48kugelperhaps that's not a too bad proposal, since we have no real maintainer for the current db
23:08:48gevaerts"Redesign the database" might be a good idea, if it's properly specified. Just saying you don't like the current database isn't good enough :)
23:09:08Tornekugel: well, i was imagining just writing a new one from scratch
23:09:38Tornebut yes, something that works a bit more like Datastore would be interesting
23:09:49Tornewhere you generate the set of indexes/etc based on the actual query plans you have
23:10:00kugelgevaerts: it's not very flexible, it's unmaintained, and certainly somewhat buggy. is that enough?
23:10:00Tornei.e. you use tagnavi to decide what indexes you actually need
23:10:10Torneand create exactly those indexes required by the set of queries in the menu
23:10:15gevaertskugel: not anywhere near it :)
23:10:24*Buschel needs some sleep now
23:10:31 Quit milk (Quit: baaaiiii)
23:10:34Buschelsee you in a few days
23:10:40 Quit Buschel (Quit: ChatZilla 0.9.86 [Firefox 3.6.13/20101203075014])
23:11:10kugelI don't have enough knowledge about databases to define specific goals I'm afraid
23:11:21gevaertskugel: if you grab what Torne just said and format it properly, you might get somewhere
23:11:38kugelgevaerts: I don't understand what he said :P
23:12:52TorneWell, bette than inferring owuld be just specifying
23:13:07*kugel doesn't has much ideas apart from "refactoring/cleaning up area X"
23:13:09Tornebasically: just have tagnavi.config specify what metadata fields should be indexed and in what forms
23:13:46kugelTorne: but then changes to it would need to rebuild the db?
23:13:53TorneI think htat's not unreasonable
23:14:12TorneIt's a tradeoff between flexibility and complexity/codesize/ramsize
23:14:20TorneIt would mean you could mak ehte db *smaller*
23:14:25Tornee.g. i never use the "year" field
23:14:29Torneso i could just not have that index at all
23:14:33Torneand then load to ram would take less ram
23:15:03Tornethe most frequent thing i see complaining abut the database is you can't get a list of all the songs by a given artist sorted by album/trackno
23:15:07Torneor similar queries
23:15:21 Join Keripo1 [0] (
23:15:28kugelwhat do you mean with "in what form". what other form than strings (and some numeric) can there be?
23:15:45Tornehm? in the form of indexes that cover multiple fields
23:15:53Torneor indexes which have multiple entries per track
23:15:55 Part lixxus
23:16:17kugelindexing combination of fields?
23:16:24Torneso a lot of people would probably want an index on (albumartist, album)
23:16:50Tornebecause then you could display all tracks by a given artist, grouped by album
23:17:40 Quit benedikt93 (Quit: Bye ;))
23:18:11 Quit Keripo (Ping timeout: 240 seconds)
23:18:19Tornethis is the kind of thing that a DBMS can generate/store/use automatically based on a query planner
23:18:30Tornebut you can just have them specified manually upfront as well
23:19:18 Join cgjj [0] (
23:21:17 Quit cgjj (Client Quit)
23:21:21 Quit TheLemonMan (Quit: free(me))
23:21:28Torne(i am not a db expert) :)
23:21:35Torne(neither our db nor databases in general)
23:25:39kugelTorne: perhaps you can add your ideas to the page? :)
23:26:15 Join froggyman_ [0] (~seth@
23:26:17Tornei think i'd have to work out how our current db works first to actually be sure that my beliefs about why it doesn't do certain things are accurate
23:26:45 Quit froggyman (Ping timeout: 264 seconds)
23:28:10 Quit {-phoenix-} (Remote host closed the connection)
23:28:21kugelif we add this idea, IMO, it should be a pc app at first, then ported over to rockbox, so we have a useful database tool (possibly portable for other software) from the start
23:32:01kugelanother idea: re-factoring our kernel so that we can possibly run on top of a completely different kernel. I'm not entirely happy that we still need to implement our own kernel primitives and userland threading library on RaaA
23:33:13pixelmahmm, database... wasn't there also talk about refactoring the bookmark function?
23:33:17kugelthe constant HZ mess too
23:33:57kugelpixelma: ah yes, remaking bookmarks (and/or playlist code) to properly support the database would also be nice
23:34:09 Quit linuxguy3 (Ping timeout: 246 seconds)
23:34:58kugeland another idea: we have talked about it today already. Native widgets on android? I'm quite unlikely to do it any time soon
23:35:45 Quit kevku (Quit: KVIrc 4.0.2 Insomnia
23:36:21 Join linuxguy3 [0] (
23:44:25 Quit komputes (Remote host closed the connection)
23:44:41 Quit leavittx (Ping timeout: 276 seconds)
23:44:59 Quit linuxguy3 (Ping timeout: 250 seconds)
23:46:43 Join linuxguy3 [0] (
23:48:19thomasjfoxkugel: RaaA doesn't have a "power" thread. Is there a generic thread in rockbox that could call my new handle_sleep_timer() function?
23:49:02 Quit linuxguy3 (Read error: Connection reset by peer)
23:49:23kugelthomasjfox: no, but you could cleanup the power thread so that we can use it on RaaA :)
23:49:43 Join sideral [0] (~sideral@
23:49:43 Quit sideral (Changing host)
23:49:43 Join sideral [0] (~sideral@rockbox/developer/sideral)
23:49:49kugelyou could just spawn a new thread too
23:50:09thomasjfoxkugel: Cleanup means = Adding lots of ifdefs...
23:50:41kugelnot on my idea of cleanup :)
23:52:41 Quit sideral (Remote host closed the connection)
23:53:42 Join sideral [0] (~sideral@
23:53:44 Quit sideral (Changing host)
23:53:45 Join sideral [0] (~sideral@rockbox/developer/sideral)
23:54:03 Join linuxguy3 [0] (
23:54:08kugelthomasjfox: I had a look, but it's a huge mess
23:54:51thomasjfoxkugel: I already factored out the sleep timer code and moved it down in the file. So RaaA can access it, too.
23:56:04kugelthe power thread should be a proper thread, with a event queue

Previous day | Next day