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 2005-04-15

00:00:19rashersilly washer
00:00:55RickI was thinking about the backlight for the remote
00:01:05Rickshould it be synced with the main unit backlight, or should it have it's own thing?
00:01:21Rick(iriver has it synced, or whatever you want to call it)
00:01:38preglowsounds like a nice option
00:01:52rasherwait.. did I just manage to close the window and open again without getting thrown off irc?
00:02:04Rick[02:59:35 PM] * rasher ( Quit ("CGI:IRC")
00:02:04Rick[02:59:52 PM] * rasher ( has joined #rockbox
00:02:25rasherjust don't see it in the logs
00:02:52rasherI'd say let it be optional whether or not to sync
00:03:06Rickfrom what I know there's a thread in the background that does the backlight stuff
00:03:09Rickfor the main unit
00:03:24rasherI'd probably leave it unsynced, but I guess others won't
00:03:39Rickdunno, I personally would want it unsynced
00:03:51Rickwaste of power to turn on the main unit's backlight if you're using the remote, and vice versa, no?
00:04:12rasherThat's my thinking as well
00:04:28Rickhow much power would the backlight use though?
00:04:37rasherabsolutely no idea
00:05:00RickI guess it's back to figuring out how to turn on the lcd
00:05:11RickI was thinking about it
00:05:23RickI would think that the remote lcd would use the main unit's power right?
00:05:24Ricknot internal?
00:05:42rasherCan't see how that'd work
00:05:49Ricknot sure
00:05:57Rickfrom the spec, there's two power modes
00:06:01Rickinternal, and external (basically)
00:06:42Rickthen again I could be misunderstanding the spec and not doing the commands to the lcd correctly
00:07:34rasherHrm, the scroll setting example texts need to be longer :)
00:07:54preglowRick: backlight is one of the major power drains
00:08:02Rickpreglow: ah
00:08:30Ricklatest code...
00:08:37preglowRick: i think this sounds like a fine setting, and i don't think it should be very hard to implement it as a setting
00:08:42Rickthe stuff for init'ing the lcd is at the bottom
00:08:49Rick(commented out)
00:08:50rasherpreglow: Speaking of power.. I had the backlight on during my battery tests as well
00:08:56preglowrasher: ouch..
00:09:06preglowrasher: that probably shaved off an hour or who
00:09:09rasherwell I wanted them to happen as fast as possible :)
00:09:10preglowtwo <-
00:09:22preglowwell, yes, the drain is constant
00:09:34preglowso it would just be to add a constant to all the graphs
00:09:36rasherThat's good news then
00:09:43preglowand you'd have graphs without backlight as well
00:09:55rasherno point
00:09:58preglowthat is, scale the graphs with a constant
00:10:15rashersince it wasn't to test the battery life
00:10:17preglowsurprises me greatly that you conclude there's no point :P
00:10:22RickI thought the graphs were just to understand the value of the battery indicator... or whatever the proper name for it is
00:10:31preglowRick: that's right
00:10:31rasherWhat Rick said
00:10:32Rickso you could properly indicate the status
00:10:47rasherthe result would be the same with or without the backlight
00:10:50preglowthen i really don't see why you did the no harddrive tests
00:11:31rashernot sure
00:11:42preglowi'll answer it for you: because linus asked for them
00:11:56rasherI wonder if I told him that I had the LCD on
00:12:02preglowi don't think he cares
00:12:04rasherpossibly not
00:12:12preglowthe backlight might actually have had some impact
00:12:14RickAny idea when LinusN will be getting back? :p
00:12:25preglowRick: tomorrow, round 08:00
00:12:27rasherhe might not for another 7 hours
00:12:38RickI saw that he came on briefly around noon here
00:12:44rasherhe occasionally drops in in the evening, but rarely
00:12:51rasher(midnight here)
00:12:59*Rick nods
00:13:10RickI don't have class tommorow so I'll probably be up still ;P
00:13:13preglowRick: but he's widely available from about 07:00 to 15:30 gmt+1 weekdays
00:13:17preglowso shouldn't be a problem
00:13:20*Rick nods
00:13:31RickHe was giving me a lesson last night (in my timezone)
00:13:37preglowthis morning, yes :)
00:13:41*Rick nods
00:13:47Rickvery early morning for me ;)
00:14:24RickI wonder if this spec is incorrect in the instruction table
00:14:44rasherAlways blame the specs first :)
00:15:00RickI was taking a look at the other lcd stuff (okay, they could be different)
00:15:16Rickbut, some of the instructions, they send the instruction first, then the data afterwards
00:15:21Rickbut this spec says to send it as a command
00:15:22Ricknot data
00:15:32rashergrr.. hdd spin-up time is annoyingly long
00:15:37RickAt least that's how i'm interpreting it
00:15:59rasherI'll gladly be of no help at all :)
00:16:11Rickyes Tang_?
00:16:12Tang_youre rick la charit├ę?
00:16:28Tang_thanks for the remote LCD driver
00:16:35Rickhehe, it's not in working state yet
00:16:39Rickbut i'm getting there
00:18:00 Quit Aison` ("( :: NoNameScript 3.72 :: )")
00:21:47rasher Tang_: the font is now in daily builds :)
00:22:03Tang_thanks rasher
00:25:02 Join ashridah [0] (
00:25:34rasherhm, rockbox_default has a few holes
00:25:42Rickdefine hole?
00:26:07rasherBlank character
00:26:46rasheror maybe these are just differences between iso8859-15 and -1
00:27:14rasheroh, no
00:27:23rasherrockbox_default looks like -15
00:27:56rasherhas the euro-sign at least
00:27:59rasheroh well
00:34:33 Quit gromit` (Read error: 104 (Connection reset by peer))
00:34:41preglowonly difference between -1 and -15 _is_ the euro sign
00:36:41rasherhm, I'm pretty sure there are a few other differences that you never notice
00:36:45rasherI.. think, at least
00:37:58preglowi'm pretty certain it's correct
00:38:12rasherhm, google agrees with you
00:38:48preglowwell, i no longer agree with myself
00:39:35preglowwikipedia claims some other characters have been replaced as well
00:39:49rasherso maybe I was right afterall
00:40:53rasher aha
00:43:06preglowis boring...
00:44:08rasherwell I was deprived as a kid
00:44:53 Join gromit` [0] (~gromit`
00:45:05preglownah, just newer episodes that are boring
00:45:26rasherno idea if these are new or old episodes
00:45:56rasherlooks old
00:46:13rasheror maybe not
00:47:07preglowthere's one here as well
00:47:28preglowold one
00:48:36 Quit Harpy (Read error: 60 (Operation timed out))
00:48:36rasherwhich one?
00:48:43preglowthey just beat up a homer doll
00:48:50Tang_bye all
00:48:56preglowTang_: bye
00:48:56Tang_i go to bed
00:49:10rasherAh, not the same. Thought it just might be
00:49:11 Join XShocK [0] (
00:49:13Tang_won't check Rbx site for a while since
00:49:19Tang_i travel tomorrow
00:49:24Tang_will be hard for me
00:49:25rasherItchy & Scratchy 75 year jubilee
00:49:35preglowTang_: take it easy
00:49:45rasherHave fun, wherever you're going
00:49:51Tang_Bye all folks
00:50:04 Quit Tang_ ("Chatzilla 0.9.66 [Mozilla rv:1.7.5/20041108]")
00:50:16 Quit muesli- (Read error: 113 (No route to host))
00:51:02rasheroh, this is the one where Bart helps some guy sue itchy & scratchy into oblivion
00:54:02Ricki remember that one
00:54:04Rickthe guy with the gold house
00:54:05MoosCamarobye all"> Hope this is somewhat useful, it's certainly not perfect
00:54:31 Part MoosCamaro
00:56:59Bagderamiconn: you mind if I host your version on my site?
00:57:18amiconnNo problem
00:57:23preglowooh, ocr
00:58:13rasherocr is extremely neat
00:58:54stevenmwoohoo, clicking bug fixed
00:59:09stevenmback later.. now some wardriving to celebrate
00:59:11 Quit stevenm ("Leaving")
00:59:59rasherShow us the code!
01:00:19*amiconn should finally get back to rockbox coding...
01:00:24*amiconn is lazy
01:00:33 Join Bippy [0] (
01:01:05*preglow has a fight to the death with linked lists
01:01:25rasheramiconn: you were the one who meant to look at the viewer, right?
01:01:54amiconnI'm meant to look at numerous things :-\
01:02:53 Quit Bippy (Client Quit)
01:02:56rasherHeh.. well.. if you could check out pillo's patch
01:02:58 Join Biptoria [0] (
01:03:15rasherit has a single bug in the new flow mode he added, but other than that, it seems quite stable
01:07:45BiptoriaGo rick go rick its your birthday
01:08:23BiptoriaIts not really your birthday, sorry to dissapoint you
01:09:22preglowbut ok, seeing as everything is more fun than battling with linked lists, i'm forced to quit irc for good concentration
01:09:25preglowlater, all
01:09:35 Quit preglow ("floops")
01:09:46amiconnBagder: In case you're interested, there are also slightly improved bitmap versions of the article (better contrast -> white background, no moire in the text boxes on page 2)."> and (attn: 3..4 MB each)
01:10:30BiptoriaThat preggers is a little work horse i tell ye
01:14:24 Quit Sucka ("a bird in the bush is worth two in your house")
01:17:05BiptoriaWill rockbox have that graphic equalizer thingy ? that bobs up and down
01:18:39Bagderif it gets one, it won't look like that ;-)
01:19:30*Biptoria hates rockbox
01:19:33Biptoriai mean
01:19:39*Biptoria hates iriver
01:19:48BiptoriaKeep getting mixed up
01:20:07BiptoriaEven there scrolling of the song title is poo compared to rockbox
01:27:32 Join ferenczyx [0] (
01:31:26ferenczyxhi there
01:32:06ferenczyxi'll repeat my questin> does anybody have the xclef mt-500 player??? ;)
01:32:26Ricknever heard of it
01:32:58ferenczyxI'm going to reverse engeneering that ;)
01:33:39BiptoriaGood Luck
01:33:55 Join muz [0] (
01:33:57ferenczyxthanks ;)">
01:34:19muzhey where can i get the convbdf tool
01:34:54Rickcheckout rockbox-devel
01:34:57Rickor it should be in tools
01:35:11muzyeah i found the source code
01:35:15muzbut wheres the exe
01:35:20Rickyou need to build it
01:35:34muzok i never built anythin before im scared :s
01:35:51Rickmaybe you can get it in one of the daily builds
01:35:56Rickbut I don't know if it builds win32 exe's
01:36:05***Saving seen data "./dancer.seen"
01:36:32muzhow do i convert a font then?
01:37:19Rickno idea, i've never done so
01:38:16muzrasher: do you have the .fnt of snap.bdf?
01:38:25BiptoriaYou have to use 2 programs or somthing to convert a font, if i remember what rasher said
01:40:47rasherno.. bdf > fnt is done by convbdf
01:41:30muzthanks rasher
01:42:50muzomg i love this font
01:45:43BiptoriaIve never seen such emotion expressed for a font
01:46:00muzi wanna marry it and have its babies
01:46:47ferenczyxlol ;)
01:46:55BiptoriaRight im taking my iriver firmware, going to bed and listen to *mp3* somthing i cant wait to do with rockbox
01:47:23muzi love listening to my iriver in bed
01:47:37BiptoriaNow that makes me sound like im having ago at rock box for not being fast
01:47:56BiptoriaI typed more, but this IRC has a limit ?
01:48:25BiptoriaYes iriver in bed is a sexual experience
01:48:36muzit so is
01:49:07muzespecially with otf playlists, this new sexy font, tag database and a gameboy emu
01:49:08BiptoriaAnyhoooow time to go listen to the OC songs :D
01:49:15muzgreat choice
01:49:21Biptoriayup yup
01:49:31muzmodest mouse, rooney and phantom planet are my favs
01:49:35*Biptoria waves to his little and large munkeys
01:49:40BiptoriaYep, i like all
01:49:54BiptoriaParticularly, Alexi Murdoch - orange sky
01:50:05BiptoriaFrom first series
01:50:09muzoh i have that but never bothered listening to it
01:50:20muzi will now
01:50:41BiptoriaMake sure you have the long version, the short version is rubbish, you know its short because he
01:50:50Biptoriastarts singin near straight away
01:51:06muzum ok
01:51:27 Quit Biptoria ("CGI:IRC")
01:53:46HCldon't you hate it when you're like.
01:53:54HCltrying to sleep. and you just keep staying awake? :/
01:54:14muzhey hc1 you know you build the greyscale thing ever now and then
01:54:53muzomg u built it today yay
01:55:34 Nick ferenczyx is now known as _ferenczy (
01:55:44 Quit muz ("CGI:IRC")
02:03:46ashridahhrm. isn't snap.bdf supposed to be in the files added to the ?
02:08:28rasherno, snap.fnt
02:08:49 Nick tvelocity is now known as tvelocity[away] (
02:09:49ashridahconvbdf is reporting an error on that font here
02:10:08ashridahError: no memory for font load Error reading font header
02:11:46rasherit's totally working for me
02:12:13rasheroh, isn't
02:12:17rashernow what did I do
02:12:21*rasher sighs
02:12:32ashridah$ md5sum snap.bdf
02:12:33ashridah6ae6bca607fc2889699f662fb88e99f3 snap.bdf
02:12:38ashridahthat look okay?
02:13:05rasherI guess I managed to screw the font up between fixing it and committing
02:19:34rasherlet me see..
02:20:33rashernow that is the most perplexing error message ever
02:21:40rasherhrm, one of the mallocs for loading the bitmaps is failing
02:21:53rasherI guess it's a bad font header or something
02:24:33rasherwhat the...
02:26:29*rasher prods convbdf
02:30:03rasherpf->size: -65535
02:30:06rashercan't malloc with that
02:31:52rasherwhat the....
02:32:31 Quit _ferenczy ()
02:34:42 Quit tvelocity[away] ("Leaving")
02:35:50rasheroh jesus christ
02:36:01rasherwhat the hell happened here
02:37:20rasherthe font is indeed totally hosed
02:40:45rasherI'll fix and commit
02:51:11 Join stevenm [0] (
02:59:40rasherah, almost done
03:02:04 Quit lostlogic ("Client exiting")
03:02:18rasherit works now
03:12:15rasherlooks like the build system doesn't build when fonts have changed
03:12:15 Quit thegeek (Read error: 131 (Connection reset by peer))
03:13:11 Join thegeek [0] (
03:13:24ashridahnah, the only thing that processes them is the .pl file that creates the .zip
03:13:42ashridahand the rule for it isn't dependent on them, so make doesn't know to rebuild the zip file
03:13:57rasheroh well
03:14:14ashridahjust 'make zip' should reprocess them all however
03:16:19rasherI think the font is good now
03:16:45rasher < most boring thing in the world
03:17:21rasherI have absolutely no idea how they all ended up at -1
03:18:53 Quit DMJC ("Leaving")
03:19:34*ashridah resumes picking through bison docco
03:25:36*rasher prods stevenmn
03:29:32 Quit cYmen_ (Read error: 113 (No route to host))
03:36:06***Saving seen data "./dancer.seen"
03:40:15 Join DMJC [0] (
03:44:21Rickchanged the remote lcd stuff to external power
03:44:22Rickdidn't work
03:46:16stevenmrasher, yes ?
03:46:48rasherJust curious about midi :)
03:47:18stevenmthe thing works on a simulator with writing to the sound card. I got rid of that stupid clicking too
03:47:42stevenmplanning on going to get dinner, etc, then write xxx2wav stuff for it so it generates a real .wav file
03:47:48stevenmthen hopefully get someone to rest it on target
03:48:12stevenmer test
03:48:49*rasher <-
03:49:10stevenmyou feel like it ?
03:49:12rasherif I'm still here, at least.. I'll be happy to test
03:49:26stevenmdo you want to test just the one that generates a raw file?
03:49:50stevenmthen open it with goldwave or something, be like "import raw file, 48000Hz, 16 bit stereo signed"
03:50:20rasherraw pcm?
03:51:04stevenmand it needs a 27 meg patchset
03:51:09stevenmyou on broadband ?
03:51:22rasheryeah.. not that broad though :)
03:51:36stevenmwell here lemme put some things up
03:53:29stevenmrasher, stevenm/patchset.tbz2">
03:53:47stevenmthat has to be decompressed into /
03:53:51stevenmit's only one dir
03:54:31rasheronly 4mb compressed
03:54:36stevenmwow !
03:54:38stevenmno way
03:54:42stevenmI must have run out of space..
03:55:18stevenmyea, hold on, lemme make space
03:56:26stevenmok it's going up
03:57:04stevenmrasher, try that again
03:57:13rasher.tbz2 ?
03:57:58rasherah, 23mb
03:58:50stevenmtar bz2
04:00:16rashernever seen that before
04:01:02stevenmits a linux thing
04:01:59rasherI mean, I've never seen anyone use tbz2.. always tar.bz2
04:02:11stevenmgentoo always has its packages as taht
04:02:34stevenmuntar that into / also
04:02:35rasherthey would
04:02:47stevenmit creates 2 .cfg files, the .rock file and test.mid
04:02:58stevenmthen fire up the plugin
04:03:15rasheris this .rock build for iriver?
04:03:21rasheror sim?
04:03:24stevenmit will say MIDI... then when it hits the end of the file, it will be FINSIHED PLAYING
04:03:30stevenmno I rebuilt it for iriver
04:03:47stevenmthen /dsp.raw is the output file
04:03:51rasherstill waiting for the patchset :)
04:04:19stevenmit is quite a large patch set
04:04:44rasher8 minutes left
04:05:19rasherI'm on 256/256
04:06:04 Join QT_ [0] (as@area51.users.madwifi)
04:06:26stevenmmadwifi ?
04:08:31rasherMust've been snuck in through the backdoor when they approved .jobs
04:08:55stevenmmadwifi is a linux driver for Atheros cards
04:13:40rasherhrm, where are iriver2.cfg expected to be?
04:14:37RickI think I figured out wtf I was doing wrong
04:14:52stevenmrasher, progress ?
04:14:54Rickif this fixes it i'll fall over
04:15:15rasheryeah, it's downloaded.. but midi2wav just unzipped into the root
04:15:46rasheras in, all the files are now in the root
04:15:55RickI hope this fixes it at least
04:16:30stevenmrasher, cool.. fire it up :-D
04:16:54rasherwell, where should I put the files? (.cfg especially)
04:17:00rasheralso, is the .rock a viewer plugin?
04:17:05Rickalthough that's part of the problem
04:17:22stevenmrasher, all goes in /
04:17:31 Quit QT (No route to host)
04:17:57rasherhow about the .rock? viewer or regular plugin?
04:18:14stevenmjust /
04:18:29stevenmrasher, I dont think the rock will care... but I had it in /
04:18:46stevenmso / should coutain: patchset, test.mid, iriver2.cfg, drums.cfg, and the rock
04:18:48rasherregular plugin then
04:19:24stevenmIllInstr ?
04:19:30stevenmThat's not good...... .. what's that mean ?
04:19:32rasheryup, error messgae
04:19:38Rickbad error messae
04:19:44rasherI think it's because of differing versions
04:19:44stevenmoh rats
04:19:56rasheras in, your .rock doesn't fit my rockbox
04:20:08stevenmmine is quite a bit old
04:20:11rasherdo you have an entirely synced tree?
04:20:15stevenmlemme get latest CVS adn rebuild
04:20:17rasherwell there we go then
04:20:23stevenmyea didnt think of that
04:20:28stevenmhang on, lemme re-grab it
04:21:07 Quit DMJC ("Leaving")
04:21:26RickI curse you, remote lCD!
04:23:28stevenmrasher, building..
04:26:23rasherstill :(
04:26:37rasherhow annoying
04:27:15stevenmrasher, how is that possible?
04:27:28stevenmrasher, do you have Normal or Debug ?
04:28:14stevenmrasher, do you wanna try building it yourself?
04:28:14rasherNormail iirc
04:28:44rashersend me a atch
04:29:49stevenmdon't really know how to make patches .. ..
04:30:13rasheris this the entire tree ?
04:30:16stevenmyou just untar that into apps/plugins and then add midi2wav.c to the SOURCES in apps/plugins in the software codec section
04:30:28stevenmno, just the midi.. a dir called midi and midi2wav.c
04:32:14*rasher builds
04:33:16stevenmdoes rasher see a [MIDI] on the screen ?
04:33:59rasherstill the same :-|
04:34:06rashernow I'm confused
04:34:22rasherthe [MIDI] appears for a second or so
04:34:34rasherdid you change the plugin api?
04:34:47stevenm[midi] does appear ?
04:34:56stevenmlemme make that a little more informative
04:35:04stevenmi wonder how far it gets...
04:35:16stevenmdo you have patches in /patchset ?
04:35:21stevenmlike, /patchset/*.pat
04:35:25rasherput a sleep after each message
04:35:59rasherhm.. /PATCHSET/*.PAT, but that shouldn't matter
04:37:05stevenmis it case sensitive ?
04:37:15rasherI doubt it
04:37:19rasherit's fat afterall
04:38:19stevenmI have had problems with that on linux..
04:38:44stevenmlike, "patchset" != "PATCHSET"
04:38:48stevenmbut we'll see what happens
04:38:55thegeekmost linux fs's are case sensitive stevenm
04:38:59stevenmdo you have a /test.mid ?
04:39:02rasheryeah well on most filesystems that's true
04:40:35stevenmrasher, may wanna rename that to test.mid ?
04:40:42stevenmwell we'll see, I'm adding sleeps and some debugs
04:41:32rasherI could try... I'm not even sure I can
04:42:23stevenmrasher, here is new file
04:44:24stevenmrasher, there are debugs like every 3 sec
04:45:03rasherhrm, why oh why did I make clean
04:45:06stevenmit goes, MIDI, then Loading Midi, then Loaded Midi, then Loading Patches, then Start Playing
04:46:37rasherMIDI, OPENED DSP, LOADING MIDI > IllInstr
04:47:27stevenmrasher, try renaming it to TEST.MID
04:47:33stevenmor better yet change it in midi2wav.c
04:47:38stevenmer test.mid
04:47:49stevenmsee if it cant see the file, or is it crashing on memory allocation
04:48:02stevenmif anything, it would probably be one of those
04:48:07rasherprintf("\nHello.\n"); wah?
04:48:14stevenmyea printf is stubbed
04:48:16stevenmdon't worry
04:49:04stevenmyou guys told me how to stub it.. funny enough, it's stubbed but it STILL prints to console in sim mode
04:49:11stevenmyet at the same time, it compiles for rockbox
04:49:19stevenmthat shouldn't really matter, if it gets THAT far
04:49:29stevenmeither it cant find the file or it can't load it
04:49:31Rickthat's because printf gets defined in sim
04:49:31rashernono, just wondering
04:49:52rasherwell.. changing to TEST.MID didn't help
04:50:11stevenmrasher, then it is probably an issue with memory allocation
04:50:24stevenmI took malloc straight from rockboy.. probably incorrectly
04:50:32rasherfun fun fun
04:50:46stevenmif you wanna look at it, the malloc implementation is in midi/midiutil.c
04:50:48rasherwell I'll be happy to test further
04:51:04rasherI doubt I could be of any help there :)
04:52:22stevenmI am sorry
04:52:34stevenmI do not own a device.. I don't really know how to make it work on there
04:52:52rasherno worries
04:53:31rashermight as well turn it into a viewer plugin
04:53:44stevenmi'd ask preglow or someone like that.. he'd probably know
04:53:53stevenmor maybe I gotta look at the malloc code some more
04:54:44*rasher tries turning it into a viewer plugin
04:54:47rasherfor fun & profit
04:57:00stevenmrasher, I may not have set the malloc pointer right.. but I really don't really knoiw
04:57:07stevenmI have to go now, but we can try tomorrow
04:57:38 Quit stevenm ("Leaving")
04:59:40 Quit XShocK (" HydraIRC -> <- IRC for those that like to be different")
05:12:42 Join lostlogic [0] (
05:22:07 Join webguest05 [0] (
05:27:17 Part webguest05
05:36:08***Saving seen data "./dancer.seen"
06:01:59 Join stevenm [0] (
06:05:53stevenmrasher, do you want to try messing with midi2wav some more? I put in more debug calls
06:11:22stevenmall right, I put in some more debug calls:
06:11:38stevenmuntar into apps/plugins/ and build
06:11:43stevenmand let's see how far it gets
06:13:10 Join bobdbob [0] (
06:13:35stevenmand if it still dies, I have yet another thing to try
06:13:48stevenm(well it will die, but if it dies on the malloc, I may have a solution)
06:13:53 Quit ashridah ("Leaving")
06:14:56stevenmrats.. I have to run to the food shop before it closes and buy dinner
06:15:04stevenmrasher, I will be back in 10 min or so hopefully
06:15:49rasherI'll have it tested the
06:16:30rasherdies after "memsetting".. now hurry up
06:16:41stevenmafter MEMSETTING ?
06:17:07stevenmtry changing the allocate() function in midiutil.c to: return codec_malloc(size);
06:17:16stevenminstead of my_malloc or whatever it is
06:17:19stevenmbe back soon
06:26:57stevenmrasher, I am back
06:27:33stevenmrasher, any luck ?
06:30:18rasherhrm.. it hung earlier
06:30:22rasherthink I'll try again
06:30:37stevenmrasher, also, in midifile.c on lines 31 and 179, memset needs to be rb->memset instead
06:31:07rashercalling alloc 1
06:31:23stevenmthen crashes ?
06:31:33rasherit hangs
06:32:01 Quit rasher ("CGI:IRC (EOF)")
06:32:28 Join LinusN [0] (
06:33:51RickGreetings LinusN
06:35:34stevenmHey guys.. Does anyone know how to allocate memory from the iriver's huge memory buffer /
06:35:57Rickstevenm: you'll have to do it manually, if you mean like malloc()
06:36:13stevenmRick, yes, I need a malloc() exactly
06:36:32Rickone second
06:36:41stevenmI copied the code (or what I THOUGHT) was right from rockboy.. it works on Sim but I think it crashes on rasher's iriver
06:36:52stevenmor it could be my memset typo too. I don;t know
06:37:05 Join rasher [0] (
06:37:47stevenmhello rasher
06:37:48Rickthere's mine
06:37:50Rickit's based on rockboy's
06:37:59rasherit hangs at "memsetting" now
06:38:11rasheralso, I get "alloc 1 null" at one point
06:38:20stevenmrasher, I see...
06:38:33stevenmI am about to try Rick's code, see what happens. I put up a new file then
06:38:38stevenmRick, what is ralloc ?
06:38:44Rickbasically 'realloc'
06:39:07Rickif you need to resize a buffer
06:39:28stevenmRick, ah I see. thanks
06:39:41rashermorning linus
06:40:10Rickstevenm: they *should* work fine
06:40:13stevenmrasher, try stevenm/midi.tbz2">
06:40:26Rickstevenm: they are used in my port of pinfocom
06:40:32Rickwhich I broke (unrelated to alloc)
06:40:39stevenmRick, I see.. I think there may be something funky with my memsets.. I just go rb->memset
06:40:51LinusNmorning all
06:40:55Rickheya LinusN
06:40:56stevenmHello Linus
06:41:00*rasher builds
06:41:14RickLinusN: you can ignore the memos I sent you ;P
06:41:26LinusNi never get any
06:41:52rasherI think it's working now
06:42:00RickLinusN: been trying for hours to get the lcd initialized... no success :/
06:42:29rasherit totally is
06:42:34Rickrasher: what is?
06:42:35LinusNRick: how does your current code look like?
06:42:45stevenmrasher, what is it saying >
06:42:49rasheroh dear
06:42:51Rickwas trying various things
06:42:57rasherI look away, and BANG, IllInstr
06:42:57Rickso there is lots of weird code in there
06:43:10LinusNRick: the init is wrong
06:43:17*Rick nods
06:43:19rasherstevenm: it got way farther.. reading tracks and so on
06:43:22RickI was trying all kinds of things
06:43:29Rickthat is just how it was on what I tried the last time
06:43:33stevenmrasher, it may go thru a few readID / MTrks... hopefully after that it say LOADED FILE
06:43:46stevenmrasher, there aren't many tracks in there.. maybe 10 or so
06:43:52rasherlet me pay more attention this time
06:44:15RickLinusN: it's also noted that the write_command_ex is pretty useless for thislcd
06:44:17Rick*this lcd
06:44:25Rickthe only thing data is used for is writing to the screen
06:44:30Rickeverything else is command
06:44:33LinusNnoticed that
06:44:34Rickat least from what i've seen
06:45:15RickI was trying to go by what was said on 40 and 41
06:45:20RickI tried many combinations of things with no luck
06:45:20rasherstevenm: after load patches
06:45:20LinusNok, first think to check is of course if our spi code works
06:45:32stevenmrasher, ah, I know what it is. I left an old-style memset in there
06:45:32Rickwell, how can we check that?
06:45:41LinusNmultimeter or oscilloscope
06:45:53stevenmrasher, lemme fix that.. and get rid of the splash in readtrack so it goes faster
06:46:04RickLinusN: all I can say is 'what are those?'
06:46:14rasherstevenm: fine.. I'll go have a shower
06:46:19LinusNRick: :-)
06:46:43RickHope it's not a dumb question ;P
06:47:14LinusNRick: is the lcd *totally* dead?
06:47:20RickI *think* so
06:47:23RickIt's hard to tell
06:47:33Rickwhich is why I did the backlight stuff
06:47:35Rickit makes it easier to tell
06:47:39stevenmrasher, here: stevenm/midi.tbz2">
06:48:01RickLinusN: I also tried initializing it with a dark contrast
06:48:39LinusNwhere did you put the lcd_remote_init() call?
06:48:55Rickafter lcd_init(); in main.c
06:49:14RickI figured that would be an appropriate spot to put it
06:49:51Rickcould that be it?
06:50:00*Rick just noticed serial_setup() in an ifndef
06:50:22LinusNthat's a completely different thing
06:51:35Rickbacklight works fine, just havn't managed to get the lcd to do anything.
06:54:21rasherstevenm: trying...
06:54:30stevenmrasher, sweet, thank you
06:55:11rasherstart playing!
06:55:24stevenmrasher, woah, holy crap !
06:55:34stevenmawesome !
06:55:39Rickwhat's going on?
06:55:41rasherI'll go get dressed while it finishes..
06:55:48 Join ashridah [0] (
06:55:55stevenmrasher, I am not even sure how long it is going to take.....
06:56:04stevenmit will say FINISHED PLAYING then exit
06:56:18stevenmRick, we think the MIDI codec is running on target
06:56:47stevenmRick, well.. it is running... hopefully it won't crash or anything, but produce an output file
06:57:17LinusNRick: your power setting is wrong
06:57:25RickLinusN: I tried various stuff
06:57:34Rickthe default (mentioned in the spec)
06:57:36Rickand some others
06:57:40LinusNi see that you turn on each voltage like the data sheet says
06:57:54rasherstevenm: I should have set the cpu to 120mhz...
06:58:00LinusNbut you must keep the voltages on
06:58:13rasherwhat happened now
06:58:15rashermay be battery
06:58:20stevenmrasher, what happen ?
06:58:31RickI think I understand what you mean
06:58:41LinusNthe first CNTL_POWER_CONTROL turns on the converter
06:58:41rasherstevenm: it turned off
06:58:45stevenmrasher, did it die or something? there should be a file, /dsp.raw ..
06:58:53stevenmrasher, turned off ??
06:58:55rasherthere is
06:59:04rasherstevenm: I think I ran out of battery :)
06:59:15RickLinusN: basically you're saying I need to include the previous mask in with the next?
06:59:16LinusNthen you turn the converter off in the next command, since you only set the regulator bit
06:59:40*rasher tries again with cpu at 120mhz
06:59:51Rickso I need 0x4, 0x6, then 0x7
07:00:40RickGuess I misinterpreted how that command works
07:00:50LinusNthen i'm not sure how to set the resistor value
07:01:06LinusNi.e which value to choose
07:01:50Rickthe spec for the remote says 3V
07:01:57Rickso would it be proper to set to 3volts?
07:02:09LinusNguess so
07:02:11stevenmrasher, ah I see. whoops..
07:02:24Rickwhich is how I have it now
07:02:47stevenmrasher, are they rechargible or do you have to replace them or what ?
07:02:52LinusNcan you test right now?
07:03:03Ricklemme find the usb cord
07:03:19rasherstevenm: charging.. and testing
07:03:27stevenmrasher, ah, cool
07:03:50stevenmfrom even a little bit you should have a dsp.raw.. unless rockbox doesn't save it on exit, or soemthing.
07:04:06stevenmif that file is there, it is 48Khz, Stereo, 16bit signed
07:05:07rasherit was
07:05:18rasherdammit, hurry up :)
07:06:37rasherthe hdd led flashes, so it looks like things are happening correctly :)
07:07:06RickLinusN: doesn't look like it's working.
07:07:22stevenmrasher, sweet.... I really do hope that file is coherent
07:08:09stevenmrasher, also, the thing isn't optimized for Coldfire or anything... the assembly gurus here can probably optimize the synth part.. right now I just want it to run right
07:08:49RickLinusN: i'll try turning the voltage to default
07:08:59LinusNdo so
07:09:07rasherstevenm: sure, that's about what I expected
07:09:13LinusNhow does the code look now?
07:09:15rasherI'll have to leave now
07:09:23rasherto catch my train
07:09:43stevenmrasher, ah, all right
07:09:48stevenmrasher, well thank you for all your testing
07:09:59rasherwill test the file when I get there
07:10:05 Quit rasher ("bye")
07:10:19RickIT works!
07:10:23*LinusN forgot his remote at home
07:10:26stevenmRick, woah, cool !
07:10:33Rickscreen turned black
07:10:37LinusNRick: wow
07:10:41Rick(because of the reverse, no doubt)
07:10:46LinusNturn off reverse then
07:10:52*Rick tries
07:10:57*LinusN does a little dance
07:11:35Rick(I also seem to have broken the "rockbox.iriver has changed. reboot?" thing when you disconnect usb cable)
07:11:39stevenmWoah, today is a good day for rockbox
07:11:41stevenmHey LinusN, is there a way for me to get CVS space to put my codec there or something ?
07:11:57LinusNRick: the detection is not 100%
07:11:59Ricknow it worked
07:12:02*Rick grins
07:12:22RickI can see the lcd coming on
07:12:44LinusNRick: could you clean it up and put it up on your web?
07:13:35RickOh, what should I call the "reference voltage select" command?
07:13:36Rickfor a define
07:14:02Rickor voltage_select ?
07:15:04Rickand i'm not sure what to call the bias stuff either
07:15:53LinusNthe names don't matter that much
07:16:00Rickokay ;P
07:16:08Rickjust trying to be tidy, hehe
07:16:16RickI also just realized something
07:16:22LinusNjust make sure it is easy to follow the data sheet
07:16:34Rickoh, nevermind
07:16:40Rick(about the realizing thing)
07:17:36Ricklcd inits without the reset
07:17:40Rickso it probably ignored that
07:20:58Ricktesting, if it works i'll update
07:22:48LinusNnext is to implement lcd_remote_set_contrast()
07:22:55LinusNeasy as pie
07:22:55Rickthat shouldn't be too hard
07:23:04Rickit should just be the select voltage, I think
07:23:43Rickshould I do it now?
07:25:16*Rick opens up lcd.h to see what stuff the normal lcd has defined
07:27:14Ricklcd_remote_set_invert_display - done
07:27:55Ricknothing else quick & easy
07:28:10RickI think
07:29:26*Rick tries writing to the display
07:30:17Rickhehe, nothing showed up
07:31:01LinusNi'd like to commit the working code
07:31:06Rickoh, sure
07:31:32*Rick grins
07:33:37amiconnI don't know how severe such a spec violation is, but I just read the h1xx remote lcd needs a power-on sequence similar to the archos lcd (3 voltages in sequence). What I did for the player lcd was to change that into just the last step (switch all 3 voltages on at once). This is working. Linus?
07:34:00LinusNit just might work
07:34:12RickFollowing the spec seems safer
07:34:15*Rick grins
07:34:18RickI can try it for you if you want
07:34:20LinusNmy feeling as well
07:35:41Rickit works
07:35:46Rickbut I still think it's better to follow spec
07:36:03Rickoh, set_contrast works
07:36:10RickI just tested it to make sure
07:36:12***Saving seen data "./dancer.seen"
07:36:46amiconnThere's probably another spec violation in the archos lcd driver, but I can't test. If the solomon specs are really the correct ones (is this confirmed meanwhile), we're driving too fast!
07:37:09RickIs it possible to damage the remote by doing that?
07:37:42LinusNamiconn: it is confirmed to be an SSD1815
07:38:17amiconnThe SSD1815 specs say max. clock 1 MHz, we're probably ~10% above that (if I counted the cycles correctly and didn't overlook a wait state)
07:38:19RickI guess this means the port pin page can be updated
07:38:22Rickto (C) the remote stuff
07:38:33LinusNRick: yup
07:38:52amiconnThe SSD1800/1801 specs say 300 kHz, and we're probably above that as well
07:39:17Rickmy contrast is stuck on 61...
07:39:18RickI think
07:41:24Rickfixed now
07:41:27*Rick wonders why it stuck that way
07:41:38RickLinusN: so what's next?
07:41:52Ricki'm guessing we wait for that guy who had written high level stuff?
07:42:26LinusNsure, let's hope he did something useful
07:42:34LinusNlet's commit what we have
07:43:37amiconnLinusN: Is the newplayer lcd also confirmed to be a Solomon device? If at all, I'd rather guess it's an SSD1800 rather than SSD1801 (2 lines instead of 3 lines, otherwise identical)
07:44:03dwihno\o/ hej \o/
07:44:04LinusNamiconn: no, we don't know fir sure which one it is
07:44:04amiconnAlso, is there any info about the oldplayer lcd type?
07:44:35Rickportpin page updated
07:44:37LinusNi thought 1800 is old and 1801 is new...?
07:46:00LinusNnot sure, that was a long time ago
07:46:15LinusNthe character maps are the key, i think
07:46:44amiconnNo, the oldplayer lcd has a different command set
07:47:30amiconn...which is not verifiable since we don't have the specs. We know that the commands we know about are working, but we don't know whether there are more
07:48:10Rickhow are they different?
07:48:21amiconnMaybe there is a cursor command as well (the new lcd has that). If yes, we could use the hardware cursor instead of flashing 'by hand'
07:48:40amiconnRick: Completely different command values for the same action
07:48:55Rickbut do they align the same way?
07:49:05LinusNRick: they are character based
07:49:12RickI mean the commands
07:49:15Ricknot the characters
07:49:33Ricksay A is 1, B is 3, on the other A is 2, B is 4 that would be aligned.
07:50:08LinusNwe have a translation table for that
07:50:38LinusNsorry, i misunderstood
07:50:50*Rick nods
07:50:53RickI'm referring to the commands
07:51:07RickI'm just saying, if they align closely you might be able to guess where the other commands are
07:51:30amiconnThey are ordered differently
07:53:08Rickis there a list of commands somewhere for both that I can take a look at?
07:55:09amiconnNo, there isn't. We have what we believe is the correct spec for the newplayer lcd. At least the commands match Solomon SSD1800/1801. You can find that in the wiki
07:55:32amiconnHowever, we don't have the specs for the oldplayer lcd
07:55:45RickI mean the known commands for oldplayer and a spec for the newplayer
07:56:22amiconnWe know about a number of the commands, but since we don't know their names, the driver simply uses the hex values for most of them
07:57:06Rickare the 'arguments' similar or the same?
07:58:01 Join webguest65 [0] (
07:59:43amiconnEven the init sequence is different. See lcd-player.c, lines 493..630
08:00:27*Rick looks
08:02:11amiconnLinusN: Slight correction - the Solomon specs allow switching on the voltages at once. Still, the archos firmware does it one-by-one
08:02:40LinusNamiconn: ok
08:03:40 Join tvelocity [0] (
08:04:02amiconnThis means one of 2 things. (1) It is a solomon controller, and the archos firmware is over-cautious here (2) It's not a solomon controller, and the sequence is necessary
08:05:21amiconnI wanted to check whether I find something on my player, but as already reported I didn't manage to unscrew the display/ button unit. Probably superglued :(
08:05:56RickLinusN: What is 'static indicator'?
08:06:12Rick(if you know...)
08:06:49RickI guess i'll just try it and see what it does
08:07:23LinusNwhere do you see it?
08:07:39Rickin the spec
08:07:47Rickpage 37
08:07:51Rickand the next page
08:08:00Rickit talks about blinking
08:08:51Rickdoesn't do anything obvious, I think
08:09:31LinusNlooks like a cursor to me
08:10:08Rickwell, I don't see anything
08:10:09*Rick hmms
08:10:23LinusNcan't be
08:10:37RickI send 0xAD and 1 (1 second blinks)
08:10:57Ricktrying always on now
08:12:06Rickit has something to do with power saving
08:13:55LinusNfunny, they don't seem to mention anywhere wft static indicator really is :-)
08:14:13Rickearlier in the spec it says 4 flashing modes
08:14:15*Rick shrugs
08:14:20LinusNlike it's common knowledge...
08:14:43Rickoh well
08:15:38Rickgoogling 'lcd static indicator' gets a bunch of results
08:15:40*Rick looks through those
08:15:52*HCl has one of those fuzzy black and white alarm clocks with a tail, thats hyperactive this morning.
08:16:34HClbut at least my alarmclock cuddles me in the morning
08:16:42HClhows remote lcd?
08:16:48LinusNRick: looks like it is a general purpose output, for a separate lcd segment
08:16:54RickLinusN: ah
08:17:09LinusNlike the icons on the archos Studio
08:17:23LinusNso we can forget it
08:17:26*Rick nods
08:17:33Ricktest instructions don't do anything obvious
08:18:24LinusNstay away from them
08:18:45stevenmI am going to sleep now, exam tomorrow.. prolly shove some studying in there somewhere too.. Good night all
08:18:46HClany idea how fast the remote lcd is gonna be?
08:18:49Rickokay ;P
08:18:52HClnight steven
08:18:53RickHCl: in what sense?
08:19:01HClupdating it quickly
08:19:08 Quit stevenm ("Leaving")
08:19:08HClvideo, games, etc.
08:19:28RickI havn't gotten any display from writing to the lcd yet
08:19:36Ricklooking at how that's done now
08:19:54HClsorry, i thought that was included when you said it was working :p
08:20:20Rickwe don't have lcd_remote_set_pixel etc yet
08:20:23Rickbut it turns on and stuff ;P
08:20:27Rickand we can set contrast ;)
08:20:29*HCl nods
08:20:31HCli read :)
08:20:45*HCl is probably gonna go back to sleep if his alarmclock can calm down
08:20:58Rickfrom what I can see it should be as simple as writing data
08:21:01Rickno commands needed
08:21:05RickI wonder why my test didn't work
08:21:55*Rick makes a quick&dirty for loop
08:22:11HClwhats the resolution of the thing/
08:22:26*Rick checks
08:23:02RickI think
08:23:14HClsounds a bit like archos lcd, heh
08:23:15Rickwhich should mean it's sitting on it's side
08:23:41HCljust a matter of altering the setpixel things to get it upright
08:23:52HCluhoh, there's my alarmclock again
08:23:57Rickstill not displaying
08:24:19*Rick looks at write code
08:24:39HClhe doesn't like my incense, heh :x
08:26:10Ricklooks fine to me
08:26:59amiconnLinusN: Do you now agree that supporting some standard bitmap formats is a good thing? The remote lcd has a different native format than the main lcd. If we'd only support native format, how would this be handled? Having all bitmaps in 2 different formats? What about the fonts? ....
08:28:00LinusNit's a good thing but a slow thing
08:28:24 Join rasher [0] (
08:28:30HClyou can easily re-render 2bit formats to 1bit..
08:29:49amiconnThat's per pixel... certainly not fast enough for converting larger images
08:30:08rasherstevenm here still?
08:30:38amiconnLinusN: It's certainly slower than just blitting, but it's simply necessary on the iriver. And I still think it can be made rather fast (not in C though)
08:30:52amiconnRemember my 'geek' bitswap?
08:31:32 Join Harpy [0] (
08:32:27*Rick wonders why it doesn't work
08:33:49rasherstevenm: if you happen to read this later on - I have no program to play the file now.. got a 17mb dsp.raw.. here's the result:"> (still uploading)
08:34:14LinusNrasher: why not make it a wav?
08:34:36rasherdon't ask me :) I'm just testing it
08:34:54LinusNthe name midi2wav sort of implies it :-)
08:35:21*HCl still thinks you can make it pretty fast..
08:35:27pabsi wish work wasn't kicking my ass, you guys are talking about fun stuff and i want to contribute :(
08:35:49rasher(upload done.. it's a 48khz 16-bit raw pcm file I think)
08:35:56 Quit rasher ("CGI:IRC 0.5.4 (2004/01/29)")
08:36:23HClhmm, my code is flawed :x
08:36:33HClit'd mix up the pixel rows a bit xD
08:36:34RickLinusN: what does MSB / LSB mean?
08:36:50LinusNmost/least significant byte
08:37:02LinusNi.e upper/lower part of a word
08:37:16*HCl goes back to sleep
08:37:17 Quit Stryke` ("Friends don't let friends listen to Anti-Flag")
08:38:59RickI wonder why it's ignoring my write data then
08:39:02Rickeverything seems fine
08:40:05LinusNshow me the code
08:40:24Rickb = 255;
08:40:26Ricklcd_remote_write_data(&b, 1);
08:41:31LinusNtry writing a whole chunk of data
08:41:54Rickokay, although I don't see how that'll make a difference ;P
08:42:22LinusNmaybe not all segments are used
08:42:35RickI had it try doing that single byte write 100 times
08:42:37LinusNand the line/column you selected isn't visible
08:42:45Ricksetting 0/0 by default
08:42:51Rickfrom the spec
08:42:55Rickafter the 8th page
08:43:01Rickits "invalid"
08:43:08Rick9th page is special for the static indicator
08:43:50Ricklemme try setting to the 1st page
08:43:51Rickinstead of 0
08:44:36LinusNinit line seems to be wrong
08:44:56LinusNshould be 0x20, not 0x40
08:45:04LinusNme silly
08:46:23Rickstill nothig
08:46:32Rickwith page 1
08:48:13LinusNwhich contrast are you using?
08:48:38Rickwhich is default
08:48:41Rickso I assume that's fine
08:49:20LinusNhey, try ENTIRE_DISPLAY
08:51:13Rickstill nothing
08:51:47LinusNaha, so we must have done something wrong, since the pixels don't work
08:51:54Rickif you look at the example on 42
08:51:59Rickwhat does it mean by write display on/off?
08:52:06Rickby instruction
08:52:10Rickbecause there is no command to do that
08:52:42LinusNpage 30
08:52:58Rickwhat about it?
08:53:06LinusN6-4 diaplsy on/off
08:53:29Rickso why does it say 'write display on/off'
08:53:38Rickthen 'turn display on/off'
08:53:49LinusN"write" probably means "write command"
08:54:34LinusNi admit that it's confusing
08:55:03*Rick nods
08:55:10LinusNit may mean "write the data you want to display"
08:58:43Rickstarting it in a higher voltage makes the screen go weird
09:00:07Rickin 5.5
09:00:09Rickscreen is black
09:00:11Rickwith white dots
09:00:16Rickstrewn across it
09:00:23Rickwhich is odd
09:00:28Rickbecause I get that with 5.0 in bias 1
09:00:49LinusNmaybe we should check what the iriver firmware does
09:00:58RickI thought about that
09:01:08RickI don't have a disassembler that works with the coldfire
09:01:21LinusNyes you do
09:01:25RickI do?
09:01:50Rickcommand not found
09:02:04LinusNhow do you build rockbox then?
09:02:10Rickin cygwin
09:02:17LinusNwith the "devkit"?
09:02:20*Rick nods
09:02:27LinusNdamn bluechip
09:02:36RickI stripped most of his junk out though
09:02:58Rickthe stupid headers and hotkeys
09:03:27LinusNi must admit that i never tried the devkit
09:03:37Rickit's basically a stripped down cygwin
09:03:44Rickthat only provides exactly what's needed to build rockbox
09:03:48Rickmakes everything really easy
09:04:16Rickcompared to using vmware it's much faster to dev in
09:04:41LinusNbut dead slow compared to linux
09:04:49*Rick nods
09:04:56Rickbut vmware is slower than cygwin
09:05:01Rickwhich is why I opted for the devkit
09:06:46LinusNso we might have to tweak the voltage / bias
09:06:58pabsi'd just like to add that i live my h120, i'd never get any work done if it wasn't for it :D
09:07:01Rickyeah, that's why I started playing with it
09:07:07LinusNyou should create a debug menu for this
09:07:27pabsand all of you bastards better save something fun for me to work on
09:07:33Rickhmm, that's a good idea LinusN
09:07:37pabsbecause i'm almost through my deadlines
09:07:41Rickbut can you set the voltage after it's already set?
09:07:46*pabs goes back to lurking
09:07:58Bagderpabs: we'll save some sweet spots for you
09:08:03pabscool thanks
09:08:06LinusNRick: i use to add stuff to the dbg_ports() function
09:08:22LinusNRick: i think you can do that
09:08:56LinusNhi Bagder
09:09:15Rickwhat am I looking to add?
09:09:41 Nick Lynx_awy is now known as Lynx_ (HydraIRC@
09:09:43LinusNstuff like using the joystick to increas/decrease voltage etc
09:11:07LinusNjust to decrease the turnaround time for testing
09:11:23 Quit einhirn ("Miranda IM! Smaller, Faster, Easier.")
09:11:37LinusNlet's hope that we can't kill the display with high voltage :-)
09:11:40 Join einhirn [0] (
09:11:55RickI set it to the highest
09:11:58Rickand the screen was completely black
09:16:12 Join bobTHC [0] (
09:16:19bobTHChi folks !
09:20:44ashridahgah. damned mindless habits.
09:21:06Rickgot the basic thing in
09:21:07ashridahfirst thing i do after running make? make clean, without even thinking :(
09:22:46Rickthat's gotta suck
09:22:56ashridahfortunately compiling rockbox doesn't take too long
09:23:48ashridahhrm. okay. when rolo asks me if i want to load a new rockbox after copying one on, does 'press PLAY' actually mean the play button? because it doesn't seem to do anything... :)
09:23:55RickLinusN: doesn't seem to be helping at all
09:23:58RickI just went through all voltages
09:23:59ashridahor is it bound to navi or something
09:24:00Rickon both bias
09:24:12Ricknone of them displayed the line I should have drawn
09:24:17Bagderashridah: I believe you should click the navi button, yes
09:24:37Rickselect, not play
09:25:09Rickeverything after 4 is really dark
09:25:26Rickeverything before 4 is barely visible
09:25:34Rick(4 = 5.0 volt)
09:27:35Rickmade a thing to play with the contrast
09:27:43*HCl decides to wake up, make coffee, and start to look at a proper id3 db thing for rockbox, probably itunesdb
09:29:42ashridahHCl: can i take another short browse through your rom collection? :)
09:31:58 Nick QT_ is now known as QT (as@area51.users.madwifi)
09:36:13***Saving seen data "./dancer.seen"
09:39:13RickLinusN: how do you prepare the firmware to work with m68k-elf-objdump?
09:40:51 Join austriancoder [0] (~austrianc@
09:41:01austriancodergood morning all
09:41:10Rickjust the person we need
09:41:15Rickwell, soonish
09:41:21Rickaustriancoder: we've nearly got the lcd working
09:41:26Rickjust having trouble with pixel stuff
09:41:43austriancoderah fine
09:42:16austriancoderis the crunnet cvs version your version?
09:42:29Rickyes, but it's out of date
09:42:38austriancoderupdate it :)
09:42:42Rickor maybe not
09:42:47Ricki didn't see linus updated it
09:43:03Rickthat one works
09:43:07austriancoderi also have cvs write access
09:43:53Rickthe one in cvs is latest 'stable' so to speak ;P
09:43:56Rickshould work fine
09:44:00Rickit turns on lcd and does nothing else
09:44:30austriancoderLinusN: what do you think about a #define HAVE_REMOTE_LCD in config-h100.h?
09:45:02austriancoderRick: lets compile me the cureent cvs
09:47:45austriancoderRick: have you thought about how to integrate the remote lcd in rockbox's core?
09:48:49austriancodercurrent cvs does nothing on my remote lcd
09:48:58Rickopen up main.c
09:49:04Rickfind lcd_init() (not the one in sim)
09:49:07Rickadd lcd_remote_init();
09:49:09Rickafte rit
09:49:11Rick*after it
09:49:14austriancoderah.. ok :)
09:49:29*Rick pokes LinusN
09:50:56austriancoderok.. runs now
09:51:47austriancoderi will expand the plugin api to try make test easier for testing the remote lcd - thats ok?
09:51:55LinusNHCl: what do you mean with "proper" id3 database?
09:52:18Rickaustriancoder: sure, just don't commit that
09:53:01austriancodersome time we need it in the plugin api... but i will wait until we got it
09:53:04RickLinusN: how do you prepare the firmware for objdump?
09:53:12LinusNunscramble it
09:53:15Rickdid tht
09:53:21LinusNthen you're set
09:53:39Rick'File format not recognized'
09:54:29Rick(tried with -d)
09:56:25LinusNm68k-elf-objdump -b binary -m m5200 -D ihp120.bin
09:56:30austriancoderLinusN: can i commit this changes?
09:56:58Rickthere it goes, thanks LinusN
09:57:00 Nick tvelocity is now known as tvelocity[away] (
09:57:01LinusNaustriancoder: sure
09:57:11austriancodermore changes will follow :)
09:57:24LinusNRick: m68k-elf-objdump −−help
09:57:41Rickyeah, I was looking through that
09:57:42LinusN−−start-address is probably interesting
09:57:59Rick26mb of disassembly
09:58:00*Rick grins
09:58:10LinusNhave fun
09:59:37HClLinusN: one that would allow on the fly playlists of "all songs of the 90's of more than 3 minutes long", among other things.
10:00:03LinusNwhat makes you think itunesdb helps you with that?
10:00:59LinusNthe itunes database format sucks
10:01:24LinusNi suggest you read up on how the rockbox format works and extend it
10:01:40LinusNit wasn't conceived over night
10:03:11LinusNthe rockbox format is basically a relational database
10:03:47LinusNso it should be fairly straightforward to add more tables
10:04:10LinusNdid you have a look at the itunes database format?
10:06:17HClyes, i did
10:06:42HCland the reason for me to think that, is cause ipods are capable of doing what i just said :)
10:06:50amiconnRick: VMware isn't slower than cygwin, it's actually way faster, at least for me
10:07:28amiconnCompiling a sim on cygwin takes ~3 minutes, while compiling on debian under VMware takes ~1 minute
10:07:42amiconn...on the same machine of course.
10:07:53HClbut i can make a list of things that are lacking from the rockbox database, i guess.
10:07:55bobTHCit can, for the price to be faster :
10:08:04Rickamiconn: I'm referring to botting up linux compared to running cygwin console ;P
10:08:13austriancoderbasic version of remotelcd plugin works
10:08:20austriancoderbacklight on/off
10:08:37austriancodernow i want something to draw ;)
10:08:37amiconnRick: Then leave it running :P
10:08:54Rickboo :p
10:08:56LinusNaustriancoder: that's the problem
10:09:17LinusNor did i miss something?
10:09:30austriancoderLinusN; why? sure there are some functions missing, but i will try to use mine
10:09:54RickI can't get it to display written data
10:09:59Ricki've tried a bunch of stuff
10:10:01LinusNso far we haven't been able to make the lcd draw anything
10:10:07 Quit webguest65 ("CGI:IRC (EOF)")
10:10:18HClthe ipod format seems great, seriously o.o
10:10:19austriancoderhmmm.. lets see what we can do
10:10:31austriancoderrick: can you show me your drawing source?
10:10:44HClit may not be suitable for archos, but i'm talking iriver only here
10:11:33LinusNand i'm talking both
10:11:43Rickaustriancoder: define drawing source?
10:11:49Ricki'm just trying to write four bytes
10:11:49LinusNsource code
10:11:59Rickchar buf[] = "\xFF\xFF\xFF\xFF";
10:12:03Rick lcd_remote_write_data(buf, 4);
10:12:04HClsorry, but i seriously think that the current format is *not* suitable for anything advanced :/
10:12:08bobTHCit's a duty to make it work on all device imho
10:12:13LinusNRick: you should use 0x55 btw
10:12:16HClit doesn't even keep track of playcount, year, genre etc.
10:12:20RickLinusN: for?
10:12:34HClbitrate, length of the track
10:12:40HClvolume adjustment
10:12:45HCllast time played
10:12:48LinusNRick: then you won't be bitten by thing like inverted pixels etc
10:12:51HCland i can go on and on and on
10:13:08HClabout stuff that at least i would seriously want into an id3 db
10:13:09BagderHCl: as usual, we are open to improvements
10:13:14LinusNHCl: why should that be in the id3 database?
10:13:22HClBagder: that was what i was going to do :P
10:13:38LinusNno, you wanted to use itunesdb
10:13:44HClLinusN: cause you want to create playlists concerning conditions of that?
10:13:56HClyes, itunesdb seems like a good format to use.
10:14:04HClsince there are already plenty of tools that can create it.
10:14:04LinusNyes, but that whould not be in the same database imho
10:14:32HClwouldn't you want a database with all data about 1 song, rather than having to open multiple databases?
10:14:33BagderI agree that the run-time based info should probably be kept separate
10:14:47Rickit drew
10:14:48RickI think
10:14:54Bagdersince then it could be stored even *without* an initial db
10:15:00Rickin the bottom right corner
10:15:17HClokay, so then you'd still have volume adjustment, year, genre
10:15:18Bagderwhat is the resolution of the remote lcd?
10:15:26HClokay, not rating :)
10:15:31HClshall i just start on a second database then
10:15:34HClfor runtime info?
10:15:40LinusNHCl: yes
10:15:42austriancoderRick: so we will make now a framebuffer for the remote lcd :)
10:15:43BagderHCl: I think so
10:16:00HCli'll start a wiki topic on it..
10:16:07LinusNHCl: the rockbox database format is optimized for partial loading and fast indexing
10:16:16HCli know
10:16:17HClcause of archos.
10:16:35Bagdernot only
10:16:42Bagderit is made to require little ram
10:16:47bobTHCcause of battery saving too
10:16:48Bagderthat is good for iriver too
10:16:49LinusNcommon sense
10:17:23Bagderwaste disk space to gain cpu cycles and ram
10:18:30HClout of sheer curiousity. in the current rockbox format
10:18:44HClif its optimized for speed and stuff, why aren't filenames linked to song structures?
10:19:31Bagdersong structures?
10:19:48HCl"name of song1" "pointer to artist" "pointer to album" "pointer to filename"
10:20:09RickI wonder what voltag it sets it to
10:20:31HClcause now we have to check each pointer in order to find the actual name of a song? or am i completely wrong.
10:20:51Bagderfeel free to improve
10:21:09HCli'm tempted to overhaul the wiki, but i'll start with a runtime database..
10:21:09Bagderbut storing everything everywhere might bloat it a bit too much
10:21:30Bagderremember we have 120GB disks these days
10:22:15amiconnBagder: pls also remember that we support flash based devices as well.
10:22:47amiconnI just got a 2 GB MMC, but these are quite expensive...
10:23:09Bagderso we mustn't bloat too much
10:23:32*HCl doesn't see much of a problem in having seperate database types for limited machines and less limited machines.
10:23:50HClall it has to do is create a playlist, after that it doesn't even have to access the database anymore
10:23:56Bagderother than that we need to maintain more code
10:24:13LinusNHCl: we *browse* the database too
10:24:13Bagderand document more differences
10:24:32Bagderbrowsing is an important part
10:24:40HClLinusN: i'm not planning on adding browse support for the runtime database. should it?
10:24:56HCli'm more planning to "create me a playlist of all rocksongs of the 80's and 90's that last longer than 3 minutes"
10:24:58Bagderpeople will ask for it ;-)
10:25:00LinusNi thought you meant the id3 databse
10:25:09HClthe id3 database is part of it, really.
10:25:19HClcause you need to be able to search on id3 data as well as runtime data
10:30:03BagderI'll read your suggestion when you've written it! ;-)
10:30:25HCli'd probably go ahead and make it as a hack or plugin if you wouldn't approve anyways ;p
10:30:32HClbut not commit it into main cvs
10:31:19bobTHChow much cpu for extracting id3 info on the fly for an archos ?
10:31:38bobTHCjust for one file
10:32:00Bagderwho's christian?
10:32:20bobTHCnot me ;)
10:34:04LinusNbobTHC: cpu time isn't the issue, disk access time is
10:34:36bobTHCit's a long seek ?
10:34:49HClwhy can't we load it into ram like iriver and ipod seem to do?
10:34:51Bagderspinning up the disk takes ages
10:36:03BagderHCl: and how much space would you want to waste on that?
10:36:38HClsomewhere between 4-1mb
10:37:01HCli don't see why we would need 28mb of ram just to decode music.
10:37:27Bagderto save batteries
10:37:37HCldoes it cost batteries to store stuff in ram?
10:37:39bobTHCwhy not make the first and big sort with already done database and add for more refine querry just extracting missing id3 info of the presearch files
10:37:47BagderHCl: yes, since we need to spin up the disk more often
10:37:57HClno, you just spin it up once at bootup
10:38:10BagderHCl: sure, but we get less buffer to use for music buffering
10:38:12HCland unlike iriver, you run the database loading in the background.
10:38:26Bagderls -l songdb
10:38:26Bagder-rw-r−−r−− 1 daniel daniel 1400796 Apr 15 10:38 songdb
10:38:26HClyes, i fail to see how we would need 28mb of ram for that
10:38:42HClwe'll see
10:38:45*HCl shrugs
10:38:49LinusNHCl: i use my player to play music
10:38:59HClsame, but i'd want a good interface with it.
10:39:00LinusNthat's what i want my RAM to be used for
10:39:05austriancoderLinusN: would it be a good idea to have an own lcd-remote.h in the exort folder?
10:39:11HCland i'll sacrifice that any day for song loading time
10:39:19LinusNaustriancoder: perhaps
10:39:40BagderHCl: it needs to be a good compromise. If you'll waste 4MB, I would disable the feature and I wouldn't use it
10:39:43LinusN"song loading time"?
10:39:46austriancoderok... than we will do it
10:39:47Bagderif it used less, I could use it
10:39:53HClBagder: then disable it :p
10:40:03HCli'm not forcing anyone.
10:40:05BagderHCl: I wouldn't be alone thinking like this
10:40:12BagderI just think it would be a pity
10:40:13HCli don't care XD
10:40:22HCli just want to have a nice access to my music.
10:40:23Bagderso why do you ask at all?
10:40:36HClso i'm gonna work on making it happen :)
10:40:46HClno matter how many people don't want it, heh.
10:40:53Bagderwe want it
10:40:56Bagderwe just want it done good
10:41:05HClits gonna be on the wiki, heh.
10:41:11HClyou're free to add suggestions
10:41:17bobTHCit's the rockbox principle !
10:41:27HCli'm pretty much going from the itunesdb, what that can do
10:41:39HCland i'm splitting it up into stuff that should go into the tagdatabase and the runtime database at the moment.
10:43:09HCli'm wondering.
10:43:18HClwould it be possible to add a FAT file with a certain date.
10:43:24HClcount the time that passes when rockbox runs
10:43:30HClhm, nm.
10:43:39HClLast played time is gonna be difficultish :/
10:43:50HClunless we make it relative or something.
10:43:56HClcount the total amount of time the player has been on
10:44:01LinusNnot on the archos :-)
10:44:19LinusNthe recorder has a real time clock
10:44:32HClbut i don't think you'll want to run this runtime database on an archos, heh.
10:44:41LinusNwhy not?
10:44:46HCltoo big?
10:45:02LinusNwhy would you make it that big?
10:45:09HCllots of features :)
10:45:18LinusNyou're missing the point here
10:45:34HClno, we just have different goalsets
10:45:35HCl :)
10:45:47Bagdernot different goals
10:45:56Bagderjust different approaches of solving the problems
10:46:00 Quit edx (Read error: 60 (Operation timed out))
10:46:08BagderI agree with that you want to achieve
10:46:13HClso far the runtime database isn't that big yet.
10:46:18BagderI just don't want to waste megabytes on it
10:46:42HClit might be possible to have it in a format like the current binary format.
10:46:57Bagderand it shouldn't need to keep the whole thing in ram
10:47:03HClbut i still prefer it to be loaded in memory for easy searching.
10:47:30LinusNthen load it when you search
10:47:43HClthats inefficient for multiple searches over a day
10:48:22LinusNso you want to waste 4Mb of music buffer to do fast searches "several times a day"
10:48:24Bagderand remember we don't have malloc
10:48:31HClyup o.o
10:48:37HCli don't see why we would need 28mb of ram
10:48:40Bagderyou'd need to use a fixed size
10:48:58BagderHCl: for battery saving
10:49:00HCli'm aware of that
10:49:14HCli still don't see how spinning up the disk every time for runtime data
10:49:17HClis more efficient
10:49:19HClthan having it into ram
10:49:22HCland altering it there
10:49:26HCland writing it to disk on shutdown
10:49:28Bagdernot every time, and how often would you do it?
10:49:39amiconnEmbedded programming is not windows programming. On windows you may waste memory, on embedded devices you shouldn't...
10:49:39HClfor runtime stats, after every time a song is played.
10:49:47LinusNHCl: you don't need the entire database in ram to store playback data
10:49:56BagderHCl: you could easily cache N songs' of data
10:50:05HClLinusN: no, we don't, but we do for searching easily.
10:50:09LinusNand save it the next time the disk spins up
10:50:09Bagderand save them when the disk is spinning for other reasons
10:50:35LinusNseems we don't speak the same language
10:54:51BagderHCl: thing is, everyone can think of features that could use 4MB ram. So if everyone tries *hard* to limit the usage, we can cram in more features
10:55:03Bagderrather than everyone spending 4MB each
10:55:09Rickseems we'll be able to copy most of the lcd functions over
10:55:14HClBagder: i realize that, i'll try to keep it as small as possible.
10:55:15RickI just tested lcd_remote_drawrrect
10:55:16Rickworks fine
10:55:27BagderRick: rocking!
10:56:33Rickthe only problem is it draws from the bottom right corner
10:57:00Rickand flipped
10:57:16Bagdersounds like you should modify the update function then
10:57:35Bagderhaving switched coordinates will be... crazy ;-)
10:59:46Rickoh wait
10:59:49RickI have a better idea
11:00:02Ricki'll init the stuff to read backwards
11:00:05Rickthe hardware
11:00:58Ricknearly works
11:01:40LinusNRick: great
11:02:11Rickit seems one pixel line is missing
11:02:13Rickon the edge
11:02:58*HCl has daydreams of a "Best Rated" playlist on iriver
11:03:02LinusNRick: what did we do wrong when it didn't display anything?
11:03:06*HCl lags.
11:03:09Ricktoo tired
11:03:11Rickgood night
11:03:15LinusNRick: stop
11:03:28HCli added the first version of the runtimedatabase proposal on the wiki
11:03:41LinusNRick: upload what you have, so i can commit
11:03:42HClgrab your butcherknifes and go butcher it :P
11:03:47Ricki'm doing that no
11:03:54Rickbut it's probably going to break something
11:04:25Rickso be warned, or something
11:04:48HClprojected runtime database size with 4000 songs:2124000
11:05:07ashridahholy crap
11:05:27HClmostly due to the filename bit.
11:05:28BagderHCl: I have 6000
11:05:45LinusNHCl: filename can be limited to MAX_PATH
11:05:48HCl60000 if you leave out filenames completed
11:05:53HClLinusN: whats max_path?
11:05:58LinusNwhich is 260 iirc
11:05:58HCli assumed them to be 512bytes
11:05:59RickI think that's the changes
11:06:02HCli'll change that.
11:06:13LinusNRick: great
11:07:14HClexactly 1100000 bytes, with 4000 songs
11:07:18 Join amiconn_ [0] (
11:07:24Rickaustriancoder: see urls I gave up
11:07:27RickI'm off to bed
11:07:37LinusNRick: sleep tight
11:07:58austriancodergood night
11:08:02HCloh wait, i forgot to add the 4 bytes for the track item pointer :)
11:08:19Bagderthat's the space used on disk, no need to have all that in ram...
11:08:27austriancoderRick: i will take your work and try to finish it
11:08:27*Bagder repeats himself
11:08:52ashridahit's not like the iriver's firmware doesn't load an entire list of the directory structure anyway :)
11:09:22ashridahthis can only be faster, if you only generate it once, not every startup/disconnect
11:10:27 Quit amiconn (Nick collision from services.)
11:10:28 Nick amiconn_ is now known as amiconn (
11:11:09HClfeel free to add suggestions to the runtimedatabase wiki topic
11:11:14BagderHCl: what is 'file ID' going to be? and index into the tagdatabase?
11:11:24Bagderan index
11:11:31HClBagder: index back to the file item.
11:11:34 Quit Lynx_ (" rebooting...")
11:11:52Bagderin the tagdatabse?
11:11:53HClin theory, it would be better to link the tagdatabase to the runtime database, or have a similar format in the tagdatabase.
11:12:04HClso we'd only have to store files once at one spot
11:12:22HCland we really want to not have to dereference every pointer, but a pointer to the structure from the filename
11:12:27Bagderoh right, you store the file name in this too...
11:12:30 Join webguest58 [0] (
11:13:02BagderI guess one vitual q is: should this work without an initially generated tagdb?
11:13:13BagderI guess it should
11:13:39 Join rasher [0] (
11:13:57HClit should, the only problem is shifting all the track items on disk when you add a new file
11:14:06HClwe could just make one big record
11:14:21HCllike, when you add a file
11:14:28HClyou need to add a File Item and a Track Item.
11:14:28Bagderthey are ordered in a particular order?
11:14:42HClsee the database bit
11:15:00BagderI don't see any mention of it
11:15:02HCli guess the format can be easily adapted by just merging file items and track items.
11:15:15HClsorry, it was a bit without explanation, let me paste
11:15:36HCl1 Header
11:15:36HCl# amount of File Items (File Table)
11:15:36HCl# amount of Track Items (Track Table)
11:15:52HClbut if we could make the tagdatabase link to the file items
11:15:54HClit would be better
11:16:00Bagderbut it doesn't mention any particular order
11:16:00HClmaybe we should just have a seperate file database
11:16:02 Join Lynx_ [0] (HydraIRC@
11:16:04LinusNor the other way around
11:16:28HCli found the tagdatabase's format inflexible since it uses raw file offsets.
11:16:30LinusNthe runtime database points to the tag database file itmes
11:16:40Bagdermy thinking as well
11:16:42LinusNHCl: that's the beauty of it
11:16:48HCli vote for a seperate file database with pointers to the tagdatabase and the runtime database.
11:16:54Bagderbut it fails if the db is updated or this runs without db
11:17:02HCli don't see why you would need to use raw file offsets when they can be easily calculated.
11:17:21HClhence i vote for a seperate file database
11:17:23Bagderto reduce searching
11:17:30HClBagder: it wouldn't be searching
11:17:31Bagderan offset is just a seek and *done*
11:17:33HClif you have the filename
11:17:36HCland you have a record id
11:17:45HClthen an offset is as simple as record_id * sizeof(record)
11:17:49Bagderand what is a record id?
11:17:54Bagderan index
11:18:02Bagder== offset
11:18:13HClnot a raw one though.
11:18:23HCljust the number of the structure to access.
11:18:26LinusNHCl: we use file offsets because the records aren't fixed size
11:18:27BagderI don't see the difference
11:18:36HClthen we need to make them fixed size.
11:18:45Bagderno no no
11:18:52Bagderthe header defines the size
11:19:05rasheraren't they fixed at max-size?
11:19:14LinusNrasher: no
11:19:28rasherhm.. I could've sworn..
11:19:28Bagderyes, the run-time found max-size
11:19:33rasheryes, that
11:19:35rasherat generation time
11:19:37Bagderand the size is stored in the header and used
11:20:02rasherso I was right.. sortof
11:20:06HClwhat are we talking about? a variable size determined by the longest songname?
11:20:11HClor what?
11:20:13BagderHCl: yes
11:20:18rasherwell, longest string of that type
11:20:22HClokay, well. that may be okay for the tagdatabase.
11:20:24Bagderfor all names, rather
11:20:28rashergoes for path, album etc as well
11:20:29HClbut if you want to add a song to the runtime database
11:20:33HClit can be living hell.
11:20:41HCland i'd really sacrifice the few bytes for that.
11:20:41BagderHCl: I disagree
11:20:55HClsay we want a new file added to the runtime database.
11:20:56rasherdon't you just store a pointer into the tag-db?
11:21:00Bagdersince I don't want the whole runtimedb in ram anyway
11:21:07HClwhich is longer than the max filename so far.
11:21:14HClwe'd have to update EVERY filename
11:21:17HClto the new maxsize
11:21:30Bagdernot necessarily
11:21:33*rasher blinks
11:21:38HClexplain, heh.
11:21:40*HCl lags
11:21:40LinusNthe tag database is supposed to contain all songs on the disk, isn't it?
11:21:41Bagderbut if not, we need a way to "refresh" the db
11:22:04BagderLinusN: yes, but we cannot depend on that imo
11:22:07HClsurely it will not contain all songs on disk, when someone quickly copies a song, etc.
11:22:23rashercan't you just ignore those songs for the runtimedb then?
11:22:30HClplus we want the runtime database to work regardless of having a tagdatabase.
11:22:36rasheroh.. right
11:22:43*LinusN imagines a separate file for filenames
11:22:44rasherguess not then
11:22:46HCli really vote for 3 databases, one storing filenames with record pointers t
11:22:49HClmy thoughts exactly
11:22:57HClpointers to tagdatabase , and runtime database
11:22:59austriancoderwill there be the whish to support more then 2 lcds (lcd on player, remote lcd)?
11:23:03rasherLet's create a NEW file.. with hookers and blackjack
11:23:04HCland -1 if there's no tagdatabase entry
11:23:08LinusNaustriancoder: not yet
11:23:29austriancoderso i will chage the setting menu to add support for ONE remote lcd
11:23:33austriancoderthats ok?
11:23:36HClthen we could easily add and work all 3 databases
11:23:51LinusNaustriancoder: yes
11:24:00HCland avoid storing things multiple times, like filenames.
11:24:27LinusNi think the file name "database" should contain nothing but file names
11:24:51HClwell, then you can't easily link filenames to tags and runtime data.
11:24:52*rasher manages to import the output of midi2wav into .... audacity
11:25:02HClwhich imho is something you want.
11:25:06LinusNand the other two databased uses indexes/search offset into that file
11:25:16rasherwoo, sounds fine
11:25:19HClbut we want to link from filename to tags and runtime info.
11:25:23HClnot the other way around
11:25:31HClmost searches will be from filename-> metadata
11:25:34HClnot metadata->filename
11:25:37rasherMONKEY ISLAND!
11:25:39LinusNHCl: that's relational tables, which should be in the other two
11:26:05HClthen we'd have to search two databases to find the info
11:26:06HClrather than 1
11:26:10LinusNthe filename is _only_ needed when you want to load the actual file from disk
11:26:10rasher(sorry, listening to midi from the iriver :)
11:26:19HClhow do we identify songs then?
11:26:31HClunique id or what?
11:26:38*austriancoder makes a break
11:26:41 Quit austriancoder ("using sirc version 2.211+KSIRC/1.3.11")
11:26:51HClwhat if multiple songs have the same id3 tag?
11:26:58rasherthen it's the same song anyway :)
11:27:05HClnot necessairily?
11:27:11rasheror people have their tags wrong... in which case, THEIR PROBLEM
11:27:13*rasher ducks
11:27:15HCli disagree..
11:27:29HCli don't think we can trust id3 data to be unique.
11:27:33BagderI agree
11:27:37HClfilename however, is.
11:27:48rasheris it?
11:27:54LinusNso you want to search the filename database
11:27:54Bagderassuming with never support CUE stuff
11:27:58Bagderwe never
11:27:59rasherI mean, we can rename songs
11:28:09HClwith a rename, the database would get updated.
11:28:15HClLinusN: yes.
11:28:29HCli want to search the filename database, and have it contain links to the tag databases and runtime database.
11:28:33LinusNno wonder you want that sucker in ram
11:31:02LinusNso when we play a file, we need to search the filename database to look up the record for the playtime info?
11:31:09HClpretty much.
11:31:20 Join mico [0] (
11:31:33HClwe might be able to do a nasty trick with FAT records maybe
11:32:11HClif we sort the filename database
11:32:16HClsearching it shouldn't be too hard.
11:32:24HClbut yea
11:32:29HClthats just an option
11:32:33HCland really something you want in ram, heh.
11:33:12rasherI like how the irssi mailing list gets around one mail/month
11:33:21*rasher rambles
11:33:33rasherignore me.
11:33:51 Quit webguest58 ("CGI:IRC (EOF)")
11:34:09LinusNmy thinking is this: i would append the playtime info to a flat file, and then have a separate "rebuild database" function
11:34:10rasherBad hobbit, I keep forgetting that there's actually such a thing as on and off topic here..
11:34:40LinusNbut that's me
11:35:01HClwe could ofcourse have something ugly like a copy of the entire tree structure on disk, with seperate tag and runtime data for each file
11:35:14HClnasty. but it would work.
11:35:32HCland fast too.
11:35:41LinusNbut then you would still need a rebuild when you add a file to the disk
11:35:57HClnew files can be added on the fly
11:36:05HClby creating the directory and the runtime data file
11:36:16***Saving seen data "./dancer.seen"
11:36:19HClwhen a file is played, a tagdatabase update would add the tag file for that file.
11:36:50HClofcourse, if you want to search through the data
11:36:53HClit'll be a living hell.
11:36:59HClwhich destroys our entire point :P
11:37:07Bagderjust playing it could simply keep data in ram
11:37:21HClwhat do you mean with a flat file?
11:37:22Bagderand then flush it every once in a while
11:37:35Bagderthen when you want to use it, you can refresh the db
11:37:53LinusNHCl: flat file = an unsorted file where you append file names/records
11:38:11HClsounds okish
11:38:18HClthen we would have a sorted filename database, i presume?
11:38:25HCland we'd be able to binary search through it
11:39:19LinusNafter the database update, that is
11:39:21HClso we'd have a file database, a tag database, a runtime database, and a flatfile of things that need to get put into the database.
11:39:39LinusNbasically, yes
11:39:42HClbut the flatfile would contain only new files and their respective records, correct?
11:39:50HCland we'd have the filename database sorted.
11:40:11HClshall i write it in the wiki?
11:40:37HCli'll just put everything in the runtimedatabase topic for now..
11:42:27LinusNdo that
11:45:25rasherI wonder where my pr0n is hiding. My windows partition is full, and this usually means pr0n, music or something like that.. but I can find none of that (on that partition). What's up with that?
11:47:32ashridahlost clusters. yay!
11:47:41LinusNhuge swap file
11:48:07*rasher pokes around
11:49:24rasherBut yes, midi2wav produced a nice raw pcm file (48kHz, 16 bit signed)
11:50:45rasherAm I alone in thinking that the RPSL is gpl incompatible?
11:52:06rasherReal Public Source License.. or something like that
11:52:09rasheror that
11:52:44ashridahah. probably not. what OSI think about it?
11:52:57rasherIt's OSI approved
11:53:00rasherbut that means squat
11:53:17rasherMore or less, it just means that you can view and modify the code
11:53:20Bagderno, they approve GPL-incompatible ones too
11:53:30rasherYes indeed
11:53:41rasherThat's what I was trying to say :)
11:53:43ashridahhrm. wait a sec. did OSI approve sun's crappy license?
11:54:02Bagderrasher: anything particular in that license you think is unfitting for GPL?
11:54:21rasherHrm.. I can't remember now :)
11:54:27HClpreglow asked ipodlinux about it yesterday.
11:54:30Bagderthere's a lot of text
11:54:33HCllet me try to find what they replied.
11:54:38HCli'm lagging a lot >.<
11:55:35rasher"In addition, you agree to the terms of this License by clicking the Accept button or downloading the software."
11:55:41rasherI think that does it really ?
11:55:57Bagderyes, that cannot be compliant
11:56:11rasherno need to read past section 1 then
11:56:13HCl21:39 < coob> you cna't relicense it under GPL, all modifications have to RPSL,
11:56:17HCl I don't really see the issue with that
11:56:17HCl21:39 < coob> seeing how it's perpetual
11:56:17HCl21:39 < coob> Note: because this license contains certain reciprocal licensing
11:56:17HCl terms that purport to extend to independently developed code, You
11:56:17HCl may be prohibited under the terms of these otherwise compatible
11:56:19HCl licenses from using code licensed under their terms with Covered
11:56:21HCl Code because Covered Code may only be licensed under the
11:56:24HCl RealNetworks Public Source License. Any attempt to apply non RPSL
11:56:26HCl license terms, including without limitation the GPL, to Covered
11:56:31*HCl slaps irssi
11:56:36HClwhy can't it copy paste single lined pastes properly
11:56:36HClsorry :(
11:56:39BagderHCl: that's a mere quote from the web page basically
11:56:55HClyea, look at the top..
11:57:06rasherwell it wouldn't be a problem
11:57:12Bagderbut I agree with rasher
11:57:14*HCl goes to make coffee and do something about this darn lag
11:57:18rasherexcept some of the restrictions of rpsl are more restrictive than the gpl
11:57:21Bagderthe click to accecpt is bad
11:57:27rasherwhich makes it incompatible
11:57:41rasherbut the part he quoted isn't the problem
11:57:47HClwe can't relicense it as gpl
11:57:51HCland as long as we don't modify it
11:57:54 Quit ferenczy (Read error: 113 (No route to host))
11:57:57HClour code won't be under rpsl
11:58:04HClas far as i understand
11:58:05Bagderwe can't relicense it at all
11:58:16Bagderonly the original author(s) can
11:58:20rasherThe GPL restricts us from including it, not the rpsl
11:58:39*HCl doesn't understand most licensing stuff, will take your word for it :P
11:58:41rasherBut it does so because of the rpsl :)
11:58:44*HCl goes to make coffee
11:58:53HCloh, please read the updated runtimedatabase wiki topic
11:58:56HClrequest for comments
11:59:32HClhaven't finished the flatfile description, not 100% sure how we're gonna want the tagdatabase yet, since we still want author/album tables
12:00:05*rasher hugs his usb->miniusb/charger thingy
12:00:18rasherI'll have a charged iRiver in the train on my way home ^_^
12:00:25Bagdercontradicts the license in my eyes
12:00:49rasherThey can say that all they want
12:00:56rasheras long as the license says something else
12:00:58Bagderbut the license still says so
12:01:22rasherThe license also tries to give the impression of being gpl compatible.. quite deviously so
12:01:56rasherIn the list of "compatible licenses" .. I have a feeling they created that section only to give that impression
12:02:47rasherinterestingly, I couldn't find anything about it on debian-legal, last I looked
12:02:56Bagder"You may be prohibited under the terms of this otherwise compatible license" is a very odd way of putting things
12:03:13rasherHeh, quite
12:03:17Bagder"otherwise compatible"
12:03:24rasher"This license would be compatible, except it's not"
12:03:39Bagder"but we list it here anyway with a footnote"
12:04:07Bagder"because we try hard to look better than we are"
12:04:47rasher Something like that
12:07:38 Join preglow [0] (
12:08:15rasherhola, preglow
12:09:10HClm/me smacks lag.
12:09:18 Nick tvelocity[away] is now known as tvelocity (
12:09:20HClugh. you get the point
12:10:01HClhow goes?
12:10:07HClremote lcd is working
12:11:09rasherhow working?
12:11:26LinusNwe can draw stuff on it
12:12:09rasherheh, hasn't even bothered commenting on rpsl
12:13:26 Join Zagor [0] (
12:13:40Bagderhowdy ho Zagor
12:15:04LinusNZagor: back from the dead!
12:15:17rasheruh-oh.. prof's dimming the lights now..
12:15:22rasherI'll be fast asleep soon
12:15:59HClhow do i stop the wiki from auto enumerating?
12:16:08ZagorHCl: read the docs :)
12:16:29Bagderthere are docs? B)
12:16:42*HCl sighs, is in the middle of an edit, was hoping someone could tell quickly :/
12:16:47HClbut ok
12:16:49LinusNso you stop it by just reading the docs? wow!
12:17:04Zagoryeah, it's a very sensitive program
12:17:32ZagorHCl: of course, "rftm" just means "I don't remember"
12:17:46HClah P
12:17:47HCl :P
12:17:58rasherI usually find opening the "GoodStyle" link in a new tab works wonders
12:18:05rasheror whatever that link is
12:20:31HClverbatim thing worked
12:20:39HClrequest for comments:
12:26:51*HCl really needs some comments before proceeding :x
12:27:51BagderI think you need to add some thinking to it, and not only the db format
12:27:57BagderI don't understand
12:28:10HClokay, what don't you understand, sorry, i can be rather bad at documenting
12:28:26HCli need questions to answer so i can add them to the wiki :x
12:28:27Bagderyou start a single song, what happens?
12:28:49Bagderwhat does it load, what does it update
12:29:06Bagderwhen does it store to disk
12:29:07HClthe song gets looked up in the file database with a binary search, if it finds a record, it checks for tag data
12:29:15 Join ferenczy [0] (
12:29:18HClif there is tag data, it displays it
12:29:46Bagdertag data?
12:29:57HClnot described yet, it would be in the tag database.
12:30:06HCli'll go start a general description
12:30:09HClon how its supposed to work
12:30:41Zagori'm not sure I understand the purpose. you say it's for recording play frequency etc. then why do you need all those tags?
12:31:05HClits to be able to create on the fly playlists by runtime and tag data
12:31:23HClthe tag data will be created by an indexer, like our current tagdatabase
12:31:41HClit might write the song length to the tag database, if its not there.
12:32:08*HCl starts on an how its supposed to work section
12:32:18rasherbut all these things are static data
12:32:28rasherwhy not just extend the static db?
12:32:33HClrasher: not the runtime data.
12:32:43HCl|Rating|1|Track Rating|
12:32:43HCl|Play Count|4|Play count of the track.|
12:32:43HCl|Last time played|4|Last time this track was played, probably in some relative format.|
12:32:44rasherbut how much is runtime data?
12:32:46HCl|Volume adjustment|2|Volume adjustment, applied to track on playback|
12:32:56HClthe rest is gonna be a static db o.o
12:33:09rasherright... why a new static db?
12:33:18HClaside from the filedatabase being related to the runtime data, and if runtime data is to be added for a file thats not in the filedatabase, it would have to be added
12:33:22 Join Bipper [0] (
12:33:23Zagorto avoid modifying the tag db runtime
12:33:37Bagderand to avoid having a tag db in the first place!
12:33:52HClum. mostly because the old format is completely incompatible with what i have so far o.o
12:33:55Bagderthe runtimedb could work without tagdb
12:34:05 Join webguest58 [0] (
12:34:06rasherI understand the need for the runtimedb
12:34:08ZagorBagder: yeah, but the question is "why"
12:34:18HCland because the runtime db and the tag db share data
12:34:19BagderZagor: for stats like most played and recently played etc
12:34:22HClthe filedatabase was created.
12:34:23rasherbut "[12:33] <HCl> the rest is gonna be a static db o.o"
12:34:29rasherwhy a new one?
12:34:45ashridahcool. so what'
12:34:47ashridahs getting drawn on the lcd atm?
12:34:49Bagderone reason would be that the tagdb is very hard to update runtime
12:34:53ashridah(remote lcd i mean)
12:34:54HClredesign, i guess. because the old tagdatabase can't store anything imho..
12:34:58Zagorah right,so we don't link tagdb with runtimedb
12:35:02rasherbagder: you wouldn't have to
12:35:06HClwe link tagdb with filedatabase
12:35:11HCland we link runtimedb with filedatabase
12:35:21rasherbut I'm talking about the static things hcl wants to store (like playtime)
12:35:22HCland runtimedb and tagdb are only linked through the filedatabase
12:35:22Bagderrasher: what if we play a song that isn't in the tagdb
12:35:45ZagorHCl: THREE databases? we only have two datasets: tags and runtime info
12:35:46Bagderthat has a longer name than any existing song...
12:35:59HClZagor: yes, three databases, as well as a flatfile, so 4 in total.
12:36:01rasherbagder: that's the need for the filename db
12:36:06rasherwhy 4?!
12:36:14HClthe flatfile is for adding new records
12:36:29HCland just temporarily till the data in it gets put in the proper position in the "static" db
12:36:45HClthe filedatabase is sorted to allow a fairly fast binary search.
12:36:58Zagorthe tagdb is sorted already
12:37:07 Join edx [0] (
12:37:07 Quit Bipper (Client Quit)
12:37:26*HCl sighs and stares a bit, realizes why it needs to be documented to why its designed the way it is at the moment o.o
12:37:27BagderI'm not quite seeing how we need three dbs
12:37:50rasherHCl: write some more then :)
12:37:52HClBagder: because runtime db and tagdb share filenames, it would be a waste to store them twice, also, with 1 filename search, you'd get both tag and runtime db.
12:38:02HClrasher: i'm working on it :P
12:38:14HCli'm tempted to grab the irc logs and paste whats been explained so far and rewrite it a bit
12:38:17ZagorHCl: i think perhaps you may want to start from another angle: a) what do we want (function), b) what data does that require c) how do we store it
12:38:28HClalready have that.
12:38:45Zagorok, then I just don't understand it :)
12:38:49HClread the basic goal thing on the wiki..
12:38:58HClyea yea
12:39:07HCli'll get on explaining it on the wiki, give me some time :)
12:39:17Bagderplease do
12:39:49rashermuch easier to do it there probably
12:40:20rashereasier to keep track of comments etc
12:55:30HCli don't like wiki's font. but okay.
12:55:45HClplease read the how its supposed to work section
12:55:54HCland ask any questions you might have so i can add them
12:57:53HCli'm not too good at documenting, but i tried :/
12:59:45 Join Lost-ash [0] (
12:59:45preglowthe wiki font? what font is that?
12:59:51HCli have no idea.
12:59:52HClbut its small
13:00:02HCland not too nice to read on my internet explorer
13:00:16LinusNit's not small here
13:00:25HClprobably just my ie..
13:00:32preglowit's not small here either
13:00:38HClrequest for comments
13:00:39preglowbut the font is ugly, yes, but that's more the fault of ubuntu
13:01:07rasherLooks fine here
13:01:18*rasher has firefox set up to use the bitstream vera fonts
13:01:20HClanyways, thats not the point! xD
13:01:53preglowproper unique identifier is a filename?
13:01:56preglowhell no
13:02:01preglowi've got lots of 01-Untitled.ogg
13:02:12HCli'll change that to full path filename.
13:02:17preglowthat's better
13:03:04Zagorthe font is "sans-serif", which means your browser gets to choose which one to use. so blame your browser :-)
13:03:24HClhit refresh
13:03:29Zagoryup, reading...
13:04:02rashercan't set which font ie uses for sans-serif ><
13:04:29Lost-ashHCl: yeah, uh.most browsers allow you to change what 'sans-serif' is rendered as :)
13:05:07Lost-ashfirefox is under edit->prefs->general->fonts & colours
13:05:11 Quit ashridah (Nick collision from services.)
13:05:17 Nick Lost-ash is now known as ashridah (
13:05:43ashridahyou could probably force an override using CSS too, if you're handy with html/css.
13:06:09 Join DMJC [0] (
13:06:17ZagorHCl: call me dense, but I still don't understand the need for FileDatabase
13:06:44Lynx_Zagor: how would you do it without?
13:06:56HClZagor: if we didn't have filedatabase, we'd have to store the filename twice, in the tagdatabase as well as the runtimedatabase
13:07:16HClthen, in order to look up metadata, we'd have to search for a filename twice, rather than once
13:07:26Zagorwhy? we already have the filename in the tagdb. use it instead of a new fildb
13:07:33HCladditionally, we'd have to do a filename search if we wanted tag data with the runtime data we have, and vice versa
13:07:54Lynx_Zagor: but then there could not be runtime data for a file with no tagdata?
13:07:57HClwe're adding a runtime database, it needs to be linked to the filename as well.
13:07:57rasherzagor: tagdb is not always expected to be up to date, or even present
13:08:25Zagorbah, why not? redundancy by complexity is not a rockbox design mark...
13:08:48Zagorit all needs offline indexing anyway, so why not require the tagdb?
13:09:15HClit does not need offline indexing, a database sync could be done on the player
13:09:39Zagor"Because the FileDatabase? has to be sorted, we can't add to this database on the fly,"
13:09:49HClnot without loading it entirely into ram.
13:10:11HClwhich we can. but aren't gonna do unless you want to create a new playlist on the fly.
13:10:34HCl(and there is a flatfile)
13:10:56Zagoragain, why this added complexity?
13:11:18HClbecause it enables to have runtimedata without having tagdata.
13:11:26Zagor...and the point of that is?
13:11:29HCland keeps us from storing filenames twice.
13:11:33HClthat we don't have to have a tagdatabase.
13:11:40*HCl sighs.
13:11:41Zagortagdb will always store filenames
13:11:47HClno it won't.. heh..
13:12:08Zagorotherwise tagdb is depending on filedb. and you didn't want to link them?
13:12:16HClum. they are linked o.o;
13:12:20rasherI'm sortof with Zagor.. keep your songs in tagdb and keep it up to date, and you get all the benefits
13:12:32rasherwhich'll make it infinately simpler
13:12:47HCli don't see how much extra "complexity" it would add
13:12:56Zagorwe're not removing filenames from tagdb just to enable runtimdb to work without tagdb. that's nonsense imho,
13:13:27rasherfor the while between adding a song and updating the tagdb, you just don't get runtime data for that file
13:13:37HClso you're wanting to store filenames for runtime data as well as tag database?
13:13:50HClrasher, i don't update the tagdb that often, and i often add files i come across.
13:14:04HClsay we have two databases
13:14:06rasherWhy don't you?
13:14:08HCltagdatabase and runtimedatabase
13:14:14preglowwell, it shouldn't be that hard to have your unit sync on usb access?
13:14:34HClboth store filenames in order to keep track of what file's where.
13:14:40rasherand even so, the couple of times you play a file before updating tagdb, is it really that great a loss not to have that info stored?
13:14:58HClyes o.o;
13:15:03HCli don't understand whats against it, heh.
13:15:04rasherdoes it warrant the added complexity though?
13:15:13HClits really not that complex o.o
13:15:22HClits just a very simple database o.o
13:15:37HClnever done sql? ;x
13:15:52HClthen surely you know about relational databases
13:15:55HClwhich is exactly what this is o.o
13:15:57rasherBut it seems slightly overkill
13:16:05HClwhy? consider the alternative.
13:16:10HClwe have a tagdatabase
13:16:10rasherI did
13:16:13HClwith a filename
13:16:19HClto keep track of tags with filenames
13:16:26HCland we have a runtimedatabase
13:16:28HClalso with filenames
13:16:34HClto keep track of runtimedata with filenames
13:16:37Zagorexcept you are not relating to existing data... :-)
13:16:51HClsay we want to create a playlist
13:17:04rasherwhy not just have runtimedb, which links to tagdb offsets
13:17:04HCl"all songs from the 80's played at least 5 times"
13:17:25HClthen we'd have to do a filename search
13:17:28HClfor *each* and *every* file
13:17:35HClto link them against their runtime/tagdb counterpart
13:17:44HCland then to be able to search on that data
13:17:50rasherwell not each and every
13:17:51LinusNnot if the search is done from the tag database
13:18:00HClwhat do you mean linus?
13:18:05rasheranyway, why not have the runtimedb link into the tagdb?
13:18:12Zagorthe tag database doesn't search filenames, it looks it up
13:18:24HClbecause i can't stand raw file offsets o.o its ugly.
13:18:34LinusNthe tag database know which songs are from the 80's
13:18:37rasherNow you're just whining
13:18:47preglowyes, but not which are played at least five times
13:18:56HClLinusN: ah, you mean doing the tag part first, and then the runtime part
13:19:09HClthen you would still need a filename search
13:19:13HClfor every file you found of the 80s
13:19:15HClinto the runtime db
13:19:25*rasher cries and cries
13:19:27HClwhen with my proposal, you just check the file ID in the tagdatabase
13:19:30LinusNnot if the runtime db is linked to the tagdb
13:19:32HCllook it up in the filedatabase
13:19:37HCland then you have the runtime iD
13:19:42HClwhich you look up in the runtime db
13:19:56HCland then again, we can't have runtime info without a tagdb
13:20:01HClif we were to do that.
13:20:08rasherI don't get your irrational fear of file offsets
13:20:15LinusNme neither
13:20:17HCland i don't get your irrational fear of databases :)
13:20:23 Quit DMJC ("Leaving")
13:20:31rasherit's totally not irrational.. it's way over-complex
13:20:32Zagorfile offset is the same thing as your "file id"
13:20:37HClthe runtime / tag / file ID's are really just an calculated offset
13:21:09HClif you want you can just multiply them with the record size when you write them
13:21:12HClthen you'd have your offsets
13:21:22LinusNso why not just have them precalculated?
13:21:30HCli guess we could
13:21:37rasherbut that'd be file offsets!
13:21:39LinusNthere we have the offsets
13:21:41rasherwhich is ... bad the tagdb does
13:21:51*rasher grins
13:21:56rasherhcl is outnumbered
13:22:01HClhow so?
13:22:07LinusNhowever, we still have one "problem"
13:22:16HCli just think a record number is cleaner than a direct offset
13:22:24HClbecause they're easier to update, for one
13:22:31HCli think, anyways o.o
13:22:32preglownot if they're the same thing, to a multiplied constant
13:22:46rasherwell if the constant changes
13:22:47HClpreglow: yea, i guess you can calculate them back into record numbers.
13:22:48LinusNwe will not be able to keep the runtime of a file if it is played from the dir browser
13:23:01HClhow so linus?
13:23:06ZagorLinusN: not without searching for it
13:23:08rasherbut then, that'll happen when building the tag-db, in which case we have more than enough power to recalculate
13:23:11LinusNZagor: right
13:23:25HClyes, indeed we can't
13:23:27HClbut a binary search is fast.
13:23:30LinusNthat's where the separate filedatabase comes in
13:23:48ZagorLinusN: why? the file database is just a copy of the first section of the tagdb
13:23:55LinusNZagor: me silly
13:24:08HClso what it comes down to
13:24:17HClis that we're gonna add empty tagentries in the tagdatabase
13:24:25HClwhen we want to add a runtime database for a file that doesn't exist.
13:24:35LinusNno, we won't add anything
13:24:43rasherthat'd be costly
13:24:45Zagorno, we don't modify the tagdb runtime
13:24:46HClthen how will we do runtime data without a tagdatabase
13:24:48LinusNwe will ignore the file until it is added by tagdb
13:24:56 Join austriancoder [0] (~austrianc@
13:24:59austriancoderhi all
13:25:08HCland the tagdb will be sorted then?
13:25:13LinusNit is sorted
13:25:18Zagoreither that, or a crude log that the indexer can grab and integrate the next time it runs
13:25:33rasherI think that was the idea already
13:25:34HClyea, thats what the flatfile was gonna be.
13:25:35LinusNaustriancoder: hi
13:25:44Zagorok. i'm fine with that.
13:25:57rasherthat could even be parsed when performing searches
13:26:02rashersince it's likely to be quite short
13:26:13HClthen i wonder what the tagdb is gonna look like
13:26:24HClsince it needs to have *a lot* of fields added
13:26:33*austriancoder codes on setting menu for remote lcd
13:26:36Zagoryeah, all fields you want to search for
13:26:38rashera lot?
13:26:46HClcheck the tagdatabase section rasher.
13:26:52HCli made a list of stuff.
13:26:55Zagorhowever I don't think we need to search for sample rate, disk number etc.
13:27:02HClgee, i even forgot genre
13:27:09HClrasher: i just took a peek at id3v2 :P
13:27:15HClwe don't have to adopt all of them
13:27:23rasherI'd hope not
13:27:24HClits just how much flexibility you want.
13:27:43rashertotal number of tracks?
13:27:54rasher"I want songs from cds with 13 tracks on them" seems a bit silly
13:28:03HClyes, it can be very nice when having an entire cd album.
13:28:10HClso you actually know on which track out of how many you are.
13:28:19rasherwell I understand the tag
13:28:23HCli mostly copied whats supported by various tags so far.
13:28:24ZagorHCl: we already know that, it doesn't need to be in the tagdb
13:28:28rasherbut why would you want to search for it
13:28:34preglowHCl: pretty please, let genre be a string
13:28:34HCli think we should be as flexible as possible
13:28:53Zagori think we should start simple and expand as we feel necessary
13:29:02LinusNHCl: flexible in my world means "we can add it whenever we want"
13:29:05HClare we currently reading displayed metadata from the file itself or the tag db?
13:29:07HCli'm lagging, again
13:29:09rasherHCl: but total number of tracks is completely useless as a search term
13:29:13Zagorthe file
13:29:18HClLinusN: in my mind, it means, "it allows you to do nearly anything"
13:29:29rashertagdb is only for browsing/searching
13:29:34HClrasher: it depends, i'd want it to be possible to be displayed.
13:29:49Zagortagdb has nothing to do with the display
13:29:52LinusNi mean, when you find that it will be useful to search for max tracks, then we add it to the db
13:29:52HClbut if we read most metadata from the song itself
13:29:54HClthen we can remove it
13:30:19HClif we read our display data from the tag of the file itself, then we can remove those.
13:30:29LinusNwe reaqd *all* metadata from the track
13:30:33HClits really just a list of possibilities
13:31:10rasherwell if you wanted the tagdb browser to display songs as "title [#/#n]" I guess
13:31:37Zagori'd say start coding for the current tagdb. there's plenty of work to be done before expanding it...
13:31:49HCli would if i would understand its format? :P
13:32:00Zagorit's a relational db :-)
13:32:05HCli noticed that.
13:32:15HCli also barely saw any metadata whatsoever except relations ;/
13:32:30Zagorhehe, there's only names currently
13:32:33rasherit only keeps artist, album title
13:32:45rashersorts by tracknumber if possible though
13:32:50HCli want at least year, genre, track
13:32:57HClthen comment, file type
13:33:08Zagorsure, we'll add that later.
13:33:16HClbut first
13:33:22Zagorbut it's not the right end to begin
13:33:25HCli'd like some explanation about how tagdb will work with runtime db
13:34:33HClanyone? zagor? rasher?
13:34:39Zagorhow do you mean?
13:34:50HClhow are they gonna work together by fileoffsets?
13:35:20 Join MoosCamaro [0] (
13:35:28MoosCamarohi all
13:35:34Zagoreach record in runtimedb stores a pointer to a song record in tagdb
13:35:40HClthe tagdb can't have a link to the runtime db, so if we have a song
13:35:45HClwe'd have to search the entire runtime db?
13:36:01Zagorwe could have a lookup index at the start, sorted
13:36:04rasherwe'd have to look it up in the first part of the tagdb
13:36:12rasherdon't we?
13:36:19***Saving seen data "./dancer.seen"
13:36:22HClelaborate, heh.
13:36:25Zagorrasher: if we have filename, yes
13:36:37rasherWhat else would we have?
13:36:40HClwell, assuming we have a tagdb record.
13:36:50HCland we just played the file and want its runtime record.
13:37:01rasherah, like that
13:37:28Zagorthere are several ways to handle it. one way would be to have a lookup table at the start of runtimedb, storing tagdb offset and corresponding runtimedb offset
13:38:07HClthat would be very alike the filedatabase, heh.
13:38:14Zagorwe could also have the offset directly in tagdb, since it will never change runtime
13:38:35rasherah, assuming a statically sized runtimedb?
13:38:38rashersilly me
13:38:40Zagorthat makes a lot more sense
13:38:48Zagorrasher: yes
13:38:57HCland just how would you want to update the runtimedb.. just add to it.?
13:39:06HClyou can't just overwrite it
13:39:08HCllike the tagdb
13:39:13Zagorwhy not?
13:39:20HClbecause it would wipe all runtime data? O.o;
13:39:36rasherwell you'd load it first.. remember this is done on your pc
13:39:53Zagor:-) well the db is read out, then created anew
13:40:02HClheh... i'm not gonna be the guy who writes the pc tool.. i'll tell you that..
13:40:19Zagorwe already have a perl script to make the tagdb. this shouldn't be much different.
13:40:42HClso. how would we get from tag to runtime data
13:40:44Zagori'm happy if you are the guy who writes the search gui ;-)
13:40:57rasherthat perl script is like the perl script of death
13:40:59HCli think i can manage that, if at least the database is workable
13:41:08austriancodersetting remote contrast via config menu works :)
13:41:10Zagori say we add a pointer in the tagdb to the runtime db. simplest solution.
13:41:19HClso a static sized runtime db?
13:41:25Zagorrasher: wimp ;)
13:41:26HClthen you wouldn't even need a pointer
13:41:36HClyou could just have the same what i call record id
13:41:46Zagorsame thing
13:42:00HClwell, no. cause you wouldn't have to store a pointer in the tagdb
13:42:06HClbut just calculate it
13:42:09Zagorusing offset just saves a few multiplications
13:42:20HClare we really that cpu needy?
13:42:22Zagorsaving id or offset makes no difference
13:42:24LinusNaustriancoder: great
13:42:28rasherZagor: I tried modifying it... no matter what I changed in it, something else relied on that, creating horrible side-effects - it was great :)
13:42:34HClwell, i meant not saving the id either.
13:42:44Zagoroh. how do you mean then?
13:42:46HClcause with static sizes, you can keep the id the same.
13:42:56Zagorthe same as..?
13:42:57HClsay you have file number 2538 in the tagdb
13:42:58austriancoderLinusN: But the settings are keept.. if i restart it.. contrast is back to normal
13:43:16Zagorright, that's a good point
13:43:16HClthen you would look up the runtime record number 2538 in the runtimedb
13:43:43HCli seriously don't want to be the person who codes the pc tool, heh.
13:43:48Zagorhowever it could get tricky when we add new files to it. but not undoable.
13:43:55LinusNaustriancoder: you need to update settings_apply()
13:43:56HClyea, thats what i'm saying
13:43:57HCl :P
13:44:14austriancoderah.. ok.. and where must i call it?
13:44:15Zagorthe real magic is detecting moved files :-)
13:44:26LinusNaustriancoder: it is called when the settings are loaded
13:44:32*HCl shivers.
13:44:38rasherZagor: md5 hash!
13:44:39HClwe'd have to have a flatfile for that.
13:44:39LinusNbut you must add a call to lcd_remote_contrast() in it
13:44:50Zagorrasher: hah, yeah that'd speed things up...
13:44:52HClor md5 :P
13:45:11HCli still vote for a filedatabase :/
13:45:13rasherhash the first 10kb then :)
13:45:17LinusNaustriancoder: settings.c
13:45:18HCla moving file would be no harder than changing the filename in it
13:45:20HCland resorting
13:45:37austriancoderLinusN: will try it... thanks
13:45:42rasheryou'd still need to detect that it's the same file
13:45:49rasherwhich is.. voodoo
13:45:50Zagorthe difficult thing is finding out the new file is the same as an old one, not what to do once you know it.
13:46:14HClwell, thats a thing for the pc tool, really.
13:46:17rasherfind the first mpeg-header, md5 the first 10 frames
13:46:19HClthe pc tool could md5sum the files.
13:46:32HCland check md5sums when building a new db, would make indexing slow
13:46:34rashernevermind non-mpeg files :)
13:46:38Zagormd5 is way too slow
13:46:52Zagorsame thing, it requires reading the entire files
13:47:02HCli guess.
13:47:02rasherwhy entire files?
13:47:15ashridahHCl: or you could just assume that the id3 tag hasn't changed, and update the index without rewriting the entire file.
13:47:17HClbecause otherwise you can't determine whether they're the same.
13:47:26ashridahthen tack new ones in as appropriate.
13:47:29LinusNi'd say a sum of the first kbyte would be adequate
13:47:42rasherfirst last kbyte perhaps
13:47:49HClmiddle kbyte :P
13:47:51LinusNrasher: yes
13:47:51rasherfirst PLUS last
13:48:01Zagorif that's accurate, we could try it. we need to test it first though.
13:48:05LinusNthe key is to sum the tag data
13:48:17LinusNwhich can be in the beginning and the end
13:48:40Zagoryou assume the tag contains useful data. LOTS of songs on people's drives have empty tags.
13:48:46austriancoderLinusN: works now fine.. will add now other options and then i will commit everything
13:48:55LinusNaustriancoder: great
13:49:01rashera kbyte would get more than the tag though
13:49:04rasherso it's fine
13:49:24Zagorrasher: we could try it
13:49:28HCli'd appreciate it if either of you would be able to write a new runtimedb layout, i'm not 100% sure how to do it anymore with the new proposal, heh.
13:49:54rasherI could try doing it on my music collection (6000 files) and see how little I can hash before I get two identical hashes
13:50:09Zagorrasher: that would be great
13:50:36HClor someone clearifying the current tagdb structure, i don't really get the wiki at all
13:50:40Zagortry with crc32
13:51:07rasherfaster/more likely to be different?
13:51:27HCl :P
13:51:33austriancoderLinusN: should we add a HAVE_REMOTE_LCD_BITMAP ??
13:51:55LinusNnot until we have a remote with a character lcd
13:52:03HClZagor / rasher: can either of you clearify the binary format section a bit? maybe in the style that i did on runtimedatabase..?
13:52:06ZagorHCl: the tagdb is split into five sections: header, files, songs, albums, artists
13:52:33HClmhm, shouldn't the file table be sorted?
13:52:38Zagorit is
13:52:43HClit says its unsorted on the wiki
13:52:43HCl :X
13:52:48LinusNaaah, the libmad stream interface is not my friend
13:52:59Zagorhmm, am I or the wiki wrong... :-)
13:53:14*Zagor checks the perl
13:53:15LinusNthe wiki should be wrong...i think
13:53:25Zagori think so too, just verifying
13:53:31rasherI think Zagor'd bettter explain this..
13:53:43rasherplus I''m about to jump on a train home
13:53:55HCli think i'll rewrite the binary format section a bit, any objections? i find it not very readable.. wanting to split it into 5 sections describing the binary format of all the structures
13:54:19ZagorHCl: go ahead
13:55:00Zagorthe file table is sorted
13:55:04HCli'll update that too.
13:55:35Zagormay I suggest you only add the new formatting, saving the old? just to be safe.
13:56:00micodoes anybody have the gmini 400?
13:56:17rasherLoads of people do, I bet
13:56:20*rasher ducks
13:56:24HCloh. ok.
13:57:09micothen why nobady tried to hack it ? :\
13:57:33rasherThey're the wrong people I guess :)
13:58:10Zagorthe 400 has a TI chip, like the multimedias. TI == no docs == no fun.
13:59:56rasherLecture over, bus and train leaving soon.. bye bye!
14:01:02preglowit uses a ti dsp?
14:01:09 Quit rasher ("going home")
14:01:32preglowwill not be easy to get a compiler either
14:02:53austriancoderif i added a new string to english.lang, who can i update all other langs?
14:03:13HClthe file table has an unfixed field length, correct?
14:03:39LinusNaustriancoder: that is the job of the translators
14:04:01LinusNyou only need to update english.lang for now
14:04:22austriancoderand german.lang :)
14:04:29LinusNHCl: correct
14:04:42LinusN(as far as i know)
14:05:36preglowany of you guys have any idea if we can implement an aac decoder with no legal troubles?
14:05:44LinusNnot sure
14:05:53preglowor for that sake: an mp3 decoder
14:06:05preglowthat again depends on whether it's iriver or the user who has the mp3 license
14:06:33micodoes anybody have an idea for key combos for the gmini 400 to get into the fw debug functions screen?
14:06:43LinusNmico: i have no idea
14:06:47preglowi don't expect we'll see any trouble for having an mp3 decoder, but i'm not at all sure about aac
14:07:09LinusNaac might be hot, yes
14:07:25micoit's not ON+F1+F2 as in the av300
14:07:35preglowi'm thinking about getting faad2 up and going
14:09:22austriancodercommited my changes to support some remote lcd settings
14:09:33Zagorthere's no risk implementing it. the only risk is in distribution. and the laws on that are being decided as we speak.
14:09:34LinusNaustriancoder: nice
14:09:41austriancodernext step is to include remote lcd calls into rockbox core
14:10:33austriancodera nice logo on remote when starting would be a nice thing
14:10:53Zagoraustriancoder: have you thought about solutions to the different screen size problem? (except the huge do-it-right solution)
14:12:06ashridahzagor: heh. let me guess. the 'do-it-right' solution is to rewrite all of the lcd drawing code so that it's size-independent so it can be called twice on an update, one targetting the main lcd, the other targetting the remote? :)
14:12:26LinusNashridah: it's even worse than that
14:12:32austriancoderZagor: no.. but time will solve this problem
14:12:50ashridahLinusN: well, yeah, i imagine you'd need to abstract out the hardware manipulation too
14:13:02LinusNthe cursor position in the browser is also a problem
14:13:04Zagorashridah: we also need to have dual variables for things like position in menus and file browser etc.
14:13:10HClZagor: take a peek at the tagdatabase wiki?
14:13:11Zagorit hurts just thinking about it...
14:13:20HClat least i think that its at least somewhat more readable..
14:13:38*HCl actually partly understands the database now and knows what to add where :P
14:14:42Zagordoes "#" mean "record" or "number" in that text?
14:14:51austriancoderwill there alos be a wsp for the remote lcd?
14:15:21ashridahzagor: indeed. since you'd be inclined to reduce the amount of entries in a menu, instead of shrinking it, you need to build a bunch of menu/drawing type functions that automatically deal with it. joy :)
14:15:49Zagoraustriancoder: yes
14:16:19Zagorin fact that may be the simplest solution at first: only show wps on the remote, not navigation and menus
14:17:17austriancoderso we will have 2 wsp's. one for normal lcd and one for remote lcd?!
14:17:35ZagorHCl: "Offset to song #" is a bit confusing, but not outright wrong :-) it's not really an offset to the song number, of course.
14:17:39Zagoraustriancoder: yes
14:18:26HClZagor: i'm kind of referring to the number from earlier
14:18:30austriancoderZagor: ok.. will look in source to see, what must be done
14:18:37HClhow would i be able to express it in a better way?
14:19:02Zagori don't know. maybe "song x"?
14:19:07HCllol, okay
14:19:16HCl# meant as much as X to me, but i'll change it :)
14:19:25Zagornot much better, but at least the meta-confusion is a little less i think
14:19:56ZagorHCl: replace "#" with the word "number" and you see the confusion i'm thinking of
14:20:09HClyea, i guess..
14:20:19HCli'm just mostly worried that people will start seeing the X as something static
14:20:38Zagoryeah... did I say documentation is not my strongest skill? ;)
14:20:42HCl :P
14:20:47 Quit einhirn ("Miranda IM! Smaller, Faster, Easier.")
14:21:08HCli'll just remove the space before the # till we can think of something better
14:23:02HClwill we calculate the offset in the runtimedb or will we just add it in the song structure?
14:24:23Zagori think we should use your idea, using the record tagdb number as rundb record number. thus not storing it anywhere.
14:24:34HClcalculate then
14:25:29*HCl goes to do a little math to get the function to calculate an rundb offset from an tagdb offset
14:26:47HCl((number-(song table offset))/(12+songnamelength))*sizeof(rundbrecord)
14:27:01HClwhere number is the offset of the start of the current song, i think.
14:27:09HCli suck at math ;p
14:27:46 Join cYmen [0] (
14:28:06Zagorlooks good
14:28:17ashridahokay. latest set of checkins broke the build here :)
14:28:22HClwould we still need a flatfile?
14:28:24HClno, right?
14:28:42Zagoronly for unindexed files
14:28:48austriancoderhow my last commit's doesn't break anything
14:28:56Zagorbut I think we should start without that. start simple.
14:29:37*HCl nods
14:29:40ashridahaustriancoder: got a bunch of implicit declarations in settings.c and a few undeclared's in setting_menu.c
14:29:46ashridahsettings_menu.c even
14:30:21austriancoderwill fix it
14:31:09austriancoder#ifdef HAVE_REMOTE_LCD
14:31:10austriancoderstatic bool remote_contrast(void)
14:33:04austriancoderstrange... for me it compiles and works
14:33:42austriancoderfound mistake
14:36:15austriancoderfixed now
14:39:56HClZagor: check the RuntimeDatabase wiki
14:40:47austriancoderso.. with the current cvs you can set contrast of the remote lcd and you be able to invert the remote lcd
14:41:10ashridahheh. well. the backlight on the remote turns on.
14:41:15*HCl suddenly remembers he was making coffee. 3 hours ago.
14:41:46austriancodernext step will be to expand the plugin api with some remote lcd functions
14:44:48ZagorHCl: just curious, why is volume adjustment 2 bytes?
14:45:10 Join Querty_mob [0] (~Querty_mo@
14:45:58HClwell, partly silly, but different left and right adjustment :P
14:46:03HClfeel free to change it to 1 byte
14:46:17Querty_mobHi all
14:46:25HClmmm, thunderstorms
14:46:33Zagoralso, when do we determine that? at the end of the track?
14:47:14Querty_mobw00t irc on my mobile :-)
14:47:28HClZagor: its a user-adjustable per-song setting
14:47:58ZagorHCl: right, but how does it work for the user?
14:48:02HClsay you have a song, and you find out its actually playing way too soft or too loud compared with the rest
14:48:21HClduring playback, you'd be able to change that modifier, and have it saved for when you play it again
14:48:38 Quit lostlogic ("Going to the moon")
14:48:39Zagora function in the menu somewhere?
14:48:49HClsame with rating
14:50:21*Zagor goes to paint a wall
14:54:02 Join Shagnar [0] (
14:56:32austriancoderplugin api is uptodate
14:59:21austriancodercan somebody build a rockbox logo (132x65) ?
15:00:09Shagnarjust something? ^^
15:02:52HClhehe :P
15:03:01*HCl has no copy of the rockbox logo..
15:03:33Shagnarperhaps make a screen dumb? (dunno if that works?)
15:04:12HClaustriancoder: i think the archos version of the logo should fit.
15:04:18HClthe archos screen is 112x64 iirc
15:08:05austriancoderah fine
15:08:44austriancodercould you tell me, where to loge is stored?
15:10:12Shagnarlol. just found when searching for "rockbox" on ebay:
15:10:53 Join redcow [0] (
15:10:59HClaustriancoder: unfortunately, i have no clue :/
15:11:05HCl*somewhere* in the code :/
15:11:17HClits there somewhere though
15:12:10austriancoder+g+ ok.. i will go for logo hunting
15:13:00 Join rasher [0] (
15:13:03redcowhi, have a question, i tried out a new bootloader with 1.65EU firmware did everything like always but now i get only a "white" screen at the boot and no more actions, if i reset the unit or press the record button/remote button it boots the original 1.65 iriver firmware, some known bug ? should i go back?
15:14:36Shagnardunno this bug, but mod. 1.65 is not good at this point, on my H, some files couldn't be played anymore
15:14:36 Quit webguest58 ("CGI:IRC (EOF)")
15:14:51redcowk than i go back
15:15:15bobTHCyou can reflash with original firmware
15:15:18Shagnar1.63 works fine
15:15:45HClShagnar: did your md5sum match the wiki?
15:16:12redcowi had 1.63 since the begining but wanted to have the newest firmware ;)
15:16:24amiconnaustriancoder: firmware/drivers/lcd-recorder.c
15:16:31amiconnAh, wrong
15:16:32HCli heard ogg breaks when you try the bootloader with 1.65..
15:16:40Shagnar÷h yes, got it from someone of the river forum, extracted from a rar so i think this should have been ok. (many had this bug, see@h140thread)
15:17:11HClwell, you should still check md5sum
15:17:28amiconnaustriancoder: apps/recorder/icons.c
15:17:32Shagnari know.... but i don't have a tool for that yet... ^^
15:17:37Shagnar <= there
15:17:47austriancoderamiconn: merci
15:18:11LinusNor even from the horse's mouth:
15:21:33redcowargh with 1.63 firmware same error , wtf
15:21:50 Quit bobdbob (Read error: 110 (Connection timed out))
15:22:14redcowso it could only be a bad bootloader.bin
15:22:24redcowi build it from the todays cvs source
15:22:30HClthere's a working ihp_120.hex on my ftp that you can use..
15:22:43HClits on your own risk though.
15:22:44preglowi somewhat doubt the bootloader.bin is bad
15:22:48preglowit hasn't been changed in ages
15:22:50HCli don't guarantee that it'll blow up in your face
15:23:04HClpreglow: actually, linus said that he changed the library calls that it used, and its safer to use the one on the wiki
15:23:08HCl(as far as i know)
15:23:12redcowat least i can revive my unit with a reset =)
15:23:12HCl*looks at LinusN*
15:23:14Shagnarredcow perhaps try
15:23:38redcowye i do
15:23:42Shagnarno warranty ^^
15:23:50Shagnari used this one, and it works fine :)
15:24:12HClits the one that i used to flash my h140
15:24:20bobTHCit's alpha version be aware
15:24:39HClanything i compile for my iriver has to pass through my ftp, so it automatically winds up there :P
15:24:45LinusNredcow: are you insane????????????????
15:25:26LinusNFrom the iRiverBoot page: "Be careful! Do NOT attempt to build your own bootloader from CVS unless you know for sure what you're doing."
15:25:53preglownice advice
15:26:06preglowwe change the code semi-daily and almost never verify if the bootloader still works
15:26:17LinusNi wouldn't dare to try it myself
15:26:26preglowi haven't flashed my player in yonks
15:26:30LinusNexcept on my BDM-enabled player
15:26:40HClwell, redcow did, i guess he's lucky you added the cookie thing :P
15:26:47HClsince it seems to have saved his player
15:26:57LinusNgood thing i added it then
15:27:01redcowyeah the reset->boot original firmware saved my ass
15:27:15*LinusN updates the wiki page
15:27:19HClredcow: use the .hex on my ftp, and next time, be more careful :P
15:28:06redcowwell i saw a few 1.65 in the md5 reports list so i thought it works "normal"
15:28:18HClusing the bootloader on the wiki...
15:28:26HClnot built from cvs..
15:28:59*preglow prods bagder
15:29:12austriancoderrockbox logo on my remote lcd ;)
15:30:07austriancoderwill make a photo
15:30:08redcowthanks HCl rockbox is revived =)
15:30:29LinusNredcow: phew
15:30:53preglowanyone know what windres is called on a mingw cross compiler?
15:31:01rasherSame thing I did.. except I did it when it was still working
15:31:41preglowor what do you use to compile win32 stuff on your daily build box?
15:32:17rasherRemember my file-hash experiment? Well I got duplicates
15:32:26redcowLinusN: your safety bootloader functions rocks =)
15:32:29austriancoderohh.. my gentoo box cant handle my ir :(
15:32:30rasherBut they were real duplicates as well, that I didn't know I had :)
15:32:45*rasher saves some space
15:32:48preglowrasher: what hash function do you use?
15:33:00austriancoderphoto must wait.. will add logo start up of rockbox ;)
15:33:03amiconnBagder: I saw that you did some channel stats. I wonder which rank I've 'achieved'...
15:33:05rashermd5 of the first and last kb
15:33:17 Quit Querty_mob (Read error: 110 (Connection timed out))
15:33:25*rasher remembers he was told to try crc
15:33:45redcowthanks, later
15:33:46 Quit redcow ("quork!")
15:34:24rasherClose call :-\
15:34:58*LinusN removed the building instructions from IriverBoot
15:35:11preglowbut yes
15:35:12rasherYeah, I was thinking about doing that a few days ago
15:35:18preglowi'm thinking about this build tool of mine
15:35:38preglowshall i just commit it with no makefile? 'cause i have no idea have to build win32 programs with cross compilers
15:36:18rasherIt's too soon to release it... but if we wait much longer it just might end up being too late
15:36:22***Saving seen data "./dancer.seen"
15:36:32LinusNpreglow: it should be windres.exe
15:36:32rasherDamn curious users
15:36:37preglowi'm not talking about releasing it, i'm talking about silently putting it in cvs
15:36:42 Join Querty_mob [0] (~Querty_mo@
15:36:45rasherAh, alright :)
15:36:53preglowLinusN: eh? it's called windres.exe on unix boxes as well?
15:37:19LinusNthe mingw cross compiler should have windres as well
15:37:29preglowi thought it had some kind of prefix
15:37:35preglowlike the mingw gcc command will have
15:39:29preglowwhat about the unicode filenames issue? should i just build two exes, one for win98 and one for nt/2k/xp ?
15:40:09austriancodertry all the new remotelcd plugin
15:40:12LinusNthe what?
15:40:46austriancoderbutton up ->bacllight off, button down -> backlight one.. and it looks so nice :)
15:41:08LinusNaustriancoder: better look at firmware/backlight.c
15:41:13preglowLinusN: win98 and below only supports 8 bit filenames, nt and above supports unicode, the exe has to be compiled with different options for the two
15:41:17austriancoderif someone could make a photo of it?!
15:41:35austriancoderLinusN: its only for testing of the dirver.. i will change it later ;)
15:41:39 Join Aison [0] (
15:41:39LinusNpreglow: why would you want unicode in the first place?
15:41:51preglowLinusN: so one can access directories with unicode names?
15:42:01amiconnpreglow: Win95/98 also support unicode filenames. They just not support all of the unicode api function variants
15:42:22LinusNpreglow: i get it, it's for the file requester?
15:42:27preglowLinusN: indeed
15:42:32 Quit Querty_mob ("used WLIrc")
15:42:41preglowamiconn: i intermingle winapi and libc functions pretty much, it doesn't work as intended
15:42:52LinusNi'm not used to using gui tools for such simple tasks :-)
15:43:25preglowamiconn: if you use pure winapi file functions all the way, it should work fine even if it's not unicode aware, but i had to reuse a lot of code from mkboot.c and iriver.c
15:43:31preglowLinusN: i bet most people are :P
15:43:38preglowthe intended audience, at least
15:44:18LinusNi'm afraid so :-)
15:46:31austriancoderLinusN: shouldn't there be 2 backlight threads? one for normal lcd and one for remote lcd?!
15:46:47preglowwhy can't the same thread work with both?
15:46:59LinusNaustriancoder: should be enough with one thread imho
15:47:12austriancoderwill do it in one thread
15:47:22LinusNwe want to keep the number of threads as low as possible
15:47:23HCldo we have a picture yet?
15:47:24preglowagreed, i think adding one thread for each light source is a bit wasteful
15:48:21preglowLinusN: does the build box have xp64 a xp64 capable gcc yet? :P
15:48:31preglowremove one "have xp64"...
15:48:38Shagnarhm, did you notice that the remote makes a very high sound? (not loud, but i can hear it good)
15:48:59rasherShagnar: that's a defect in some remotes afaik
15:49:12Shagnarno clicking ;)
15:49:17Shagnarwith the original FW thats not
15:49:21rasherwhen you use the buttons?
15:49:22austriancoderhave somebody tried the new plugin? i am proud of it
15:49:47Shagnarit's a kind a "whistle"... very high frequency
15:49:53*HCl will checkout and try once he's back :)
15:49:56HClnice work :)
15:49:59rasheraustriancoder: very faint
15:50:41austriancoderbacklight support will be commited in about 10 sec ;)
15:50:52rasheroh here we go
15:51:32Shagnarsorry for asking, but do you have a link for the newest build? just d/l but no changes within the remote ... :-|
15:51:34rasherthe "default" remote contrast appears to be around 40
15:51:39rasherpossibly even 42
15:51:46austriancodercould be
15:51:51austriancoderit should be 32
15:51:54rashernow if only I had a camera
15:51:54austriancoderlets check it
15:52:34austriancoderit is set default to 32
15:52:56austriancoderlets integrate the logo into rockbox starting screen ;)
15:53:03rasheryeah I meant that the level where it looks "natural" seems to be around 42
15:53:18austriancoderso i will change default to 42
15:54:40rasherWhere would a picture of this go?
15:54:41preglowbut i'm out of here, alter
15:54:43preglowlater <-
15:54:51*rasher alters preglow
15:55:00preglowit tickles!
15:56:07austriancoderwhere is the call to show the startup-logo?
16:01:05austriancoderas i dont find where the startup logo is displayed, i will wirte some more lcd functions
16:01:29rasheraustriancoder: And what, pray tell is your name?
16:01:44rasher(writing on misticriver and wanting to credit)
16:01:58austriancoderChristian Gmeiner
16:02:12Bagderaustriancoder: apps/main_menu.c:show_logo()
16:02:27LinusNaustriancoder: you cheated in backlight.c :-)
16:02:45austriancoderBagder.. thanks
16:02:59austriancoderLinusN: it works.. ;)
16:03:02ashridahgod. you people have gotten more done in the past few days than in a few months ;)
16:03:14LinusNthe timers for the two backlights should be independent
16:03:30*Bagder agrees with LinusN
16:03:42rasherDidn't we agree on that already?
16:03:42LinusNthat requires a change in button.c as well
16:03:56rasheror was that Rick perhaps..
16:04:00amiconn..and the remote backlight should probably only react on remote buttons
16:04:13austriancoderLinusN: could you do this change?
16:04:16Bagderrasher: we did but the commits done didn't do it
16:04:18rasherOr possibly a setting to make it react on both?
16:04:22LinusNaustriancoder: sure
16:04:30rasherBagder: Ah.. right
16:04:47LinusNamiconn: that's what the change in button.c is supposed to do
16:05:24amiconnLikewise the main backlight should only react on main unit buttons, correct?
16:06:08rasherCould there be two settings for this? Link remote light to main buttons and link main light to remote buttons yes/no ?
16:06:10 Quit ashridah ("Leaving")
16:06:28*LinusN goes to debug a life support machine
16:06:29rasherBecause I can imagine hitting the remote to get light in the main lcd.. but not the opposite
16:06:50rasherbetter clear out *all* the bugs :)
16:07:50austriancoderrasher: sounds like a nice idea
16:07:52*Bagder runs away again
16:08:09rasherof course, that's in no way necessary
16:08:12rasherfor now at least
16:09:19elinenberemote is looking N-I-C-E!
16:11:49bobTHCit looking so nice that's look like a fake ;)
16:12:06austriancodertry it at your own.. its in cvs.. remotelcd plugin
16:12:16bobTHCi'm joking
16:12:59HCl :P
16:13:02bobTHCi'm sure is not a fake
16:14:59rasherBy the way Linus.. the battery tests were run with LCD on.. so battery life is not as short as you might fear
16:15:56*HCl would start on the runtime database, but guesses he'll have to wait till we can actually play songs
16:16:25ZagorHCl: we can play songs, on archos players and simulators
16:17:34amiconnaustriancoder: pls fix those 'no newline at end of file' warnings
16:18:12amiconnI guess this is caused by apps/plugins/SOURCES
16:18:19austriancoderoh.. yeah will do it
16:19:00amiconnGcc is sometimes picky
16:19:18*HCl has never used an archos simulator...
16:19:28austriancoderi need the rockbox112x37 in main_menu.c, but i only have the bigger one
16:19:39austriancoderwhat should i do knoe?
16:20:03amiconnSimply include it, depending on HAVE_REMOTE_LCD and the remote lcd sizes
16:20:07HCldoes anyone know whether its possible to lseek past a file, write, and have the file being increased in size
16:20:24HClsay you open an nonexisting file, lseek to a 2mb offset, write, would it become a 2mb file?
16:20:42austriancoderso i should make a new file for the logo?
16:21:57austriancoderthe porblem is the icons.h
16:22:36amiconnI'm a bit confused. Code says remote lcd is 132x65, devicechart says 134x65. Which one is correct?
16:23:08austriancoderthere is the rockbox112x37 defined, but i dont know whats the best way to include the logo
16:23:27austriancoderhmm.. code seems to be wrong
16:23:32 Join t0mas [0] (
16:24:04austriancoderi will change it...
16:24:40t0maslot of CVS activity today?
16:24:56amiconnrockbox112x37 is included conditionally: #if LCD_WIDTH == 112 || LCD_WIDTH == 128
16:25:12austriancoderbut iriver's my lcd is bigger
16:25:26rasherjust copy the bitmap into the plugin then :)
16:25:34amiconnJust extend this to #if LCD_WIDTH == 112 || LCD_WIDTH == 128 || (HAVE_REMOTE_LCD && REMOTE_LCD_WIDTH == 132) both icons.h and icons.c
16:26:06amiconnSo on iriver, both versions get included
16:26:16HClt0mas: remote lcd works
16:26:26t0masyeah, just read it :)
16:26:59amiconnThen you'll use rockbox112x37 for the remote lcd, and keep using rockbox160x53 for the main lcd
16:28:04austriancoderthats what i want
16:28:15amiconnFortunately we chose different names for both. What a wise foresight...
16:29:16austriancoderrecorder/icons.h:70:63: operator '&&' has no left operand
16:29:46amiconn#if LCD_WIDTH == 112 || LCD_WIDTH == 128 || (defined(HAVE_REMOTE_LCD) && REMOTE_LCD_WIDTH == 132)
16:31:24austriancodermain_menu.c: In function `show_logo':
16:31:24austriancodermain_menu.c:83: error: `rockbox112x37' undeclared (first use in this function)
16:32:32amiconnGrr, that's because I cannot read correctly. It's LCD_REMOTE_WIDTH, not REMOTE_LCD_WIDTH
16:32:41austriancoderoh yes
16:34:16austriancoderworks ;)
16:34:23austriancoderwill do a new commit
16:34:42t0mas20 mbit adsl
16:34:50t0mas40 euro's / month
16:35:07*t0mas says goodbye to 4 mbit slow connection :P
16:36:14amiconnHCl: For the runtime database's 'recently played' feature, you don't need to store the passed time. Just count the songs which are played, and store the highest song number across reboots
16:36:24austriancoderi will make now a break
16:36:37austriancoderthe last hours i got much of the remote lcd to work
16:36:44LinusNaustriancoder: commit first
16:36:53Shagnargood work :) @ austriancoder
16:36:58austriancoderi have done it.. some seconds before
16:37:22austriancodernow you only need to improve my work, because they could be some dirty hacks ;)
16:37:35austriancoderrockbox logo is now shown on startup
16:37:54austriancodernext thing will be wsp for the remote i think
16:39:01bobTHCmaking the remote working as a joypad for 2 players games ;) [i'm kidding]
16:39:13elinenbebobTHC: nice idea..
16:39:18elinenbefor games like "battleship"
16:39:23elinenbeor chess :-)
16:39:30austriancoderyeah.. only need some work on the button driver
16:39:36LinusNaustriancoder: can you write text?
16:40:06austriancoderat the moment not
16:40:16austriancoderi can only draw bitmaps
16:40:24austriancoderbut this is not a hard work to code
16:40:25LinusNthen text is not far away
16:40:31LinusNgotta go, cu guys
16:40:42austriancodertonight... text on remote ;)
16:40:46 Part LinusN
16:40:47austriancodersee you
16:40:49amiconnI should really start with my graphics api overhaul...
16:40:50 Quit austriancoder ("using sirc version 2.211+KSIRC/1.3.11")
16:50:29elinenbeamiconn: go for it!
16:50:53elinenbeamiconn: I think everything needs grayscale and anti-aliasing capabilities... nice fonts... etc.
16:54:36amiconnIt's mainly about improving/unifying the api. See #if LCD_WIDTH == 112 || LCD_WIDTH == 128 || (HAVE_REMOTE_LCD && REMOTE_LCD_WIDTH == 132)
16:57:43amiconnI also have some ideas for speedups, both for b&w (archos, iriver remote) and greyscale (iriver main lcd)
16:58:03amiconnToo bad I still didn't receive my iriver :(
16:59:09Shagnarwhich one did you order?
17:00:52bobTHCthey have more room for hd replacement, it's a good choice ;)
17:01:58bobTHCu can already swap hd for a 60gig one
17:02:40Shagnar<= still waiting for the 80GB hdd :o)
17:02:57amiconnShagnar: I already have an 80 GB mp3 player :)
17:03:23amiconnYes, archos
17:03:31*HCl isn't gonna replace till he manages to fill 40gb...
17:03:50HClhalf of my iriver's storage is used by disney movies at the moment
17:04:00amiconn20 GB were too tight, so I had to decide whether to upgrade to 40 or 80 GB.
17:04:02HCland i can still fit my entire music collection next to it
17:04:30amiconnThis was before the iriver port was even started
17:05:06Shagnarwell... my music collection 's 80 GB ...^^
17:08:03HClcan someone point me where to look if i needed the code that gets executed at the (near) end of a song?
17:08:06Shagnarbut of course, i don't think its necessary to have the whole 80gb all the time with me... but, a bigger HDD is also nice e.g. for transfering movies/pictures in the holidays
17:13:23 Join belgarath [0] (
17:14:20dwihnoGreat work with the remote LCD!
17:14:25dwihnoI salute thee!
17:18:07HClrasher / Zagor: can you remind me why we split the tag and runtime db at all since they're rather intertwined at the moment anyways?
17:19:19 Join Sucka [0] (
17:20:34HClalso, why do we have an artist relation in the song structure when it can be deduced from the album?
17:27:56Shagnarperhaps because of albums with various artists ?!
17:33:35 Quit belgarath ("CGI:IRC")
17:33:39 Join belgarath [0] (
17:36:26***Saving seen data "./dancer.seen"
17:44:32 Join LinusN [0] (
17:45:04LinusNwe split the runtime and tag db because we want the tag db to be static
17:45:23amiconn36g *ee2er ;
17:45:34amiconnErm, log peeker ;)
17:45:40amiconnDamn numlock
17:46:03LinusNthere is a song->artist relation because we only want one relation table loaded in memory at a time
17:46:52LinusNdman, my recorder died...
17:47:10LinusNhard drive totally dead
17:47:19LinusNguess it's the power supply
17:47:29LinusNbetter heat up my soldering iron
17:47:31 Part LinusN
17:49:16 Join cYmen_ [0] (
17:49:30 Quit cYmen (Read error: 104 (Connection reset by peer))
18:03:39 Quit belgarath ("CGI:IRC (EOF)")
18:06:14 Join Tulkar[] [0] (
18:06:38Tulkar[]Hi there ^^
18:07:41Tulkar[]is there any dev here ? ^^
18:09:22 Quit tvelocity ("Leaving")
18:09:24Tulkar[]I just wanna know if it is possible to port the rockboy plugin to the AV300 series & how hard it is ^^
18:09:53HCldo we even support the av300 series?
18:10:08bobTHCno :(
18:10:53HClwell, unless it comes close to 120mhz and has a suitable screen, i doubt it'll run anywhere near as nice as it runs on the iriver, and even that isn't at full speed yet
18:11:32Tulkar[]I think that the AV has got a 100mhz one whith a 320x240 screen
18:11:39amiconnI think the av units are more powerful the the sh1 based jukeboxes, because they play video
18:11:45amiconn*than the
18:12:15Tulkar[]yes they are ^^
18:12:24bobTHCyes but rockboy works with coldfire and not on sh1
18:12:50bobTHCor verrrrrrry badly with sh1
18:12:57bobTHCi dunno
18:13:15HClif you manage to get the cpu, you might even be able to run gba on it.
18:13:22HClbut i doubt 100mhz is fast enough for that.
18:14:19amiconnbobTHC: Imho it's only a question of cpu clock. Of course a 11 MHz SH1 runs slower than a 120 MHz coldfire...
18:14:39 Join Stryke` [0] (
18:14:50bobTHCtotally agree, and of optimization too
18:14:58amiconnTulkar[]: Anyway, making rockboy run on the AV units would require a rockbox port first.
18:15:19Tulkar[]the GBA has got an ARM processor so we "only" need to emulate the display function ^^
18:15:46amiconnrockboy emulates gb/gbc, not gba
18:16:03Tulkar[]yes I know ^^
18:16:41Tulkar[]but it should be possible to run a gb emulator
18:17:39amiconnEven if gba and emulator use the same cpu, emulation isn't as simple as just emulating i/o, at least as long as there is no mmu and a way to catch privileged instructions
18:18:01Tulkar[]of course ^^
18:18:08HCljust look at the slowness of vmware on x86
18:18:17 Join Psy^DeadWeight [0] (
18:18:30Psy^DeadWeightanyone here?
18:18:47Psy^DeadWeighti have an extremely minor feature request :)
18:18:52bobTHCjust 50
18:19:23 Join belgarath [0] (
18:19:26Psy^DeadWeightfor the iriver remote, if any buttons are held down at startup (except the one that turns it on) make it disabled
18:19:35Psy^DeadWeightmy remote has buggered up levers
18:19:45amiconnHCl: VMware on x86 isn't that slow, because it does exactly what I described. It only catches privileged instructions, and runs user space code 1:1
18:20:47amiconnI/O is relatively slow, but cpu intensive stuff runs at almost the same speed as it would on the host
18:20:55Psy^DeadWeightanyone interested in my request? can't be that hard to do... :)
18:22:07 Quit belgarath (Client Quit)
18:23:17HCleh, you'd have to add a check everywhere where we check remote buttons...
18:24:59 Join DMJC [0] (
18:26:55Psy^DeadWeightwhat about a play/pause/stop/volume only remote mode?
18:27:11Psy^DeadWeightwith volume as an option on any lever?
18:27:20Psy^DeadWeight2 of my levers are fsked IIRC
18:27:27Psy^DeadWeightmaybe just the volume one...
18:27:33Psy^DeadWeightits annoying anyway
18:28:03HClsame thing, i guess. i guess you could change the button_status() function..
18:31:02amiconnPsy^DeadWeight: There's a hardware limitation that makes it impossible to read more than one button at once. So if one button is stuck, there's no way to read the others. There are 2 exceptions to this rule iirc: (1) the ON button, (2) the HOLD switch
18:31:18HClcan anyone point me to the code that gets executed when you play a song / when you (almost) finish playing a song
18:31:57 Nick Tulkar[] is now known as Tulkar[AFK] (
18:32:18 Join Kafka [0] (
18:32:53bobTHCbye all!
18:32:57 Part bobTHC
18:33:35 Join Bippy [0] (
18:33:48BippyLots of CVS activity going on today
18:34:05HClremote lcd working..
18:34:19BippyHow about MP3 or Radio :D
18:34:30Bippyoh well, i can dream
18:34:43HCli'm curious to radio as well, cause as far as i understand, it'll be possible to record from radio at least in hardware
18:34:56Kafkahow bout bi-directional languages?
18:35:09HClbi-directional languages?
18:35:11BippyJust get radio before you start any fancy thingi mi bobs
18:35:24Kafkalike hebrew and arabic
18:35:30BippyOnce it has radio ill never use iriver again
18:35:31Kafkathat go from right to left
18:35:34HClwell, i'm wanting to take a look at on the fly playlist generation first...
18:35:46BippyOTF is already in there...
18:36:28HClwell, i admit i haven't looked at it, but i know the current tag database is no way in heck gonna support what i want.
18:36:29Kafkawhere i can i get coldfire's assembly?
18:36:32BippyWould be nice if you could remove songs from the playlist, or whole directorys
18:36:42HClKafka: you mean instruction set description or what?
18:36:54Shagnari think the biggest problem for gba on iriver is the resolution of the display?!
18:37:06HClShagnar: lol, consider cpu speed first.
18:37:07BippyThere also seem to be a bug with OTF if i add a DIR some times it adds it twice
18:37:13HClconsidering that at 120 mhz
18:37:21HClwe can barely emulate a 4mhz machie
18:37:57Kafkathe lag on this java client...
18:39:12amiconnBippy: You already can remove songs from a playlist
18:41:40Shagnarhmm kk, didn't think about that ;o)
18:42:31 Quit Kafka ("CGI:IRC")
18:44:09 Nick Lynx_ is now known as Lynx_awy (HydraIRC@
18:46:39elinenbeHCl: speed up that emulation!
18:46:49HClelinenbe: gonna look at runtime stats first
18:47:09 Join Kafka [0] (~meh@
18:51:00HClif i could find the spot where it actually plays mp3s
18:51:02HCl ;/
18:51:54Bippyhow amiconn
18:55:27amiconnPlaylist Options->View Current Playlist. In the playlist viewer, long-press play (select on iriver) to get the context menu. It offers 'Remove', 'Move' and 'File Options'
18:57:54amiconnYou can also edit a saved playlist.
18:58:06 Part Psy^DeadWeight
18:58:32amiconnLong-press play (select on iriver) while on the .m3u, then select playlist->view. Proceed as above
19:01:51BippyOk nice one
19:05:46 Quit Kafka (Read error: 131 (Connection reset by peer))
19:06:09ShagnarHCl is the clock of the cpu really set higher if i choose that option in the dev. menu?
19:11:41 Quit Bippy ("CGI:IRC (EOF)")
19:19:38HClShagnar: which option?
19:21:37ShagnarCPU clock - (0) 49'xxx'xxx or (1) 115'xxx
19:21:48HCloh. yes, it gets set higher.
19:22:06HCli think you can notice it when decoding mp3 and stuff like that.
19:22:22Shagnarbut its not dangerous
19:22:26Shagnarfor the cpu ?
19:22:32HClrockboy runs at 120mhz
19:22:36HClthe cpu is still underclocked
19:22:39HClthe cpu is 140mhz max
19:22:40Shagnarfine ^^ but it doenst affect rockboy... ah ok ^^
19:22:49HClrockboy already runs at 120mhz
19:22:57Shagnarso its to save battery?
19:24:23HCl120mhz is the max we can run it at
19:24:25HClwithout overheating
19:24:32HClthe iriver firmware doesn't go higher than 96mhz
19:25:33t0masyou reversed it? :)
19:26:03t0masiriver firmware
19:26:08t0masto know that speed :)
19:26:11Shagnarhehe thats nice. btw, wave => ogg and stuff like that would be nice, too ;)
19:26:34HClt0mas: oh, i think linus has.
19:26:41t0masah ok
19:27:51Shagnarreversed means? de-compilet?
19:28:42t0massort off
19:28:51t0masbut afaik not to normal C code...
19:29:26Shagnarwell of curse not, i think thats impossible ^^
19:33:47 Join stevenm [0] (
19:36:27***Saving seen data "./dancer.seen"
19:36:41 Join belgarath [0] (
19:38:24 Quit belgarath (Client Quit)
19:43:13*HCl grins.
19:43:58*Shagnar laughs out loud...^^
19:50:57stevenmWow is that real ?
19:53:57t0masthe picture?
19:54:06t0masnot sure... think so...
19:54:38stevenmwhat exactly are they referring to ?
19:56:07t0masMicro$oft always copying their new ideas?
19:59:30 Nick Tulkar[AFK] is now known as Tulkar[] (
20:02:20stevenmAh, makes sense
20:02:39stevenmWhat is the meaning of the hex numbers in viewers.config ?
20:02:47stevenmis that an icon or something ?
20:03:02amiconnyes, it's the icon
20:03:07stevenmamiconn, ah thanks
20:03:50stevenmamiconn, any tools on how to generate it, other than pen and paper?
20:05:12amiconnI did the .gb / .gbc icons with a pen-and-paper-like method, but the format is the same as the rockbox internal bitmaps
20:05:57amiconnSo it should be possible to convert a 6x8 pixel, 1 bit .bmp with bmp2rb, then take just the 6 hex numbers
20:10:50stevenmviewers.cpnfig applies to /.rockbox/plugins right ?
20:12:07stevenmor is it somewhere else
20:14:12stevenmah ok
20:15:12amiconnjust /.rockbox
20:16:07stevenmah, thanks
20:16:17amiconnBagder: Your new cvsmod script seems to have a bug. Sometimes it displays the very same change for 2 subsequent compile runs.
20:16:42amiconnCompare and
20:16:54amiconnBoth list the 'no newline fix'
20:25:00 Join lolo-laptop [0] (~lostlogic@
20:26:16elinenbeHCl: if you run rockboy at 140mhz does it run 100% realitime?
21:01:25 Join asdsd_ [0] (
21:03:00 Part asdsd_
21:10:11 Join Fer [0] (
21:13:05 Part Fer
21:14:18 Join belgarath [0] (
21:17:01 Quit belgarath (Client Quit)
21:20:08 Quit stevenm (Read error: 110 (Connection timed out))
21:21:39HClelinenbe: you can't run at 140mhz cause the cpu crashes.
21:24:07 Join stevenm [0] (
21:31:10stevenmhello people
21:31:40HClhows midi
21:32:15stevenmHCl, it's coming along. I got it working so that you can select a file and it will play
21:32:18preglowdid you ever make that mod2wav, hcl?
21:32:50stevenmNow moving the configs to a better place and adding some error checks
21:35:55HClpreglow: no, i got a bit stumped by floats in the dumbout.c
21:36:06Rickhey guys
21:36:13RickI see AC worked on the remote a lot
21:36:29preglowhave you checked if m68k-gcc makes code for floats?
21:36:30***Saving seen data "./dancer.seen"
21:36:44HClno. but it probably does, otherwise it probably wouldn't have compiled
21:37:05HCl(the library)
21:37:26preglowdon't be sure, it might be using fpu instructions
21:37:43preglowbut indeed, why are you stumped about these floats?
21:38:07HClcause i need to convert them to integers before it'll work?
21:38:10HClat least, thats what i assumed
21:38:20preglowif a routine takes a float, then it takes a float
21:38:29preglowdon't care if it actually uses a fpu to do the calculations
21:38:39preglowafter i've massaged it into submission, then it'll take ints
21:39:00HClin that case, we're mostly missing some floor() pow() and log() functions, i thik
21:39:18preglowwell, that's true
21:39:33preglowbut the math lib gcc uses might have those
21:39:37stevenmHey guys.. is there any way to bail out of a plugin other than returning -1 to the very first function ?
21:39:39preglowbut you'll need to specify -lm
21:40:12HCli have to go in 10 min anyways.
21:40:19Rickstevenm: properly design your plugin to handle errors from functions
21:45:01stevenmRick, yea, I'm trying to make everything return -1 on error, etc.. just wondering if there's a better way
21:47:18preglowHCl: gcc does indeed emulate them
21:47:55preglowso everything should work fine and dandy, just slow as hell
21:51:19Rickcvs lcd.h is broken
21:59:54Ricknice logo
22:07:48stevenmdoes anyone mind if I commit viewers.config?
22:08:12stevenmand some midi code too
22:11:26preglowcommit away
22:11:37preglowas long as it doesn't break anything, just toss it in
22:12:10stevenmpreglow, just to make sure.. I checked out the latest rockbox-devel this morning.. It will only comit the files I changed, right ?
22:12:22preglowwell, check the list
22:12:32preglowit should give you a list when you commit
22:12:33stevenmhmmm ?
22:12:39preglowover files that are about to be commited
22:12:47preglowhave you tested it on the target yet, btw?
22:13:01stevenmpreglow, yea. rasher was running it last night
22:13:32 Quit thegeek (Read error: 131 (Connection reset by peer))
22:13:33preglowit produced sound?
22:13:34stevenmwe got the memory allocation thing fisxed.. it started working on the target, writing to HD, etc. then it ran out of battery
22:13:58stevenmpreglow, it was supposed to write to a .raw file (haven't done the xxx2wav thing yet, getting build errors)
22:14:15stevenmit was writing to SOMETHING but then rasher had to go before he could let it finish and check it
22:14:23stevenmpreglow, you feel like testing it ?
22:15:47preglownot now
22:15:57stevenmah ok
22:16:07preglowdoing some other coding that urgently needs doing
22:16:17stevenmwith the cvs command, is there a way to see what it is going to commit before it actually does it?
22:16:29stevenmWhen Linus showed me, it just did it all in one go
22:17:23preglowwhenever i do a 'cvs commit', i'm asked to write a log message
22:17:27preglowin that message, there is a list of files
22:17:46preglowif you want to know the actual changes, do a 'cvs diff'
22:18:28stevenmoh ok
22:19:47 Join asdsd__ [0] (
22:19:48 Join El_Gringo [0] (
22:20:02 Quit El_Gringo (Client Quit)
22:21:59 Join El_Gringo [0] (
22:22:05El_GringoHello everybody
22:22:59 Join thegeek [0] (
22:26:10 Join xen` [0] (
22:28:22t0maslittle makefile question...
22:28:24t0masirctest : main.cpp irc.o ircclass.h
22:28:24t0mas${CC} -o irctest main.cpp irc.o ${LIBS}
22:28:24t0masirc.o : ircclass.cpp ircclass.h socket.o socket.h
22:28:24DBUGEnqueued KICK t0mas
22:28:24t0mas${CC} -c -o irc.0 ircclass.cpp ${LIBS}
22:28:50t0masis that ircclass.h needed in the first target line?
22:29:06t0masor is it ok to leave that out, because it's on the second line?
22:31:37 Quit El_Gringo ("Chatzilla 0.9.67 [Firefox 1.0.2/20050318]")
22:37:22 Quit xen` (Read error: 60 (Operation timed out))
22:47:03preglowwell, yes, irctest depends on irc.o, and irc.o depends on ircclass.h
22:47:08preglowso it doesn't matter
22:58:04Bagderred build I see
22:59:39HClBagder: i think the recent cvs activity broke.
23:00:03Bagdermidi/guspat.c:100: undefined reference to `snprintf'
23:00:51HClit broke because we have a red one?
23:01:05HClthats not very practical, then you can't see what broke it :/
23:01:07Bagderoh, how do you mean broke?
23:01:19HClcheck the main page..
23:01:28HClRecent CVS activity [-s style] [-h html] [-n numberoftablelines]
23:01:32HClPage was last modified "Feb 16 2005" The Rockbox Crew
23:01:41HCli have.
23:01:47HClits not changing
23:01:52Bagderno, I meant I realoded now
23:02:55BagderI'm fiddling with the script atm
23:06:33preglowstevenm: you really need to test build for the device before you commit
23:07:18Bagderand you need to check the source formatting we use
23:10:12Bagderguspat.c is just plain... wrong
23:10:39HClmaybe its an idea to automatically run astyle over committed source?
23:10:58HClwhy not?
23:11:05Bagderit kills good versioning of the source
23:11:20HClhmm... i'm not 100% sure, but you might be right.
23:11:23HClit would the first time
23:11:27CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
23:11:27*rasher just slept for 7 hours
23:11:29HClbut after that, it might work?
23:11:31HCli dunno
23:11:36rashernow that'll work wonder for my sleeping patterns
23:12:07BagderHCl: doing things on files on commit just usually strikes back in your face
23:12:15Bagdersooner or later
23:12:19preglowugh, no
23:12:23HClastyle is pretty safe for me so far
23:12:24preglowno automatic formating, please
23:12:28Bagderit would be better to reject the commit
23:12:31HClwhat about..
23:12:37HCladding an astyle command on the wiki
23:12:40HClto format it correctly
23:12:45HClthat people can use personally
23:12:47HClwhen they commit new files
23:12:49Bagderthat would be useful
23:13:07preglowbut please no forcing, as long as it's sane, i think it should be allowed
23:16:18rasherHow tragic.. red build :(
23:17:23*Bagder steps forward
23:17:33*Bagder steps back again
23:20:47preglowalmost ninja-like, this is
23:22:40preglowbeer time
23:33:26amiconnAh, good
23:33:37 Quit Harpy (Read error: 60 (Operation timed out))
23:33:58*amiconn just checked whether the windows installer installs rockboy.ovl for the archos recorders. It does :)
23:34:18amiconnShould have done this waaay earlier though...
23:34:44 Join LinusN [0] (
23:35:55Bagderevening LinusN
23:36:31***Saving seen data "./dancer.seen"
23:40:30 Join Strath [0] (
23:46:19*LinusN sees a really nasty problem with ata_sleep()
23:46:28thegeekogg problems with 1.65+rbx
23:46:43Bagderthegeek: its mentioned on the iriverboot wiki page
23:46:46 Quit lolo-laptop ("Client exiting")
23:46:55thegeekoh well
23:49:09preglowLinusN: really nasty?
23:49:41LinusNif the hard drive goes to sleep at the same time the dma playback starts, the cpu core freezes
23:50:18preglowthat qualifies
23:50:57LinusNthere is a bug in ata_sleep() but i didn't think it would manifest itself like this
23:51:16LinusNpreglow: you can try it yourself
23:51:30LinusNset the disk spindown to 3s
23:51:50LinusNthen run the audio playback test on a long (>8mb) file
23:51:55LinusNin 48MHz
23:52:22LinusNmake sure you have a reset pin
23:52:25preglowwell, that does explain why i've had it lock up several times
23:54:02LinusNi just wish i knew what happens
23:54:34 Quit StrathAFK (Read error: 110 (Connection timed out))
23:55:45preglowwhat's with the drive going to sleep that conflicts with dma?
23:55:55preglowi can't think of anything obvious
23:57:26LinusNme neither
23:57:46LinusNexcept that the ata bus is tri-stated
23:58:20preglowwell, i can't see why that should matter either

Previous day | Next day