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

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

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

#rockbox log for 2005-04-16

00:01:02preglowcan you freeze the core externally?
00:01:20LinusNyes and no
00:01:24preglowby external means, more like
00:01:30rasherRight.. I'll try and sleep some more.. goodnight
00:01:36preglowrasher: more?
00:01:36 Quit rasher ("CGI:IRC 0.5.4 (2004/01/29)")
00:01:42LinusNi don't think you can freeze the iriver
00:02:07preglowwell, what ways of freezing the core is there? does halting it count?
00:03:14 Join XShocK [0] (
00:03:19LinusNthe key is the TA signal
00:03:28LinusNTransfer Acknowledge
00:04:11LinusNif you set up the Chip Select controller to terminate accesses with TA, the CPU will wait for TA forever
00:05:33stevenmHey guys, I grabbed cvs again, and it suddenly refuses building midi2wav.c. It's in SOURCES but it's as if it ignores the source file completely
00:06:32Bagderstevenm: you had a compiler error
00:06:35XShocKпривет, stevenm
00:06:36preglowLinusN: like that is the problem here, or that's the way to hang it externally?
00:06:39XShocKhi all :)
00:06:46LinusNpreglow: a way to hang it
00:06:56stevenmBagder, yes, someone fixed that, now I went back to fix it and saw it was already fixed. Tried rebuilding, and it just ignores it
00:07:47Bagderstevenm: the dependencies of single rocks aren't the best
00:08:05stevenmBagder, what do you mean?
00:08:15LinusNmidi2wav.c builds fine here
00:08:22preglowstevenm: you haven't set up the deps well yet, i'd wager
00:08:23LinusNstevenm: make clean
00:08:28Bagderstevenm: midi2wav.rock doesn't get rebuilt when you modify code in midi/
00:08:34preglowstevenm: you need to have all plugins depend on the midi codec
00:08:56stevenmAh, that would explain SOME of the weirdness
00:08:58preglowthat's the way it's done for the rest of the xxx2wav guys
00:09:21stevenmmidi2wav.c has all the stuff in /midi #included so it is as if it is one huge c file.
00:09:29stevenmpreglow, how do I make it depend ?
00:09:53RickHiya LinusN
00:09:53stevenmI tried removing everything, then checking out everything again, then making a new build directory and building. It just skips right over that file
00:10:24preglowahaha, included
00:10:27preglowelegant :)
00:10:34preglowwell, i have no idea
00:10:54LinusNRick: hi
00:11:18Bagderstevenm: you simply do not include C files
00:11:22HClstevenm: you should probably move the midi stuff into a midi codec directory?
00:11:28Bagderthat is badness
00:11:48HClpreglow: can i link libdumb with -m to make floats work?
00:11:58HClif so, i'll be able to work on mod2wav
00:12:53LinusNfirst one guy #includes .c files, and now you want floats
00:12:57LinusNam i in hell?
00:13:00preglowHCl: try
00:13:01stevenmpreglow, how do you set up deps, other than putting it in the MASNONE section of SOURCES ?
00:13:17Bagderstevenm: there is no deps in SOURCES
00:13:22Bagderdeps are in the makefiles
00:13:41stevenmBagder, ah.... so what would I do?
00:13:44Bagderif you mean build dependencies
00:13:47preglowLinusN: don't worry, it's temporary, just so i can verify that stuff works when i int-ify it
00:13:57Bagderstevenm: to make what happen?
00:14:18stevenmBagder, I want it to build midi2wav.c with the rest of the iriver plugins
00:14:25Bagderit does for me
00:14:30preglowor when HCl int-ifyes it :)
00:14:30LinusNfloating point should work without -m
00:14:37stevenmBagder, really? This is strange
00:14:38preglowLinusN: yeah, but it uses log, floor, etc
00:14:59LinusNwe don't have a math library
00:15:01preglowi don't even know if it'll work
00:15:40Bagderstevenm: all files in the plugins dir build exactly the same
00:15:45preglowi don't even know of libm supports emulated floating point
00:15:53Bagderstevenm: there's nothing special with midi2wav.c
00:16:10stevenmBagder, that's what I figured.. I mean, putting it in SOURCES worked before..
00:16:31Bagderstevenm: it still does, it seems you have something odd in your end
00:16:43stevenmBagder, but now it just suddenly glosses over that one file. It is probably something on my end then
00:17:51 Quit stevenm ("Leaving")
00:18:30LinusNpreglow: we don't have libm
00:18:46preglowi thought that was a gcc thing
00:19:05preglowthen we'll need some other plan
00:19:38preglowHCl: how about learning yourself fixed point math? :)
00:20:28 Join stevenm [0] (
00:22:36 Join einhirn [0] (
00:22:59HClno thanks :)
00:23:02*t0mas points HCl at this one:
00:23:16stevenmOookay there it goes
00:23:51stevenmthat was some starnge PC voodoo
00:24:10HClokay, that doesn't look too hard
00:24:15preglowit really is quite simple and useful, and frees me from having to do it :)
00:24:16HClcan't say i understand it though.
00:24:48t0masmaybe I can try to help you?
00:24:49HCllower 8 bits are behind the point?
00:24:59HCland they're simply stored in normal int format?
00:25:09HClwell, i mean.
00:25:15HClthe lower 8 bits go from 1-255
00:25:23HCl255 being .FF
00:25:51HClpreglow: yea, sorry.
00:25:55HClokay, just wondering
00:26:06HCli was taught a different fixed point format in class, i think, but that was a while ago
00:26:30preglowyou use as many fractional bits as you need
00:26:38preglowin the case of the emac unit, you use all bits as fractional bits
00:26:40HCli don't quite understand how shifting is gonna trash them compared to *256
00:26:48 Quit thegeek (Read error: 54 (Connection reset by peer))
00:26:55HClohh. right.
00:26:59HClthey were talking about floats.
00:27:03HClok nm
00:27:11HCleasy as 3.141...
00:27:12t0masafaik you just can't shift a float?
00:27:21HClsure, i can do that.
00:27:28HClbut not today
00:27:30HCland not tomorrow.
00:27:45HClcause i need sleep, and i have a mini anime convention tomorrow
00:28:35amiconnfixed point itself is rather trivial, the harder part will likely be the implementation of functions like pow() etc
00:28:57*t0mas is going to sleep too :)
00:29:04amiconnIn fact, fixed point math is already used in quite a number of places in rockbox
00:29:06preglowamiconn: indeed
00:29:10amiconnnite t0mas
00:29:14preglowlookup tables...
00:29:21 Quit t0mas ("bye")
00:29:47stevenmamiconn, isn't there some sort of taylor series for pow ?
00:30:32preglownot for the general case, i think
00:30:45preglowyou can make taylor series for well nigh everything, though
00:30:55amiconnExamples for fixed point in rockbox: mandelbrot.rock, cube.rock, the stereo width stuff for the mas...
00:31:31preglowbut yeah, taylor series will of course be used wherever they can
00:31:53amiconnStereo width for mas uses the internal mas format which just happens to be a fixed point format as well
00:32:03preglownot very surprising
00:32:23preglowvery few float dsps around
00:32:26amiconn1 bit sign, 19 bit fraction
00:32:45preglowone of the two formats of the coldfire is 1 bit sign, 31 bits fraction
00:33:16preglowof course, you can use whatever you like, but that's what it'll be treated like
00:33:55amiconncube.rock uses a somewhat more cpu intensive way as it does not bit-shift, but divide by a power of 10 (10000 iirc)
00:34:53preglowahh, non power of two fixed point?
00:35:02amiconnI'll most likely change that if I ever get around implementing my idea of a double buffered greyscale library and backport greyscale cube from ipodlinux
00:35:08preglowcan't see the point of doing that
00:35:46amiconnMe neither, but that is how it is implemented
00:35:51preglowyou can make a grayscale cube for iriver already :)
00:35:51 Join DjMnG [0] (
00:36:09preglowthat is, after your h140 wins the prize for slowest shipping of the century and actually arrives
00:36:15*HCl tries to remember the matrix multiplication implementation of the pow() function
00:36:16amiconnbleh :(
00:37:05DjMnGcould anyone send me a compiled bootloader/firmware?
00:38:54HClthere's one on my ftp..
00:38:59*HCl goes to sleep, night.
00:39:12DjMnGwheres your ftp located?
00:39:54amiconnpreglow: I'm already waiting longer for my iriver than it took us ([IDC]Dragon and me, that is) to get the initial rockbox port on Ondio up & running :(
00:41:11preglowamiconn: yes, indeed, and this is shipped within germany?
00:41:44amiconnThe shop promised to ship in less than 14 days and send a message when it will take longer
00:41:59LinusNi bet you won't get it at all
00:42:10LinusNsince they were out of stock
00:42:12amiconnI neither received a message nor the iriver up to now
00:42:29LinusNiriver won't send them any, since they aren't produced anymore
00:42:43 Join starmanager [0] (
00:43:37 Join ashridah [0] (
00:43:54starmanagerI am looking for some help with my JBR
00:44:07preglowwith your what?
00:44:14amiconnjukebox recorder
00:44:25starmanagerI got the rockbox on it and it works really nice
00:44:26*preglow lets the big boys handle it
00:44:46stevenmyou seem to have come to the right place
00:44:52amiconnbah, is flaky atm :(
00:45:18starmanagerNow I am using it in my car with talking menus and remote from my VW radio
00:45:37 Nick stevenm is now known as stevenm|food (
00:45:45micodoes anybody know a community for the gimini 400 except
00:46:06starmanagerI got the talking menus running, but only with the 8bit languages
00:46:45starmanagerhow can I change it to my 16bit languages? I got ATT languages with nice voices
00:47:36Bagderstarmanager: you don't do that easily
00:47:48Bagderrockbox uses 8bit chars internally
00:48:04amiconnBagder: I think he's talking about sample width
00:48:18*Bagder shuts up
00:48:22starmanagerNo I mean the language file on my PC with the script for making the file names
00:48:57starmanagerAmiconn: Yes you are right
00:49:02starmanagerAny Ideas?
00:49:05amiconnstarmanager: There are voice files built from AT&T voices in the wiki.
00:49:17amiconnThese are built with the 16 bit versions
00:49:49amiconnThere's a howto as well, in case you want to build voice files yourself
00:50:35amiconnIt shouldn't matter whether you use the 8 or 16 bit voices for them, they should work with any SAPI compatible voice
00:50:57 Join lostlogic [0] (
00:51:02starmanagerRight. But what do I need to change in the script?
00:51:23starmanagerIt is made for 8 bit and english
00:51:34amiconnPre-built voice files
00:51:47starmanagerthank you
00:52:15amiconnMaybe you want to choose the voice for the file/dirname clips as well
00:52:38amiconnIirc, the script for generating these does not select the voice from within the script
00:52:55amiconnYou have 2 options:
00:53:01starmanagerwho does it?
00:53:48amiconn(1) Change the script to select the voice as well. You could use the MakeVoices.vbs script as a reference how to do that
00:54:26amiconn(2) Simple way: select the desired voice in the control panel prior to running the script
00:54:50starmanagerOk but how? I am a little confused with the options for the script
00:57:15 Part LinusN
01:00:01 Join thegeek [0] (
01:04:08Shagnarjust right-clicked on a midi file, now it's frozen (first wrote something like "can't be played", then "loading patches" and now frozen
01:04:38 Part starmanager
01:06:14Shagnar(just thought this could interest someone^^)
01:07:04preglowyou mean like in rockbox?
01:07:48Shagnarsry, what i've done: copied some midis on the H, then browsed the files and moved the joystick of the H on the rigt side (as "playing") when a .mid file was marked
01:07:56preglowmidi2wav is not done
01:08:05preglowit not working is hardly surprising at all
01:08:45Shagnarthat also happens when opening a midi file with midi2wave (think it's the same^^)
01:09:11preglowmidi support is being worked on right now
01:09:24preglowprobably wont be working for a couple of days
01:10:07Shagnarok :)
01:11:33preglowand: you would need a patchset
01:11:45preglowinstrument samples, that does not come bundled with rockbox
01:14:00Shagnarwhere can i get such a set?
01:14:56preglowi have no idea, you'd have to ask stevenm
01:15:09preglowwhich seems to be enjoying some food at the moment
01:15:47Shagnarhehe yes
01:15:52Shagnari'll wait :D
01:16:05 Join muesli- [0] (
01:16:43amiconnShagnar: stevenm/patchset.tbz2"> (if he didn't it take down since yesterday). Beware, it's some 23 MB...
01:16:54*amiconn thanks the good logbot ;-)
01:18:19Shagnarhello muesli- :)
01:18:42muesli-druschba Shagnar ;)
01:22:29Shagnar50% down
01:23:50 Part MoosCamaro
01:27:39Shagnarpreglow where do I have to put the content of the patchet archieve?
01:28:15 Join moi_eric11 [0] (
01:28:36moi_eric11hi all
01:29:44preglowShagnar: why, there again you have a question for stevenm
01:31:59moi_eric11anything has info about rockbox on gmini series 100 and SP ?
01:32:14Bagdermoi_eric11: not much to say, the effort is somewhat stalled
01:32:51Bagdertry #gmemu
01:33:42Shagnarpreglow: kk :)^^
01:36:33***Saving seen data "./dancer.seen"
01:44:21Shagnarlooks like stevenm eats a whole cow
01:45:13preglowprobably just decided to have ten courses
01:54:52 Quit Tulkar[] ()
01:59:36muesli-n8 ladiez
02:00:44 Part DjMnG
02:09:15 Quit muesli- (Read error: 60 (Operation timed out))
02:23:01Shagnarhmm, stevenm|food is eating very long... strange, perhaps fallen asleep....
02:23:40Shagnarwell, gn8 i'll go then :) cya!
02:26:34 Quit preglow ("n")
02:27:57 Join _Lucretia [0] (
02:29:10 Quit Shagnar ("( :: NoNameScript 3.81 :: )")
02:31:28 Quit _Lucretia_ (Read error: 110 (Connection timed out))
02:49:08 Join BBub [0] (
02:49:18 Quit Sucka ("a bird in the bush is worth two in your house")
02:53:13stevenm|foodHello people
02:53:15 Nick stevenm|food is now known as stevenm (
02:54:14stevenmhey where'd everyone go?
02:58:18RickIn outerspace.
02:58:50stevenmheh at least I aint alone here
02:59:27stevenmthinking about making the patch loader pre-convert everything to 16bit signed, so the synth loop doesnt have to worry about that
03:03:07stevenmbut oh what a pain that will be
03:05:30Rickpatch loader?
03:05:32Rickpatches for what?
03:06:44stevenmmidi still
03:07:01stevenmsoundsets can be 16 bit or 8 bit, signed and unsigned
03:07:32stevenmand instead of just loading it all at once, I want to write something that will do a conversion
03:07:56stevenmproblem is, 8 bit stuff will have to scale up to 16 bit.. doubling the size
03:08:29stevenmi guess the sign conversion wont matter.. use one read call to read it all in, then convert it while it's in ram. just add a number to it
03:08:42stevenm8bit -> 16bit, i may have to read it one byte at a time, which is SLOW
03:09:20 Quit edx (Read error: 54 (Connection reset by peer))
03:10:52 Quit asdsd__ (Read error: 110 (Connection timed out))
03:14:33XShocKwhen coldfire is not powered, are its ports in high impendance mode?
03:19:18DMJCso what kind of ballpark figure would we probably be looking at for sound playback?
03:20:01DMJC3 months? 6?
03:26:12 Quit moi_eric11 ()
03:28:23DMJCanyone played ravenshield?
03:34:18 Quit Aison ("( :: NoNameScript 3.72 :: )")
03:36:34***Saving seen data "./dancer.seen"
04:04:05 Quit cYmen_ ("zZz")
04:05:20 Join QT_ [0] (as@area51.users.madwifi)
04:05:42 Quit DMJC (Remote closed the connection)
04:06:44 Join DMJC [0] (
04:09:18 Quit QT (Read error: 60 (Operation timed out))
04:28:00 Quit thegeek (Read error: 54 (Connection reset by peer))
04:29:29 Join thegeek [0] (
04:38:25stevenmHey guys, if I commit some code with some IOCTLs in it, what will happen? It compiles here, but will it build on the servers ?
05:00:46 Quit XShocK (" HydraIRC -> <- The future of IRC")
05:11:01stevenmHow the HECK do you use xxx2wav ? keeps segfaulting on close
05:31:16stevenmOkay.. here goes nothing
05:36:38***Saving seen data "./dancer.seen"
05:49:21stevenmwow I committed it and it compiled
05:50:08stevenmI give you people.. actual working midi2wav that outputs a .wav. Just add a patchset- there's a link on the wiki
05:52:35*ashridah digs out some original doom midis
05:53:29stevenmit needs to be tried on target.. we never actually saw if it generated a valid file
05:53:47ashridahalthough, i do have properly synthesized and reencoded versions using proper instruments from a decent midi keyboard and bits
05:54:02stevenmyou feel like testing this thing anyway ?
05:54:29ashridahdarn, i don't have anything i can use to extract the midis
05:54:39stevenm ?
05:58:25stevenmhere's a bunch?
05:59:50ashridahsaid something about couldn't open file, then seemed to keep going anyway. didn't say what file it couldn't open
06:00:02ashridahsitting on 'loading patches' atm
06:00:03stevenmashridah, did you grab the patchset ?
06:00:48ashridahand i can't kill it :)
06:00:56stevenmit's a 22 meg download.. stevenm/patchset.tbz2">
06:01:10stevenmextract that into /.rockbox/
06:01:41HCldarn birds
06:01:50stevenmHCl, birds ?
06:02:02ashridahahaha. 22megs. yeah. that'd only take me an hour or so :(
06:02:03HClyup, singing outside at 6 am
06:02:07HClthey make a lot of noise :/
06:02:09ashridahi'll let someone else do the honours
06:02:13*HCl tries to go back to sleep
06:02:45stevenmashridah, ah, all right..
06:03:04stevenmashridah, wait a second.. did it die, or did you not have the patchset ?
06:03:57ashridahi didn't have the patch set
06:04:04ashridahthat's probably what it was complaining about
06:04:16stevenmashridah, ah, all right. that explains it
06:04:37stevenm22 megs, compressed :) but dang good soundset too
06:24:53stevenmHCl, wait a sec... 6AM? Where are you?
06:30:55ashridah* [HCl] (
06:30:58ashridahheh. nl.
06:45:09 Join Lost-ash [0] (
06:50:20 Quit ashridah (Nick collision from services.)
06:50:25 Nick Lost-ash is now known as ashridah (
07:04:23stevenmSo is everyone asleep ?
07:08:49ashridahprobably, if it's 7am in europe :)
07:36:40***Saving seen data "./dancer.seen"
07:45:38 Join rasher [0] (
07:53:53rasherstevenm: The midi was decoded correctly
07:57:05rasherlistening to it now :)
08:16:12stevenmrasher, sweet!
08:16:16stevenmthanks for the info
08:16:44stevenmrasher, I put a new version into CVS which actually outputs a .wav.. and lets you click on .mid files instead of always using test.mid
08:17:11rasherI wrote it in the log, but I guess it's only me that checks the log for my name :-
08:17:27stevenmThe Log ?
08:18:54stevenmOooh I see
08:19:08rasherHas created some interesting moments :)
08:19:20rasherwith people dropping in to answer questions asked before they logged on
08:20:30rashertrying the new midi2wav now
08:20:35stevenmwell as for midi, cvs has a new version, but a few things got changed. there's a new patchset file
08:20:43rasheroh ah
08:20:46stevenmonly difference is, the config files are in the same dir
08:20:56stevenmpatches are the same but the .cfgs are in the patch dir
08:21:02stevenmwhich is now in .rockbox
08:21:12stevenmand i think iriver2.cfg got renamed
08:21:27rasherso I just move /patchset to /.rockbox/patchset and /*cfg /.rockbox/patchset/
08:22:47stevenmand rename iriver2.cfg to patchset.cfg
08:23:13rasherlet's try it now then.
08:23:22stevenmyou'll also want to put midi2wav.rock into /.rockbox/viewers and get the new viewers.config
08:26:05stevenmthere's also an 'option' now in the main file that you can have it playing sound directly thru the speakers if you have a Sim build
08:27:03rashererp, a piece of plastic has come lose off my iRiver :-O
08:27:12stevenmthat's no good
08:27:23rasheronly a tiny bit, though
08:27:26rasherbut I'd rather it hadn't
08:29:06rasherwonder how that happened
08:29:26stevenmbumped ?
08:30:13rasherI guess
08:30:22rasherit's just been in my coat pocket.. :-\
08:30:25rasheroh well
08:30:37rasherPLUS the backplate of my watch keeps falling off
08:30:47*rasher gets annoyed
08:30:52stevenmmaybe you can get Linus or someone to send you some parts? I am sure those guys must have tons of stripped parts
08:31:10rasherit's no biggie.. just a small chip
08:31:38rasherand it hadn't come entirely loose, so I might be able to glue it back on
08:33:42stevenmhot glue maybe ?
08:35:28rasher*shrug* I'll look into that later.. right now I just stuck a bit of tape over it
08:35:40stevenmah, that works
08:35:48stevenmmidi codec doing anything ?
08:36:08rasherit's decoding
08:36:18rasherForgot to go 120mhz
08:36:36stevenmI still don't believe it is possible to make it realtime
08:36:45rashercould be
08:37:01stevenmit would have to be A LOT of ASM optimization
08:37:38stevenmoh well, we can cut sampling rate if anything..
08:42:08rasherWhat the FUCK... Danish police wants access to travel agencies booking lists ><
08:42:21stevenmwhat ??
08:42:27rasherJust reading news
08:42:36stevenmbooking lists ?
08:42:48rasherLike, who goes where, on which hotels etc
08:44:05stevenmthat thing still decoding ?
08:44:09*rasher is annoyed
08:44:18stevenmwhich file is this ?
08:44:41stevenmcould it be all the hard drive access slowing it down ?
08:44:56rasherHrm, I doubt it
08:44:58stevenmit writes every 2000 bytes
08:45:12rasherI don't know.. could be
08:45:15stevenmit should run maybe half realtime
08:45:25stevenmthat file isn't too intense, so it may not even be that
08:45:35rashertry making a version that writes less?
08:45:51stevenmI could increase the output buffer
08:46:02rashersounds like an idea
08:46:05stevenmand write, say, every meg or so
08:46:14stevenmit'd have to be made to be dynamically allocated
08:46:29stevenmbut the whole point is to have it decode fast, not save it fast..
08:46:50rasherheh, well for testing..
08:47:16stevenmi guess
08:47:35stevenmmaybe tomorrow I try to do that
08:49:40rasherThink I've had enough monkey island (it is, isn't it?) for now
08:50:50*rasher plays a real-instruments rendition of it
08:50:56rasherah, it sure is
08:51:00rasherthought so
08:59:23rashersounds fine
08:59:31rasherusing audio test :)
09:05:11stevenmyea I been using monkey island for a lot of testing
09:15:43stevenmit's started to get on my nerves lately... love the game though
09:15:50stevenmhow fast can iriver run, anyway
09:16:20rasherwell theoretically 140mhz, but it gets too hot then
09:16:39rasheryou can call rb->cpu_boost(true); to make it go to 120mhz
09:16:47rasher(and then cpu_boost(false) when you're done)
09:16:49stevenmIt runs realtime ish when my PC is at, effectively 230 Mhz
09:17:10stevenmit runs fully realtime when my PC is at 300 Mhz no problem
09:17:36stevenmand that is with an operating system in the background, and all the sim stuff.. and I guess waiting for the sound buffer to empty before writing more data
09:18:09*rasher times a run at 120mhz
09:19:27stevenmfile running time is 1 min 35 sec
09:19:36stevenmbut it is not a difficult file.
09:23:52rashernot done yet...
09:25:06rasherstill not.
09:26:03stevenmyou wanna try commenting out the disk write possibly ?
09:26:09stevenmIF it even at all matters
09:26:14 Join Harpy [0] (
09:26:22rasherSure, I'll try that
09:26:28stevenmmidi2wav.c line 196
09:28:12rasherstill running..
09:29:36stevenmi doubt disk write overhead is the cause of THAT :)
09:29:49rasherProbably not
09:29:51rasherwell let's see
09:30:20rasherstarting now
09:30:30rasheroops, forgot 120mhz
09:30:39 Quit ashridah ("Leaving")
09:31:06rashernow, then
09:36:42***Saving seen data "./dancer.seen"
09:37:13stevenmit's not showing any hd activity, is it?
09:38:15rasherpassing 7 minutes now
09:39:01stevenmI can think of maybe one or two things to do to the synth code
09:39:09rasher8.. still not done
09:39:12stevenmbut it's stuff that gets executed 4 MILLION times per second, on a tough file
09:39:37HClnot having much luck getting midi to work?
09:39:45rasherit's working fine
09:39:47rasherjust rather slow
09:39:49stevenmI really hope the ASM gurus have reason to be confident that they can optimize it to run realtime
09:40:04rasherHCl: now get working on mod2wav :)
09:40:13stevenmit's not optimized at all but it is bloody slow
09:40:45stevenmpreglow said it was definitely possible to make midi synth work fast enough. we'll see I guess
09:41:06stevenmhow similar is it playing a mod file to playing a mid file?
09:43:12rasherwell that didn't make much of a difference :)
09:43:24rashernot sure of the exact time, got a phone-call
09:43:34rasher(and was using my phone to time it)
09:43:40stevenmwell, still 10% ish
09:43:46stevenmstill not good.
09:43:48stevenmaaat all
09:44:14stevenmI guess one shift and one multiply can be eliminated if the decay stuff gets called conditionally
09:44:36stevenmcutting out the ADSR crap would help, but I dont know if we should go taht far
09:44:43stevenmpossibly function call overhead
09:44:52stevenmconvert 8bit to 16 bit to save an if statement
09:45:07stevenmmerge synthsample, synthvoice, getsample, and the main loop ?
09:45:27rasherno idea
09:45:33rasherbetter ask someone else
09:45:33stevenmand theres that whole hand optimized assembly thing.. converting stuff to MAC instructions which are supposedly very fast
09:45:51rasherput stuff in iram
09:45:51stevenmif they can get a 386 to do this stuff, there's got to be a way
09:45:55stevenmiram ?
09:46:04rasherfast chunk of ram
09:46:14rasher96kb or so iirc
09:46:17rasherhcl knows
09:46:22stevenmDon't know how, but that is possible
09:46:33stevenmput the voice array in there at least
09:47:01stevenmI dont know where stuff ends up by default, but it checks all 100 voices even if one is active.. it still has to check to see if they are active or not
09:47:19stevenmbut yea that would probably help
09:47:31rasherI guess everything's put in ram
09:47:50stevenmI guess optimization, etc will be up to the people who know how to do it.. I just got the basic thing working
09:48:19stevenmin all my life I maybe wrote 100 lines of asm. none of which were for coldfire
09:51:57rasherI just wasn't sure about the details of the iram
09:51:59HCli don't think iram will provide a 1000% speedboost..
09:52:39*HCl yawns
09:52:51HClyou can look at rockboy for an example, i guess.
09:52:59HCli'm not here
09:53:03HClanime con, yay.
09:53:11HCli'll take my old laptop with me though.
09:54:00stevenmwell not even everything in iram..
09:54:05stevenmjust some things
09:54:14stevenmplus that magical all-solving MAC instruction
09:57:00stevenmwow it is LATE
09:57:16stevenmand i'm sick as a dog
09:58:20rasherNo, it's EARLY
10:03:40stevenmrasher, what time is it?
10:03:49rasher10am here
10:03:56stevenm4AM here
10:04:29rasherthink I'll go create some breakfast
10:10:09 Quit Nibbler ("blubber")
10:27:13stevenmokay, it's 4:30 AM. I am going to sleep
10:27:16stevenmgood night people
10:27:22 Quit stevenm ("Leaving")
10:51:35 Quit rasher ("CGI:IRC")
10:52:43 Join webguest57 [0] (
10:55:14 Quit Stryke` ("Friends don't let friends listen to Anti-Flag")
10:59:59webguest57Good news boys! Yesterday had the most talk in the history of this irc channel!
11:00:08 Nick webguest57 is now known as rasher (
11:00:29rasheroh no, I lie
11:00:40rasherI don't..
11:00:45rasherIt just didn't have the most lines
11:07:58 Join amiconn_ [0] (
11:09:34 Quit amiconn (Nick collision from services.)
11:09:35 Nick amiconn_ is now known as amiconn (
11:18:57rashermorning amicon
11:29:36 Quit mico (Read error: 131 (Connection reset by peer))
11:30:02 Join t0mas [0] (
11:36:46***Saving seen data "./dancer.seen"
11:37:09 Join austriancoder [0] (~austrianc@
11:37:16austriancodergood morning
11:38:12 Nick Strath is now known as StrathAFK (
11:39:10StrathAFK(shift change i guess :) )
11:39:16 Quit StrathAFK ("Client closed")
11:40:53austriancoderamiconn: are you here?
11:45:39austriancoderwhat do you all think about: no backlight if the player is in hold-mode?
11:53:25t0masnice idea
11:53:34t0masbut hold mode isn't working at the moment?
11:53:49 Join edx [0] (
12:11:51 Join mozarius [0] (
12:12:02 Part mozarius
12:13:08 Join cYmen [0] (
12:17:21austriancodert0mas: sure, but i will do some work in that direction after finishing remote lcd support
12:17:24 Join preglow [0] (
12:17:32austriancoderhi preglow
12:20:55Seedhi preglow
12:26:37preglowsaw you got a 1.1.1 release going? ;)
12:27:14*rasher creates irc stats
12:27:39preglowi thought bagder already did that
12:28:08rasherI'm not sure.. sounded like he just grepped or something
12:28:13Seed1.1.1... extremely minor update
12:28:42preglowno one of the musepack people has a h1x0 and wants to start optimizing the code, i take it? :P
12:29:36Rickaustriancoder: nice progress on remote ;)
12:29:37Seedthis model is hard to get
12:29:48preglowlooks like i'll be a bit short of time in the coming weeks/months
12:30:02austriancoderhi Rick
12:30:24austriancoderyeah.. next thing is to make wsp working for the remote
12:31:12austriancoderwps sorry
12:32:17rasherI think your best bet if you want a h100 now is ebay or similar
12:35:29 Join MoosCamaro [0] (
12:35:36MoosCamaroHi all
12:38:11MoosCamarohi austriancoder
12:38:34MoosCamaroyou've got news for remote?
12:40:54austriancodertext wirting should work later the day
12:41:18austriancoderthen wps sutff and the remote is finished
12:41:41MoosCamarogood news
12:42:05MoosCamaroare they in cvs?
12:42:31austriancodercurrent cvs shows rockbox logo on startup on remote lcd
12:42:41austriancoderbacklight handling is also working
12:43:46MoosCamarook, thanks
12:44:14austriancodermust go noe
12:44:22 Quit austriancoder ("using sirc version 2.211+KSIRC/1.3.11")
12:44:22rasheron startup? more like all the time :)
12:53:44Ricktechnically only on startup
12:53:49Rickbecause it only paints it to the remote lcd once
12:57:02MoosCamaroah ok
12:57:56 Join FunkyMonk [0] (
12:58:06BBubhave you seen the new 30gb from toshiba? it fits well into the h110/120
12:58:47MoosCamaro60 go
12:58:52Rickhow does the h120 handle a new drive, power wise?
12:59:15BBubMoosCamaro: the 60gb will only fit into the h140 ;)
12:59:45BBubRick: from what i heared it works fine
13:02:07preglow30 gig is also supposed to eat less power than the 20 gig
13:02:32rashera lot of bother for 10 gb though :-\
13:02:50 Join Aison [0] (
13:03:00preglowmore money than bother
13:03:05preglowinserting a new disk is shit easy
13:03:32rashermoney is bother :)
13:06:23 Quit preglow ("off")
13:08:17 Quit FunkyMonk (Read error: 60 (Operation timed out))
13:11:46 Join BBub_ [0] (
13:20:18 Quit BBub (Read error: 60 (Operation timed out))
13:20:18 Nick BBub_ is now known as BBub (
13:30:10 Join Tulkar[] [0] (
13:32:18 Quit Zagor ("Client exiting")
13:33:13 Join Naked [0] (
13:33:49 Quit Hadaka (Read error: 60 (Operation timed out))
13:34:31 Nick Naked is now known as Hadaka (
13:36:50***Saving seen data "./dancer.seen"
13:40:06 Join Shagnar [0] (
13:43:22Shagnarxxx2wav <= what does that mean? any format to wave?!
13:44:27rasherIt's common functions for converting stuff to wave
13:44:32rasherso in a way, yes
13:48:19 Join Sucka [0] (
13:55:19t0masyou where thinking of a universal image loading thing?
14:08:49 Join mico [0] (
14:09:20 Nick mico is now known as micoo (
14:09:42 Nick micoo is now known as mico (
14:09:56 Nick mico is now known as micoo (
14:11:42t0masyou know something about mem allocation on rockbox?
14:15:05amiconnt0mas: Now I am here (sort of)
14:15:28t0masok, what was you idea?
14:16:04t0mas(and I'm trying to fix the old loading stuff... as a quick fix... but there is no malloc() function, any idea's on how to do it?)
14:18:10amiconnYes, there is no malloc(). malloc() is evil on architectures with no mmu because of memory fragmentation
14:18:46rashert0mas: absolutely nothing
14:19:31Shagnarwho of you was the one i should ask for the midi2wav support?
14:19:38amiconnFor image loading, the caller should provide a buffer, and tell the loader how large it is
14:20:13t0masok, and how should the caller create that buffer?
14:20:48amiconnCore or plugin?
14:20:59t0masand plugin...
14:21:08t0masbut plugin isn't really needed
14:22:03amiconnIn the core, you have 2 options. (1) reserve the buffer statically (2) one-time allocate at rockbox init. There is buffer_alloc() which allows to allocate from the free memory area as long as the main playback buffer is not yet initialised
14:23:05amiconnPlugins could also use a static buffer, or use a private malloc()-alike, allocating from either the plugin buffer, or the audio buffer. The latter of course stops playback
14:23:59t0masfor a wps the last isn't an option...
14:24:09amiconnyup ;-)
14:24:35amiconnSmaller buffers can also reside on the stack, but keep an eye on the stack usage"> :)
14:24:58amiconnStack size is rather limited (and has to be) on embedded devices
14:26:25amiconnrasher: Does the script handle multiple nicks/ nick changes for the same person?
14:26:42rashereh.. don't know :)
14:27:19t0masamiconn: how would you allocate a buffer for a wps image?
14:27:20amiconn2 examples: midknight2k3 and midk are identical, as are diddystar5, dstar5 and bagawk
14:27:28t0masit should be done in wps-display.c I guess?
14:27:51rasheramiconn: guess not then :)
14:28:30t0mashm... another problem... how would the code know what size buffer is needed?
14:28:50rasher"During this 1000-day reporting period" 1000 days of #rockbox logs!
14:28:53amiconnt0mas: Personally, I wouldn't do that at all, because I don't want/ need images in the wps, but yes, I think it should go into wps-display.c
14:29:59amiconnJust reserve a large enough buffer for all reasonable images. Images that won't fit would then be only loaded partial, or not at all
14:30:27amiconn(possibly showing an error message, "Image xyz too large")
14:30:36t0masok, so allocate a buffer of the maximum lcd size for that device?
14:31:12amiconnImho that would be overkill. Surely you always want some text info in the wps? ;-)
14:31:37t0masyeah, but a background would be maxsize...
14:32:03amiconnI doubt a background image makes sense on a 4-greylevel display...
14:32:26t0masyeah, but it's not only for wps anyway...
14:32:38t0masmaybe a plugin want's to show fullscreen bmp
14:32:51amiconnOther places - other buffer, I'd think
14:33:20amiconnThen the plugin would have its own buffer, imho
14:33:37t0masok, and how do I release a "unsigned char bmp[size]"
14:33:58amiconnYou can't
14:34:31amiconnThat is, if it's in a function it would be on stack, which is probably a bad idea
14:34:58t0masyeah, stack isn't very large is it?
14:35:04amiconnIf you declare it toplevel, or use static unsigned char bmp[size] within the function, it is reserved at compile time
14:35:48t0mashmz... can't I allocate it in function space?
14:35:49amiconnStack size (on archos) is 8 KB for the main thread, 4 KB for the other threads. Iirc on iriver it's a bit more
14:35:56t0masso at the end of my function it's released again?
14:36:26amiconnThen it would end up on the stack, as I already said
14:37:17t0masyeah, but would it be removed from stack when my function ends?
14:37:51amiconnYes, but depending on the size you would overflow the stack
14:38:01amiconnImage buffers tend to be large
14:38:45t0masSo the best would be to put it above the function?
14:38:52 Join preglow [0] (
14:39:03t0mashi preglow
14:39:46amiconnt0mas: I think so
14:43:08amiconnMy approach for (multiple small) images in the wps would be to have one buffer, a pointer array, and a 'next free byte' pointer.
14:43:44amiconnAt wps init, the 'next free' pointer is reset to the buffer start address
14:44:23amiconnThen the first image is loaded into the buffer, the first pointer of the array set to the image start, and the 'next free' pointer advanced to point behind the image data
14:44:36amiconnNext image then loads there, and so on
14:45:19amiconn...until either (1) there are no more images to load (2) the buffer is full or (3) the pointer array is full
14:46:28amiconnImages would be loaded only at wps init, then referenced (as often as wanted) within the wps layout
14:46:43t0masI'm just fixing the load_bmp() function
14:48:13amiconnAh, I forgot: Of course I'd use a struct array instead of a pointer array, containing width, height and pointer_to_data for each image
14:50:16t0masyeah, but the function isn't wps only
14:51:22t0maswhat did I forgot to include when I get this:
14:51:22t0masrecorder/bmp.c:50: error: `LCD_WIDTH' undeclared here (not in a function)
14:53:04amiconnI'd be going to implement this buffer management within wps-display.c. The bmp loader itself would only be handed the load address and the available size. Then it would load the image data into the buffer, and return either succes or an error
14:53:28amiconnIf the load is succesful, it should of course also return the image dimensions
14:53:54t0masit already does that...
14:54:02t0masint read_bmp_file(char* filename,
14:54:02t0mas int *get_width, /* in pixels */
14:54:02t0mas int *get_height, /* in pixels */
14:54:02DBUGEnqueued KICK t0mas
14:54:02t0mas char *bitmap)
14:54:15t0masthe last one is a pointer to a buffer to load the image into
14:54:23amiconnOnly that it doesn't do it correctly
14:54:38amiconnIt is written to produce the old internal bitmap format
14:54:52t0masthat's what I'm changing...
14:55:21amiconnYes, then it would do exactly what I would expect it to do
14:56:16t0masrecorder/bmp.c: In function `read_bmp_file':
14:56:16t0masrecorder/bmp.c:122: warning: assignment from incompatible pointer type
14:56:53t0masunsigned char bmpbuf[((LCD_WIDTH+3)&(~0x3)) * LCD_HEIGHT];
14:56:54t0masunsigned char *bmp;
14:56:58t0masbmp = &bmpbuf;
14:57:04t0masit doesn't like that? :)
14:58:37amiconnYes, because the correct statement is bmp = bmpbuf;
14:59:12amiconnbmpbuf is already the start address of the array, equal to &bmpbuf[0], but *not* equal to &bmpbuf
15:00:11amiconnBtw, the buffer management I described is already used in some places within rockbox, so you don't need to rewrite that from scratch
15:01:34t0mashmz... my compiler doesn't like wavpack.h
15:01:36amiconnfiletypes.c uses it for managing string_buffer[], and iirc font.c does similar
15:01:46t0masok, I'll read that
15:02:01t0masis there a way to simply skip wavpack compiling?
15:02:42preglowin tools/configure
15:02:47preglowyou can disable the codecs you don't want
15:02:54 Join ashridah [0] (
15:03:40t0maswhat's mpc_decoder.c ?
15:03:43t0masmidi stuff?
15:04:07t0maslot of warnings about that...
15:04:11amiconnGotta leave now, cu
15:04:20t0mastnx for the help
15:04:21preglowwarnings, yes
15:04:22 Part amiconn
15:04:29preglowi didn't bother to fixthose yet
15:04:35preglowwhat compiler do you use anyway?
15:04:41t0masstreaminfo.c:224: warning: implicit declaration of function `memcmp'
15:04:45t0maslooks rather concerning?
15:04:47preglowi know of them
15:04:48preglowno, it's not
15:05:19preglowbut what compiler do you use?
15:06:13 Join DJ_Dooms_Day [0] (
15:07:36t0masUsing m68k-elf-gcc 3.4.3 (304)
15:07:40t0mas@ preglow
15:07:48preglowwell, that's what i use...
15:07:53preglowi have no problems at all with wavpack
15:08:07t0mashave you done a fresh checkout and compile?
15:08:17t0mas(I did, my laptop is at my work...)
15:10:15preglowpretty recently
15:10:23preglowno one has changed wavpack for yonks anyway
15:10:31t0masthen it's my setup or something...
15:10:42t0masit's complaining about line 497
15:10:46t0masthe (bs)-> part
15:10:58t0mas(((bs)->bc) ? \
15:11:24t0masparser error left of "->"
15:24:23t0masLD /home/tomas/dev/rockbox-devel/build/battery_test.elf
15:24:23t0mas/opt/m68k/bin/../lib/gcc/m68k-elf/3.4.3/../../../../m68k-elf/bin/ld: cannot find -lwavpack
15:24:32t0maswhen I remove wavpack from that codec list...
15:24:37t0maslittle mistake in the configure script?
15:25:20preglowt0mas: i really haven't got time to look at this now
15:25:33preglowno, that's not a mistake
15:25:35preglowit's hard coded
15:25:57preglowyou need to fix the makefile for plugins
15:27:04t0masdone :)
15:29:08t0masIn file included from wv2wav.c:26:
15:29:10t0masagain :X
15:29:27t0mas/home/tomas/dev/rockbox-devel/apps/codecs/libwavpack/wavpack.h:497: error: parse error before '->' token
15:29:35rasherwhat the..
15:30:12preglowremove wv2wav from sOURCES in plugins
15:30:23preglowi really would rather have fixed the compiler, but...
15:30:38preglowif that doesn't work, god knows what other stuff isn't right either
15:30:41 Quit DJ_Dooms_Day ()
15:31:02CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
15:31:02*t0mas wonders why it doesn't work here... and does work for you
15:31:42preglowworks for everyone else as well
15:31:45preglowno-one has complained
15:31:50*t0mas is in a compiler hell
15:32:03t0masmidi2wav isn't working either
15:32:23preglowwouldn't know about that, haven't compiled rockbox in some times
15:32:49t0masyeah, found it... a little error in cvs around that time :)
15:33:01t0mas2005-04-15 20:27 had an error for midi
15:35:42Shagnarwhen loading some patches on the iriver
15:35:51Shagnarthe midi2wav seems working (harddisk works)
15:36:30Shagnardunno if result, after 5mins i pressed the reset button
15:36:53***Saving seen data "./dancer.seen"
15:38:39t0masI really have a bad day...
15:39:06t0masIn file included from /lib/gcc-lib/i686-pc-cygwin/3.3.1/include/syslimits.h:7,
15:39:06t0mas from /lib/gcc-lib/i686-pc-cygwin/3.3.1/include/limits.h:11,
15:39:06t0mas from common/strchr.c:37:
15:39:06t0mas/lib/gcc-lib/i686-pc-cygwin/3.3.1/include/limits.h:122:75: limits.h: No such file or directory
15:39:33preglowShagnar: why reset button?
15:39:45preglowShagnar: midi2wav is supposed to exit if you just push any button
15:47:28rashermidi2wav runs at about 10% real time
15:47:38rasher(at 120mhz)
15:50:10rasherin non-related news:">
15:54:50ashridahBagder always lets us know what he/she's doing: 1138 actions!
15:54:50ashridahFor example, like this:
15:54:50DBUGEnqueued KICK ashridah
15:54:50ashridah * Bagder ignores such IRC crap
15:55:23rasheralso very fitting is preglow's quote on the 2005-page
15:58:09t0masAlso, HCl tells us what's up with 659 actions.
15:58:18t0masYeah, he always yawns :P
16:02:25t0masit still doesn't compile...
16:02:41t0masI HATE windows
16:03:52rasherthere's a good cure for that
16:04:27t0masbreak into the office and get my laptop :P
16:17:43t0masyeah :D
16:18:04t0masbuild finished... simulator isn't working... but the real thing is :D
16:19:03rashersounds like you're having all sorts of fun
16:19:10t0masghehe yeah
16:19:13t0masI really like windows + cygwin
16:20:24 Nick Tulkar[] is now known as Tulkar[AFK] (
16:21:46 Join muesli- [0] (
16:22:29 Join austriancoder [0] (
16:22:31austriancoderhi all
16:22:41 Part gromit` ("Client exiting")
16:23:00austriancodercan somebody tell me, where the bottons get processed?
16:24:16CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
16:24:16*rasher bites his tongue
16:25:15austriancoderi want to code the holde-button stuff
16:26:31rasherdon't the other devices have hold buttons?
16:26:45austriancoderi dont know
16:26:51austriancoderbut on iriver it doesn't work
16:27:37rasherfirmware/drivers/button.c ?
16:28:15rasherflipped-screen appears to have been (almost) fixed?
16:28:24austriancoderthats the driver, but i must look where it get used
16:29:22 Quit muesli- (Read error: 131 (Connection reset by peer))
16:29:30 Join muesli- [0] (
16:29:34austriancoderthink i found it
16:32:55 Quit ashridah ("Leaving")
16:37:03 Join bagawk [0] (~Lee@bagawk.user)
16:37:15rasherweird... flip screen was not giving me the garbage last night
16:37:49rasheronly 4 lines of blankpixels
16:38:04rashernow it's back at 4 lines of garbled pixels
16:38:18t0masoh oh... not booting orignal firmware again :)
16:38:21preglowvery probably depends on memory contents
16:38:23t0masbattery loading time
16:38:36rasherpreglow: good point
16:39:08rasherwould be a fun way to reverse engineer something
16:39:16rasherif it had a bug that spilled memory unto the display
16:39:34rasherbit like that hack they used for ipodlinux at some point
16:40:28rasherHrm.. "LCD Mode" .. doesn't "Inverse mode" make more sense?
16:41:25 Join kergoth [0] (
16:41:51preglowfor the flipped screen?
16:43:05rasherno, for inverse mode :)
16:43:11rasherjust looking at the display menu
16:43:13preglowif then, yes
16:43:18preglowthen = so
16:43:23rasherand thought it was a silly name for that entry
16:43:38rasheryou'd really have to know, or look to guess what it means
16:51:14rasherThen there's the menu structure...
16:51:50rasherRoot->General->Playback, but Root->Recording ?!
16:52:52austriancoderrecorinf menu will be show, if hte target support it
16:52:55rasherbut I guess that's a whole can of worms to open
16:53:36rasherWhat I mean is.. why are two so similar entries not placed at the same level?
16:53:46rasherAnd so on
16:54:58BBubthey're programers - not designers ;)
16:55:19rasherI guess that's the "problem"
16:55:45BBubwell, if everything is working well, they will probably fix those things
16:55:49rasherNot that I'm claiming to be.. it was just a single thing.. and the structure as a whole just .. "feels" wrong
16:56:10rasherI doubt it.. I think it'd need to be someone from the outside.. with good knowledge of such things
16:57:21BBubeveryone can join the project afaik :)
16:58:13rasherI know this
17:02:10 Quit bagawk ("Leaving")
17:06:00 Join oooops [0] (
17:06:56oooopswhat are the risks in flashing rockbox?
17:07:14BBubyour player might not boot anymore
17:08:51oooopswell, i've just downloaded grayrockbox and ihp_120.hex from HCL's server and checked the md5sum
17:09:01oooopsdo you think I should flash it or not
17:09:36muesli-yepp, theres nothing to worry about
17:10:13oooopsso if I succesfully flashes it... nothing can go wrong that i can't fix with a reset?
17:10:37BBubbut rockbox won't do anything for you now
17:10:48BBubso you could just view the screenshots and get the same result
17:11:04oooopsbut I can make playlists and play gameboy games
17:11:41BBubfrom what i read rockboy (the gameboy emu) doesnt work in realtime yet
17:11:59BBuband the playlists are of no use as you cant playback any music ;)
17:12:30oooopsbut i can easily boot the original firmware to listen
17:13:12oooopsI thought it was only the sound in rockboy that wasn't realtime
17:14:00BBubi only read about, so i'm not sure
17:14:51oooopsk, but theres no harm in testing it...
17:15:05rasherthe games are slightly less than realtime I think
17:15:11rasherbeen a while since I last tried one
17:16:07oooopsok... anyone know how the sound API's going, I've seen alot of commits the three latests days
17:19:57preglowthe sound api is chugging along
17:20:50oooopsI think I've read that the bootloader isn't completely ready, but it's working so what is it that needs to be improved?
17:21:16t0maspreglow? do you know how I allocate a buffer from core?
17:21:28t0mas(in wps-display to be precise)
17:21:37oooopsi quote"WARNING! The boot loader is still in development."
17:21:43t0masI want something like this: unsigned char wpsbg[20480];
17:22:04t0masbut the size should be variable... as this is a waste of ram for small images..
17:23:19rasheroooops: it is *mostly* a disclaimer-type warning.. I don't think much work will go into it from now on.. bug fixes (if bugs are found) mostly
17:24:17preglowt0mas: rockbox has no malloc
17:24:21t0masI know
17:24:31t0masthat's why i asked how to do it :)
17:24:34preglowthen why are you asking when you know the answer?
17:24:40preglowyou can't
17:24:45rashert0mas: why don't you use amiconn's suggestion?
17:24:50oooopsbut those "unknown bugs" can't brick my player, right?
17:24:52t0masI do..
17:24:55preglowyou'll have to use the mp3 buffer
17:24:59preglowoooops: of course they can
17:25:00t0masI have the function the way he told me
17:25:16 Quit muesli- (Read error: 104 (Connection reset by peer))
17:25:16t0masbut amiconn wanted the caller to create a buffer
17:25:24rasherwhy do you need to allocate then?
17:25:36*rasher shuts up
17:25:46t0masand the caller doesn't know the image size...
17:25:58t0masthat's another problem...
17:26:10rashercan't the caller get access to the entire image-buffer then?
17:26:27t0maswhat image buffer?
17:26:40t0masthe caller has to give a pointer to a buffer where the image is stored
17:26:49rashera single image?
17:27:02t0masatm: yes
17:27:20rasherhm.. then maybe I didn't understand amiconn's idea, or you didn't :-\
17:27:25rashereither way, gtg
17:29:39 Quit rasher ("CGI:IRC (EOF)")
17:34:01 Join DangerousDan [0] (
17:36:57***Saving seen data "./dancer.seen"
17:39:24 Quit austriancoder ("CGI:IRC 0.5.4 (2004/01/29)")
17:52:41 Join Nibbler [0] (
17:58:24 Join _ferenczy [0] (
18:00:24 Join booper [0] (~boop@nat01-silvers-ext.Rutgers.EDU)
18:00:32boopergood afternoon all
18:00:34booperanyone around?
18:01:42 Quit Sucka ("a bird in the bush is worth two in your house")
18:01:52 Join Sucka [0] (
18:01:54_ferenczyhi there
18:02:41booperi have a question about the rockbox firmware that i can't find anywhere...perhaps you could help?
18:03:49_ferenczyI'll attempt ;)
18:03:53boopergreat :)
18:04:35booperin short, i have a JBR V2 and want to take it in my car...but I have no line-out port. I don't see a setting anywhere in the software to limit the output to <=1V
18:05:02boopersurely this has been an issue before...any way to attain a pseudo line-out without a line out port?
18:05:35booperor do i need to find the magic volume level (don't want to do this if possible so I don't damage the head unit in the car)
18:06:56_ferenczydo you want to connect line-in to the players speaker output?
18:08:03booperyes. archos output -> stereo line-in
18:08:57_ferenczyIt's not designed to do that, I think
18:09:59booperwell, that's a disappointment :
18:18:09t0masanybody know's why ms paint doesn't save a black and white image as 8bit bitmap?
18:18:59thegeekbecause it's ms
18:23:38t0masI've done the impossible :P
18:23:42t0mascrashed the simulator :)
18:26:38oooopsHCl: hows the rockboy sound going?
18:27:11t0masonly rockboy isn't at 100% speed afaik?
18:27:42oooopswell i know i's working.. but it's rather choppy, right?
18:27:59t0masthat's because rockboy isn't at 100%
18:28:29oooopsand what % is it at?
18:29:56t0masdon't know
18:30:04t0mas80? maybe 90? ask HCl
18:31:26thegeekdepends on the game
18:31:31thegeekI would say
18:31:51thegeekgenerally around 80?
18:32:04t0masyeah, think so
18:32:05thegeek(this is where hcl comes in and corrects me)
18:32:13oooopsk... i haven't flashed my player yet... I don't dare :(
18:32:20thegeekyou pussy!
18:32:24thegeekgot out.
18:32:51thegeek(im in that grumpy mood again)
18:33:02thegeekand apparently I can't type today either
18:33:54*t0mas didn't flash it until needed for development
18:37:19*oooops is going to eat
18:37:41*t0mas too
18:38:03*t0mas is ff eten
18:38:26t0maswrong channel
18:39:07 Join muesli- [0] (
18:39:13 Join Stryke` [0] (~Chairman8@resnet-241-86.resnet.UMBC.EDU)
18:49:41 Join F1^Aison [0] (
18:53:29 Quit F1^Aison (Client Quit)
18:56:51 Quit Aison (Read error: 145 (Connection timed out))
19:09:23*t0mas is still fighting bmp's :x
19:15:43_ferenczyI have got a question> is this channel same as #rockbox channel on
19:17:51t0masI don't know that channel...
19:18:01t0masand is refusing connections on port 6667
19:25:07_ferenczyt0mas> it's noticed in rockbox FAQ (#11), #rockbox at is the official channel...
19:26:05t0masI think it's moved then...
19:26:24t0masow lol
19:26:34t0mas"We often hang out on #rockbox over at (freenode was once known as, see their web site for more information)."
19:26:42t0masso that's it :)
19:26:52_ferenczyso, this is the one channel
19:26:55_ferenczyah so ;)
19:29:37t0mashm... getting the actual fileposition was lseek(fd, 0, SEEK_CUR); right?
19:31:47 Quit muesli- (Read error: 110 (Connection timed out))
19:36:58***Saving seen data "./dancer.seen"
20:02:51 Join muesli- [0] (
20:03:54t0masis there any information on the rockbox image format?
20:04:48 Quit Nibbler ("blubber")
20:11:31 Quit oooops ("CGI:IRC")
20:22:46 Quit _ferenczy (Read error: 113 (No route to host))
20:32:20 Join zezayer [0] (
20:34:31zezayerDoes anyone know when grayscale will be enabled in the iriver version of rockbox, i know u can download an old version with it but when will it be found on the daily builds? Thnaks.
20:35:02 Quit zezayer (Client Quit)
20:35:03 Join zezayer [0] (
20:35:27 Quit zezayer (Client Quit)
20:35:34 Join zezayer_ [0] (
20:35:36 Nick zezayer_ is now known as zezayer (
20:38:40preglowzezayer: as soon as the guy who made the grayscale version updates it to work as it should
20:38:54preglowthe current grayscale support is very half-baked
20:38:58zezayerok cool thanks
20:43:23 Join stevenm [0] (
20:43:30stevenmhello people
20:43:49 Quit zezayer ("Chatzilla 0.9.67 [Firefox 1.0.1/20050311]")
20:44:45stevenmhey preglow, are you good at optimizing things in ASM ?
20:45:03MoosCamarohi stevenm
20:46:21stevenmHow much 'optimization' can one expect?
20:46:41stevenmUnoptimized this thing runs 10% realtime on a good day with an easy file
20:47:24 Join zezayer [0] (
20:52:03t0mas10% isn't much..
20:52:11t0masis that in boost mode?
20:52:36stevenmI just hope this code is just THAT inefficient
20:52:51 Join XShocK [0] (
20:53:16stevenmI know I can still make a few optimizations, in C, but that's not many..
20:53:26t0masit's a midi codec right?
20:53:37t0masand midi isn't a really difficult format?
20:54:01t0masor have you implemented a full synth or something?
20:54:04stevenmno but synthesizing 50ish voices at 48000Hz is kind of intensive
20:54:13t0mas(just thinking, I don't know anything about midi(
20:54:28stevenmthe sequencer is not a problem. it is the synth part that runs slowly
20:55:00stevenmit's a bunch of shifts, adds, multiplies, and memory access
20:55:10t0maswhat memory?
20:55:18stevenmno, the MP3 buffer
20:55:32stevenmthe soundset it like 30 megs decompressed
20:55:51t0masmaybe that's a little too much?
20:55:55stevenmI guess the voice objects themselves can go in iram.. there's 100 of them and they're structs
20:56:04stevenmwell only 8 megs or so are loaded for each file
20:56:17t0maspreglow know's more of the iram thing...
20:56:26t0masI guess he can do something with it
20:56:37stevenmhe said he could get this type of thing running fast easily
20:56:44pregloweasily? :P
20:56:50stevenmi don't know..
20:56:57 Quit Tulkar[AFK] (Read error: 110 (Connection timed out))
20:56:58preglowthe procedure is straightforward, yes, but it'll take time
20:57:10preglowbut yes
20:57:18stevenmhow much do you think can get squeezed out of it?
20:57:21preglowwhat you need to do is collect the data that is accessed frequently in one place
20:57:23preglowand stuff that in iram
20:57:39stevenmyea, the voice objects. there's 100 and they're structs of a bunch of ints
20:57:54preglowbut right now you only have 32kb of iram
20:58:01preglowthat _might_ be increased to 64kb
20:58:01stevenmhow much improvement do you think that would be >
20:58:14preglowthe improvements will be large if the data is critical
20:58:34preglowdo you still #include the .c files?
20:59:00stevenmyes :(
20:59:03preglowthen you need to make a proper build system before you do anything else, imho
20:59:05preglowit's not hard
20:59:12t0maspreglow? 64k of iram? how?
20:59:15stevenmi estimate the voice array takes up about 5kb of space
20:59:16preglowt0mas: how what?
20:59:26preglowt0mas: there are 96kb iram available on the cpu
20:59:27t0maswasn't 32 a hardware limit?
20:59:39preglowt0mas: rockbox itself will probably require some of it as well
20:59:50stevenmpreglow, well the voice objects should fit
21:00:08stevenmunless I am missing something, each one takes 50-60 bytes or so. and there's 100 of them
21:00:38stevenmplus a few bytes for the current output sample, buffer position, any varaibles used to cycle thru them..
21:00:55t0masstevenm? how big are the numbers?
21:01:05t0masmaybe you could fit them in something smaller than int?
21:01:15stevenmthe ones that can be, are
21:01:19t0masah ok
21:01:28stevenmI may be able to get rid of some deprecated ones
21:01:29t0maswell... 6000 < 6kb
21:01:33t0maszo it should be possible
21:01:41preglowwhy did you commit the midi codec in plugins/ ?
21:01:48preglowi told you that has to go in apps/codecs
21:01:51stevenmLinus said this was a good idea
21:02:00preglowwell, it will have to be moved
21:02:03stevenmLinus said to keep it a plugin for now and we can make it a codec later if needed
21:02:30preglowbut then you need to look at rockboy on how to make a proper build system out of it
21:02:39t0masmy bmp code from scratch starts to work :P
21:02:42preglowbut gimme a sec, and i'll have a quick look at the source
21:02:45t0masit display's some lines now :)
21:02:54stevenmMaybe the whole synthvoice / getsample / etc chain can be made into a single function
21:03:04t0masstill don't understand the thing Bagder wrote...
21:03:25stevenmand I can prolly save a little time if I auto-convert all 8bit waveforms into 16bit in the loader so the synth doesnt have to worry about checking and shifting
21:03:40stevenmthat saves, like 2 operations
21:03:43preglowi guess voices should be in iram
21:03:50preglowdo that
21:03:53preglowifs are evil
21:03:54stevenmmidiutil.c is where the struct is defined
21:03:58preglowyeah, i know
21:03:59stevenmoh god
21:04:14stevenmifs are evil ?
21:04:32stevenmI guess if I do that, we can get rid of getsample() entirely and just shove the remains of it into synthsample
21:04:55stevenmI already made it auto-convert unsigned into signed
21:05:54preglowi can find no getsample
21:06:55stevenmit's in synth.c
21:07:30stevenmgive it a waveform pointer and a sample and it will return the sample in 16bit form based on wave size, etc
21:09:07preglowthat sounds slow
21:09:12preglowyou should convert to one format internally
21:09:36stevenmYea I did half of that. Convert the sign in the loader, but it doesn't scale 8 bit samples to 16 bit ones yet
21:10:02stevenmcouldn't think of how do to that last night without wasting memory, was too asleep. Now I have an idea
21:10:30preglowwithout wasting memory? it should be fairly easy
21:10:34stevenmie, if it's 8bit, allocate 2x the memory, fast read in the 8bit data into the first half of it, then work backwards
21:10:57stevenmI wanted to try to avoid reading it one byte at a time.. that seemed slower
21:11:27preglowahh, like that
21:11:42preglowbut, why do you have 8 bit samples anyway? :V
21:11:44preglowthey're evil
21:11:56stevenmHonestly, I don't even know if I do or not
21:12:12stevenmI have to check that out. This was supposed to be a very high quality patchset
21:12:29stevenmI put in 8bit support 'just in case' but I guess I can go thru and see if 8 bit ones exist at all
21:13:24preglowbut ok
21:13:38preglowif you see 8 bit stuff, just use a small temp buffer to read data chunk by chunk
21:13:42preglowthat should be more than fast enough
21:13:52stevenmall right...
21:14:13stevenmmaybe even I could just convert the 8bit files into 16bit and distribute those
21:14:32stevenmthere's a batch converter on my roommate's box I think
21:14:43t0masw000t :D
21:14:49t0masmy bitmap loading is working on pc...
21:14:59t0masand the conversion to rbx format is half working..
21:15:02t0masso almost there :D
21:15:05preglowno, if there are 8 bit samples around, make an 8 bit loader
21:15:11preglowyou might not have the copyright of the sample sets
21:15:11stevenmall right
21:15:41stevenmpreglow, do you think it would even be possible to make this realtime ?
21:16:54stevenmeven if it runs 10% now, on an easy file ?
21:17:02preglowi'm not certain, however, sample based formats need a lot of random accesses to slow ram
21:17:16preglowas i said, i'm not certain
21:17:22preglowi think it should be able to run realtime
21:17:29stevenmwell, I have faith in you
21:17:37stevenmand that magical MAC instruction
21:18:40preglowi won't have to work on it
21:18:40stevenmin the meantime, how do I declare a variable so that it ends up in iram ?
21:18:54preglowthere is a macro in plugin.h, i think
21:18:57preglowand in codec.h
21:19:01stevenmah ok
21:19:10stevenmhow do you use that ?
21:19:15preglowchar myarray[80] IDATA_ATTR;
21:19:52stevenmaah all right
21:20:27stevenmwell, I am going to go eat my 3PM breakfast.
21:20:32stevenmI will talk to you guys later
21:20:49 Quit stevenm ("Leaving")
21:37:02***Saving seen data "./dancer.seen"
21:39:40 Quit edx ()
21:57:24 Quit booper (Read error: 110 (Connection timed out))
21:57:58 Join muesli_ [0] (
21:58:13 Quit muesli- (Read error: 113 (No route to host))
22:26:50 Join stevenm [0] (
22:40:42BagderHCl: here?
22:41:03HClyes, but by sheer chance
22:41:04HClwhats up
22:41:18BagderI read through the runtimedb wiki page
22:41:35Bagderwe need to take into account that the songdb gets updated
22:41:44HCli'm already aware of that
22:41:53HClbut zogar and rasher insisted on changing my original design
22:41:58HClwhich didn't have a problem with it
22:42:04stevenmhello people
22:42:21HCli think they said that they would write the perl script that would read the songdb back in and keep track of everything and not mess everything up
22:42:32BagderHCl: well, I didn't like the original one either
22:42:45stevenmHow to declare an array in iram? putting IDATA_ATTR after a single variable works, but complains w/ syntax error if I do it after an array declaration
22:42:46HClfeel free to suggest something better, heh.
22:42:57BagderI like this suggestion
22:43:06Bagderbut it needs additional stuff to deal with songdb updates
22:43:13HCllike what?
22:43:56Bagderwell, preferably something smaller than the full path name
22:44:13stevenmhey preglow, it doesn't seem to like this: struct SynthObject voices[MAX_VOICES] IDATA_ATTR;
22:44:20HCli'm confused
22:44:30HClmy original suggestion with something smaller than the full path name?
22:44:39Bagderthis suggestions
22:44:40HClthen what?
22:44:41Bagderthis suggestion
22:44:47HClthe full path name is already part of the tagdatabase
22:44:47Bagderfixed to deal with updates
22:45:03HClits mostly just the problem of the updater program
22:45:09HClnot necessairly the format
22:45:14BagderI disagree
22:45:34Bagderit would require that the script has the *previous* db when you run it
22:45:40Bagderand I don't like that
22:45:54HClcan't help it much, heh.
22:46:05HClyou're planning to store filenames in the rundb or what?
22:46:17HCleven then, with the current approach, it would still need to be updated.
22:46:24BagderI said it needs "a way" I didn't say how
22:46:36HCli hope you'll be getting to that, sorry
22:46:41Bagdersure it would need to get updated
22:46:55Bagderbut only using the new songdb
22:47:02Bagderit would need the former one
22:47:07Bagderwould NOT
22:47:37HClwell, i don't understand how you plan to do this, aside from moving part of what the update script would normally do to the rockbox firmware itself.
22:47:43 Join Biptoria [0] (
22:48:00HClthe current format is simply linked too harshly to the tagdatabase.
22:48:08BagderI disagree
22:48:20HClhow so? we use record ids to match song record ids
22:48:28Bagderit only lacks this little thing I'm talkign about
22:48:30HClits almost the same as including the runtime data into the tag database
22:48:34HClexplain? :x
22:48:44 Quit muesli_ (Read error: 113 (No route to host))
22:48:59Bagderwell, you don't seem to want this format anyway
22:49:08*HCl shrugs hesitantly.
22:49:18HCli can live with it, as long as i don't have to write the updater.
22:49:31BagderI want to be able to generate my songdb and copy it to my player
22:49:32Biptoriacalm down ladies
22:49:38Bagderwithout ruining my runtimedb
22:49:41*HCl is perfectly calm o.o;
22:49:52HClgo ahead and propose something...
22:49:58BagderI will
22:50:01HClpersonally, i wouldn't see how with the current format, but only with my old format...
22:50:05HClon the wiki?
22:50:13Bagderno, I'll post to the list
22:50:17HClhave any ideas so far? or are you just not mentioning it :X
22:50:21HClmailing list? O.o.
22:50:22BagderI have ideas
22:50:43Bagderbut I think the problem here is that we all have different goals
22:50:50Bagdermailing list, yes
22:50:51HCli have no idea
22:51:03HClmy goal is stated at the top of the runtime db wiki..
22:51:21Bagderyes, but for example you don't say how you want to deal with updates
22:51:31Bagderor if you want to work without a tagdb
22:51:45HClwe agreed a while ago that we wouldn't work without a tag database
22:51:51HClmy old design could do pretty much all of it....
22:52:00HClwhen it was rejected i just mostly went "okay, how would you like it"
22:52:06HClits not really my brainchild
22:52:12Bagderbut it shows we have different goals
22:52:13HCli suggest you talk to rasher or zagor :/
22:52:19BagderI will
22:52:21Bagderon the list
22:52:43HCli don't suppose you could easily subscribe me to the list or tell me where/what?
22:53:00HCli'm hardly fond of mailinglists, but i want to know progress on runtime database..
22:53:18Bagderwell, this list is where rockbox dev stuff is happening
22:53:26t0masBagder? do you know a way to "reverse" a unsingned char?
22:53:28Bagdernot being there means missing lots of rockbox
22:53:33HClmhm, i'm generally not fond of email at all.
22:53:38Bagdert0mas: reverse?
22:53:43HCli prefer chat to discuss stuff..
22:53:46t0masyeah, bit to little endian
22:53:57t0masis there a simple way for that?
22:54:06Bagdera char is only 8 bits, how can that be different endian?
22:54:25*HCl subscribes
22:54:30Bagderah, you mean the bits in the other order?
22:54:30t0masI'm stupid...
22:54:41t0masnothing to do with big/little endian
22:54:46t0masjust guessed it was that...
22:55:15Bagdert0mas: there's no shortcut or easy fix to switch order, you need to do it by ANDing bits and ORing them
22:56:06Biptoriaor EATing them
22:56:25Biptoriado you see what i did there...? clever huh
23:00:00 Join muesli- [0] (
23:08:49 Quit Biptoria ("CGI:IRC")
23:17:21 Quit muesli- (Read error: 60 (Operation timed out))
23:18:55 Join rasher [0] (
23:20:24 Quit zezayer ("Chatzilla 0.9.67 [Firefox 1.0.1/20050311]")
23:20:46BagderHCl: mailed
23:21:21Bagderevening rasher
23:24:59t0maslseek(fd, 62, SEEK_SET);
23:25:01rasherI'll have a look.. but I'm really not that clever.. I'm more comfortable standing on the sideline, waiting for someone to say something I can comment on :)
23:25:09t0masthat would jump to byte 62 in my file right?
23:25:35Bagdert0mas: yes
23:25:46t0masand when it returns -1 ?
23:25:50 Join muesli- [0] (
23:25:53Bagderit failed
23:25:55preglowthis is strange
23:26:01preglowi can actually remember registering for the mailing list
23:26:06preglowbut then again, i've never received any mail
23:26:14t0masok, and what are causes for it to fail Bagder?
23:26:24Bagdert0mas: errno has the answer
23:26:32stevenmhey preglow, the thing is complaining about IDATA_ADDR being used with an array of structs
23:26:38t0maswhere do I find -1 ?
23:26:41t0masfor lseek?
23:26:45preglowstevenm: what's the error?
23:27:16stevenmIn file included from midi2wav.c:40:
23:27:17stevenmmidi/midiutil.c:92: error: syntax error before "IDATA_ATTR"
23:27:32preglowstevenm: do you include a file that actually has the IDATA_ATTR define?
23:27:38Bagdert0mas: is this rockbox ?
23:27:55stevenmpreglow, yes, in midi2wav.c. It works fine there.. with ints and arrays of chars, anyway
23:27:58t0mas(I'm reading bmp files)
23:28:09preglowstevenm: i can't imagine why it shouldn't work with structs
23:28:19t0masoh wait... no.. this lseek isn't the rockbox one.. it's gnu libc
23:28:31stevenmpreglow, it doesn't work in ANYTHING not declared in midi2wav.c
23:28:32t0masI think... as I'm testing outside rockbox
23:28:34t0massorry :)
23:29:03stevenmpreglow, like, it won't work on an int in synth.c... funny thing it, IDATA_ATTR is not defined in plugin.h... it's defined in xxx2wav.h of all things
23:29:05Bagder*then* you can check errno's value after the failure
23:29:06rashert0mas: did you work out the memory thing?
23:29:19t0masrasher: yeah, most of it
23:29:25preglowstevenm: well, i have no idea, i've always had it work, but then again i never used it on arrays
23:29:26t0masBagder: I'll check errno
23:29:49stevenmanyways, I work on that later. bye people
23:29:50 Quit stevenm ("Leaving")
23:30:18*t0mas includes errno.h and starts bughunting :)
23:36:05 Quit XShocK (" Want to be different? HydraIRC -> <-")
23:37:04***Saving seen data "./dancer.seen"
23:41:20HCli think it'll take a while before i get your mail Bagder
23:41:30rasherI got it
23:41:35HClprolly cause i told it to summarize every day
23:41:37Bagderyes, there are some >600 subscribers
23:41:38rashernot 5 minutes ago
23:41:46BagderHCl: ah, yes then most likely
23:41:54HClis it on the web with a link to it?
23:43:36HCli don't understand your first bit, and the second bit is just moving stuff from the songdb script into the rockbox firmware..
23:43:53HClif you have offsets into the songdb and update the songdb then your offsets would be dead
23:44:13Bagderbut please read
23:44:22Bagderwhat isn't clear?
23:44:28HCli don't understand what you mean with "a second way" either..
23:44:35HClhow offsets would help at all..
23:44:46Bagderoffsets work when they are in synch
23:44:52rasherThat's what Zagor and I were saying - let the tag-update script keep the runtimedb in synch
23:44:54Bagderthe "other way" is for when they are not
23:45:08Bagderrasher: and I disagree, as I wrote
23:45:29HClso pretty much, you suggest moving part of the tag-update into the rockbox firmware.
23:45:44HClthe offsets are automatically calculated, you can store them to check whether they start to differ.
23:45:49rasherBagder: yeah, but it's the same idea sortof, just applied in a different scenario
23:46:10BagderI don't want the songdb to require the FORMER db nor the runtimedb when updaing a songdb
23:46:16HClpersonally, i don't see the benefits of moving the load of a tag-update (the runtime db part of it) into the firmware.
23:46:28HClwhy not?
23:46:29Bagder"optional" is the key there
23:46:30rasherIt's just *potentially* doing that
23:46:37HClit doesn't require it
23:46:43HClit just happens when the previous already exists.
23:46:44Bagderyes it does
23:46:52HClonly when there's an existing one.
23:46:54Bagderotherwise it'll break the runtimedb completely
23:47:12Bagderlet me explain
23:47:23Bagderin the current format, to update a songdb and runtimedb
23:47:26 Join asdsd_ [0] (
23:47:26 Quit muesli- (Read error: 113 (No route to host))
23:47:29Bagderyou need to run a program on the host pc...
23:47:50Bagderthat program needs the current songdb and the runtimedb to generate a new songdb and runtimedb
23:48:06Bagderand if you then add some more songs
23:48:26HClthen you rewrite the old songdb
23:48:31Bagderor if you forget, and don't use the current one...
23:48:32HCland then suddenly rockbox itself has to do all the work
23:48:36Bagderthen you blow away the old runtimedb
23:48:39HCland fix the runtimedb
23:48:46rasherit doesn't have to
23:48:46HCli don't see why you would move load to a player
23:48:51HClwhen you can just do it on the host pc.
23:48:53rashera smart user will do it while updating the tagdb
23:49:06rasherbut if something doesn't match, it *can* be done in rockbox
23:49:07Bagderif you forget, you do
23:49:21HClhow can you forget?
23:49:21Bagderrasher: only with my (or similar) changes
23:49:29HClpresuming we'll have a script that'll autodetect an existing db?
23:49:43rasherHCl: with a bit of luck, you can't :)
23:49:44BagderHCl: the existing is on the player, I generate my on my host PC
23:49:47Bagderit cannot autodetect
23:49:56rasheroh right
23:49:59HClat the moment it can't, no.
23:50:01rashersee my mail (in a minute)
23:50:04Bagderit can't, ever
23:50:08HClfrom noticing the amount of rundb records
23:50:12HClnot being the same as the amount of songs
23:50:18HClin which case it should start to scream.
23:50:39Bagderalso the runtimedb is on the player too, which I don't want to be forced to have mounted just to update my songdb. even if it is wiser
23:50:55rasherMail sent.
23:50:57HClenlighten me on how you update the db on the player
23:51:07BagderI copy it there
23:51:16Bagderbut not necessarily at the same time I run the script
23:51:36rasherHCl: assuming you have a local mirror of your player, or similarly.. run the tagdb-update using that
23:51:59HCla local mirror of my player?
23:52:07rashersure.. I have
23:52:07Bagderof course I have a local mirror
23:52:18HCli definately don't have that o.O
23:52:22rasherwell some do :)
23:52:29*HCl sighs.
23:52:30HClokay, well.
23:52:32rasherand since we have a say in designing the thing.. well :)
23:52:37HCli think i'll leave the database entirely to your hands
23:52:58HCli'm not really agreeing with it, but i'll go along as long as it will still be able to do the searches i want to make possible
23:53:26preglowa local copy mirror of mp3 player contents?
23:53:29BagderHCl: my additions as mailed here doesn't change anything major from the existing suggestion
23:53:29preglowsomeone has that?
23:53:30HCli'll start to complain the minute it can't anymore though.
23:53:48HClBagder: i'll just wait for the end result, to be honest, i'm starting to get slightly tired of it
23:53:49rasherpreglow: well I have symlinks that makes up a local mirror :)
23:54:09BagderHCl: that's how developing things in a larger group is: compromises
23:54:16HCli know that
23:54:23HCli'm not rejecting it :P
23:54:41*Bagder remembers the language file format debate
23:54:44HCli'm just, not gonna try anymore to design the database, since we *clearly* have different mindsets
23:54:45Bagderoh that was good ;-)
23:54:47 Join gromit` [0] (~gromit`
23:55:00HCli'll only complain if the eventual format is not gonna be able to do what i need
23:55:08rasherBagder: and now... noone cares :)
23:55:09BagderHCl: that works too
23:55:13Bagderrasher: yeps
23:55:13HClwhich is pretty much:
23:55:15preglowsmaller chanches of that happening if you don't participate
23:55:25Bagderrasher: everyone stopped caring the day it was introduced
23:55:28 Quit Harpy (Read error: 60 (Operation timed out))
23:55:38rasherwell, it's not like we disagree on the goal
23:55:51rasherso there should be few, if any, problems
23:55:52HCl"being able to create an on the fly playlist that adheres the conditions the user throws at it, at a reasonable speed, example: "give me all the rocksongs of the 90 and 80's, that are longer than 3 minutes and have been played at least 5 times"
23:55:52rasherin the end
23:56:15rashernow the ui for creating such searches, I'm not so sure about
23:56:25Bagderthat'll be tricky
23:56:34Bagderpossibly we can use something from ipod?
23:56:55rasherI'm guessing a "add condition" "type?" "value?" loop?
23:56:59HClthe ui isn't too hard
23:57:04HClits the algorhythm that is.
23:57:05HClrasher: yup.
23:57:19HCl"year" "above or equal" "1980"
23:57:27HCl"year" "lower or equal" "1999"
23:57:33HCl"genre" "contains" "rock"
23:57:34rasherwell the ui isn't *hard* as such.. it's just making it friendly that'll be fun
23:57:56HCl"runtime" "above or equal" "300 seconds"
23:58:03rasherlength :)
23:58:07HCl"playcount" "above or equal" "5"
23:58:12 Join zezayer [0] (
23:58:24HCland allowing to add (in theory) an infinite number of those conditions.
23:58:32Bagderdoing the algo for that will be interesting
23:58:37rasher20 should be enough for everyone
23:58:37HClyes, its gonna be hard.
23:58:45HClpretty much.

Previous day | Next day