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 2015-01-05

00:06:32 Quit TheSeven (Remote host closed the connection)
00:06:33 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
00:13:46 Quit AlexP (Remote host closed the connection)
00:16:16 Join Provel [0] (
00:17:30 Quit ender1 (Quit: History is a set of lies agreed upon.-- Napoleon Bonaparte)
00:21:10LD50thomasjfox: can I please see your cppcheck script again? your original paste seems to be gone
00:21:15 Nick LD50 is now known as [Franklin] (~franklin@unaffiliated/franklin)
00:21:33 Nick [Franklin] is now known as [TheZero] (~franklin@unaffiliated/franklin)
00:23:26thomasjfoxI usually let them expire after a week
00:23:44[TheZero]ah, ok
00:23:46 Nick [TheZero] is now known as [ (~franklin@unaffiliated/franklin)
00:23:51 Nick [ is now known as [Franklin] (~franklin@unaffiliated/franklin)
00:23:54 Join AlexP [0] (~alex@rockbox/staff/AlexP)
00:23:59[Franklin]I should really stop nick-hopping :)
00:24:53thomasjfox[Franklin]: you need this one, too:
00:25:44[Franklin]thanks :D
00:27:04thomasjfoxI'll probably make this a proper helper script in Rockbox one day
00:27:12thomasjfoxit's pretty handy (sometimes)...
00:27:59thomasjfoxanother thing would be proper unit tests. [Saint] is eager to write hundreds of tests for tagcache :P
00:28:38[Saint]I repeat;
00:28:51[Franklin]I'm tellin' ya! Automating programming is gonna be the 'next big thing'
00:30:38[Saint]Just do "cat /dev/random >"
00:30:59[Saint]Probability suggests you'd /eventually/ end up with a valid binary. :)
00:31:32thomasjfoxsee this experiment of the afl-fuzzing security tool:
00:31:56[Franklin][Saint]: /dev/urandom is best
00:32:07[Franklin]... and my fuzzing tool of choice :)
00:39:59 Quit TheLemonMan (Remote host closed the connection)
01:06:44 Quit [Franklin] (Remote host closed the connection)
01:12:35 Quit RiDD (Quit: A good plan today is better than a perfect plan tomorrow.)
01:24:30 Quit AlexP (Remote host closed the connection)
01:58:15***Saving seen data "./dancer.seen"
02:06:35 Quit pystar89 (Ping timeout: 240 seconds)
02:10:37 Join pystar89 [0] (
02:12:34 Quit thomasjfox (Quit: Konversation terminated!)
02:17:35 Join sakax [0] (~sakax@unaffiliated/sakax)
02:18:29[Saint]heh, that was weird...the forums didn't even notify me that saratoga beat me to a post.
03:05:15 Quit pystar89 (Ping timeout: 240 seconds)
03:27:14 Join Strife89 [0] (
03:49:57 Quit ZincAlloy (Quit: Leaving.)
03:58:16***Saving seen data "./dancer.seen"
05:09:34 Quit krabador (Quit: Take the time.)
05:18:32 Quit TheSeven (Ping timeout: 265 seconds)
05:19:41 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
05:58:18***Saving seen data "./dancer.seen"
06:46:24 Quit Strife89 (Ping timeout: 264 seconds)
07:46:36 Join scordwell [0] (~steve@
07:47:10 Part scordwell ("Konversation terminated!")
07:58:20***Saving seen data "./dancer.seen"
08:15:25 Quit Galois (Ping timeout: 265 seconds)
08:29:54 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
09:00:52 Quit shamus (Ping timeout: 240 seconds)
09:01:17 Join shamus [0] (
09:03:57 Join petur [0] (5bb7304d@rockbox/developer/petur)
09:04:55 Join ender` [0] (
09:18:28 Quit pamaury (Ping timeout: 244 seconds)
09:41:07 Join Galois [0] (
09:50:13 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
09:58:24***Saving seen data "./dancer.seen"
10:04:58 Quit petur (Ping timeout: 246 seconds)
10:05:08 Join petur [0] (5bb7304d@rockbox/developer/petur)
10:09:01sobukusOk, I got another trick question: I have to add stuff to tne manual for the plugin I changed. How do I actually build the manual?
10:11:04 Join einhirn [0] (
10:12:19sobukusIt's not contained in the out-of-tree builds and the Makefile in manual/ complains that I should run make in the build dir ...
10:23:47gevaertsYou have to run "make manual" in your regular build directory
10:26:12sobukusAh, it's a target ... of course.
10:27:28sobukusI'm contemplating conversion to fixed point math now ... I wonder if a specific routine parsing float values to fixed makes sense or one should just convert the resulting float.
10:28:05sobukusAs the parsing only happens once at the beginning, it might be not worth it to bother makeing that stage efficient.
10:35:46 Quit einhirn (Ping timeout: 244 seconds)
10:54:59sobukusgevaerts: Can I test CONFIG_CODEC != SWCODEC with the simulator? Perhaps choosing a specific model ...
10:56:25 Join einhirn [0] (
11:11:26gevaertssobukus: as in, to hear sound? No, the mp3 decoder chip isn't simulated
11:13:17sobukuseinhirn: well, just checking if the code builds would be a start, I just noticed an #ifdef block that I overlooked.
11:13:56sobukusActually, running the thing in the simulator even without sound would be better than nothing.
11:14:12gevaertsWell yes, you can build those
11:14:26gevaertsIt's the Archoses, in case you're wondering :)
11:14:32sobukusOnly those?
11:14:38gevaertsPlayer is the charcell one, the others are bitmap
11:15:04sobukusHm, I tried some Archos and the metronome plugin is not built for those at all.
11:15:26gevaertsWhich one?
11:15:33sobukusrecorder v2
11:16:07sobukus#if CONFIG_CODEC == SWCODEC || !defined(SIMULATOR) /* Not for hwcodec sims */
11:16:17sobukusWell, that might exclude any sim of hwcodec;-)
11:16:24gevaertsIt might, yes :)
11:16:25sobukusin apps/plugins/SOURCES
11:16:38gevaertsProbably due to the lack of sound chip emulation
11:16:56sobukusSo, that applies to all plugins that do sound, I presume.
11:17:25sobukusSo, the least I can do is to check if a build for Archos hardware goes through, but I cannot test.
11:17:32*gevaerts nods
11:17:39pixelmasobukus: for building the manual you can find some information here: (unfortunately the wiki search function doesn't work so I got that one for you)
11:18:50sobukusgevaerts: eh, bummer ... I don't have the cross-compiler setup for Archos (sh-elf-gcc).
11:19:18gevaertssobukus: that's only a quick tools/ away :)
11:20:19sobukusAha. I wonder, what are the other targets actually using? Heck, I don't have a compiler for the SoC in the Sansas installed.
11:21:15gevaerts(most of them)
11:21:19gevaertssome m68k, some mips
11:21:42sobukusYes. No I repeat my question: What ARM compiler is Rockbox using? I didn't remember installing one, it just works.
11:22:09sobukusOr I forgot. Was a busy year.
11:22:18gevaertsI suspect you forgot :)
11:22:38sobukus/opt/rockbox-dev/bin/arm-elf-eabi-as <−−- appears so
11:22:58sobukusHeh. I need a brain check.
11:26:34sobukusI really must applaud the Rockbox team for making this so easy that I forgot how I setup the toolchain.
11:30:42sobukus/data/projekte/rockbox/src/apps/action.c:26:18: error: lang.h: No such file or directory
11:30:52sobukusI cannot build for Archos target.
11:31:51gevaertsFrom a clean build directory?
11:32:42sobukusI'm starting wholly fresh again (just-re-running configure is not enough?). Better now.
11:33:08gevaertsIf you've run make clean before, normally that's enough
11:33:20gevaertsBut there might be edge cases :)
11:33:50sobukusYeah, it went through now and I got the message that my plugin is too big for 2 MiB RAM.
11:34:29gevaertsIf all else fails, just rename things a bit and keep the old metronome plugin for the archoses
11:35:06gevaertsChecking if you can fix it first is still a good idea of course :)
11:35:10sobukusI can make it fit by reducing the number of track parts the metronome supports.
11:36:07sobukusHas 2 MiB Archos the smallest PLUGIN_RAM?
11:36:52gevaertsI think so
11:37:01sobukusI guess I need to compute the size of plugin data depending on the RAM size. Is the model that a plugin should use all memory that's available to it?
11:37:31sobukusBecause, I would like to impose the least strict limit on metronome track length.
11:39:38gevaertsThere's PLUGIN_BUFFER_SIZE
11:41:24gevaertsDefined in firmware/export/config/*
11:42:45sobukusAh, so it's 32K for archos, 512K for sansa
11:42:51gevaertsYou can grab the playback buffer too of course (if you stop playback), but then you have to manage that memory manually, no static compiler allocations then
11:43:18sobukusIn the plugin buffer, the plugin code itself plus all its data has to fit?
11:43:51gevaertsExcept if you grab the playback buffer
11:43:57gevaertsCode still has to fit though
11:43:59sobukusSo, I'd rather not do that.
11:44:28sobukusSo, I'll estimate code size and derive maximum length of track data structures from that.
11:44:39sobukusBut need to do that in the preprocessor.
11:45:02gevaertsDo some test builds with various settings/targets
11:45:15gevaertsobjdump can help
11:45:39sobukusIs there API for printing the current size of the plugin data? An end pointer?
11:46:20gevaertsThere is. One moment...
11:47:04gevaertsvoid* plugin_get_buffer(size_t *buffer_size)
11:47:33gevaertsThat returns a pointer to the start of free space, and puts the size of that free space in buffer_size
11:47:58sobukusAh, with that I could do manual memory management ...
11:48:44gevaertsOr you can run "sh-elf-size apps/plugins/metronome.elf" (or arm-eabi-*, ...) and use those numbers :)
11:49:19sobukusActually, I like the dynamic approach. If I do this for one datastructure only, it's rather trivial to always use what's needed/there at runtime.
11:49:57gevaertsYes, if you can easily do it, it's better
11:54:17sobukusDamn ... no I think if I can implement a rather crazy feature in the metronome that klick has: specify a tempo for _each_ _beat_
11:54:50sobukusThat wouldn't be practicable without dynamic memory.
11:58:27***Saving seen data "./dancer.seen"
12:01:35sobukusAnyhow, this memory management is not too bad when I don't consider deallocating anything.
12:06:58 Join TheLemonMan [0] (~lemonboy@unaffiliated/thelemonman)
12:16:12 Join eeeeeta [0] (~eeeeeta@gateway/tor-sasl/eeeeeta)
12:16:43sobukusgevaerts: OK, now only one question remains: Is 4-byte alignment of memory blocks fine for all architectures or do we consider arm64 where 8 bytes might be of value (not sure of that)?
12:17:40gevaertsWe'll start considering arm64 if we ever have such a target
12:18:19 Join AlexP [0] (~alex@rockbox/staff/AlexP)
12:18:21sobukusOk, so I'll make sure I only use 32 bit types max and align to 4 byte.
12:30:17 Quit einhirn (Ping timeout: 245 seconds)
12:36:34DEBUGEOF from server (Connection reset by peer) (snapshot: netstuff.c line 545)
12:36:34***Saving seen data "./dancer.seen"
12:36:36***Started Dancer V4.16
12:36:36***Connected to on port 6667
12:36:36***Logfile for #rockbox started
12:36:42Mode"logbot_ :+i" by logbot_
12:36:48***Server message 501: 'logbot_ :Unknown MODE flag'
12:36:53 Join logbot_ [0] (
12:36:53 Join uwe__ [0] (
12:36:53 Join GeekShad1w [0] (
12:36:53 Join AlexP [0] (~alex@rockbox/staff/AlexP)
12:36:53 Join eeeeeta [0] (~eeeeeta@gateway/tor-sasl/eeeeeta)
12:36:53 Join TheLemonMan [0] (~lemonboy@unaffiliated/thelemonman)
12:36:53 Join petur [0] (5bb7304d@rockbox/developer/petur)
12:36:53 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
12:36:53 Join Galois [0] (
12:36:53 Join ender` [0] (
12:36:53 Join shamus [0] (
12:36:53 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
12:36:53 Join sakax [0] (~sakax@unaffiliated/sakax)
12:36:53 Join Provel [0] (
12:36:53 Join fs-bluebot [0] (
12:36:53 Join Scromple [0] (~Simon@
12:36:53 Join bluebrother^ [0] (~dom@rockbox/developer/bluebrother)
12:36:53 Join cmhobbs [0] (~cmhobbs@fsf/member/cmhobbs)
12:36:53 Join mykhal [0] (
12:36:53 Join michaelni [0] (
12:36:53 Join soap [0] (~soap@rockbox/staff/soap)
12:36:53 Join JanC [0] (~janc@lugwv/member/JanC)
12:36:53 Join krnlyng [0] (~liar@
12:36:53 Join dfkt [0] (dfkt@unaffiliated/dfkt)
12:36:53 Join derf [0] (
12:36:54 Join bp0 [0] (~bp@unaffiliated/bp0)
12:36:54 Join fyrestorm [0] (
12:36:54 Join foolsh [0] (
12:36:54 Join Scall [0] (~chat@unaffiliated/scall)
12:36:54 Join advcomp2019__ [0] (~advcomp20@unaffiliated/advcomp2019)
12:36:54 Join mikroflops [0] (~yogurt@
12:36:54 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
12:36:54 Join Ketturi [0] (
12:36:54 Join byteframe [0] (~byteframe@unaffiliated/byteframe)
12:36:54 Join Mir [0] (
12:36:54 Join Jinx [0] (Dojo@unaffiliated/jinx)
12:36:54 Join pixelma [0] (~pixelma@rockbox/staff/pixelma)
12:36:54 Join amiconn [0] (~amiconn@rockbox/developer/amiconn)
12:36:54 Join mshathlonxp [0] (mshathlonx@
12:36:54 Join Guest75680 [0] (Slayer@
12:36:54 Join Zambezi [0] (
12:36:54 Join AlwaysHi- [0] (~AlwaysHig@
12:36:54 Join scorche [0] (~scorche@rockbox/administrator/scorche)
12:36:54 Join pimaster [0] (~pimaster@
12:36:54 Join tchan [0] (~tchan@lunar-linux/developer/tchan)
12:36:54 Join Riviera [0] (Riviera@2a03:b0c0:1:d0::10:b001)
12:36:54 Join burgobianco [0] (
12:36:54 Join zoktar [0] (~zoktar@unaffiliated/zoktar)
12:36:54 Join shmibs [0] (~shmibs@
12:36:54 Join greatwolf [0] (greatwolf@gateway/shell/panicbnc/x-amntslmoethxtdeq)
12:36:54 Join Cinos [0] (
12:36:54 Join igitoor [0] (igitur@unaffiliated/contempt)
12:36:54 Join Rondom [0] (
12:36:54 Join ps-auxw [0] (~arneb@2001:470:c807:0:1532:4e5f:2ad3:4123)
12:36:54 Join KotH [0] (~attila@2001:1620:907::1)
12:36:54 Join GodEater [0] (~whoknows@rockbox/staff/GodEater)
12:36:54 Join akaWolf [0] (~akaWolf@unaffiliated/akawolf)
12:36:54 Join Epakai [0] (
12:36:54 Join WakiMiko [0] (~WakiMiko@unaffiliated/wakimiko)
12:36:54 Join the-kyle [0] (
12:36:54 Join dongs [0] (
12:36:54 Join zu [0] (
12:36:54 Join maraz [0] (
12:36:54 Join n17ikh [0] (~n17ikh@unaffiliated/n17ikh)
12:36:54 Join bzed [0] (
12:36:54 Join kugel [0] (~kugel@rockbox/developer/kugel)
12:36:54 Join ParkerR [0] (ParkerR@unaffiliated/parkerr)
12:36:54 Join Unhelpful [0] (~quassel@rockbox/developer/Unhelpful)
12:36:54 Join markun [0] (~markun@rockbox/developer/markun)
12:36:54 Join ukleinek [0] (~ukl@unaffiliated/ukleinek)
12:36:54 Join rudi_s [0] (
12:36:54 Join @ChanServ [0] (ChanServ@services.)
12:36:54 Join preglow [0] (~thomj@2001:840:4243:3::100)
12:36:54 Join kvieta [0] (~kvieta@
12:36:54 Join TBCOOL [0] (
12:36:54 Join alexbobp [0] (
12:36:54 Join rasher [0] (~rasher@rockbox/developer/rasher)
12:36:54 Join froggyman [0] (~frogs@unaffiliated/froggyman)
12:36:54 Join pookie_ [0] (
12:36:54 Join evilnick [0] (~evilnick@rockbox/staff/evilnick)
12:36:54 Join charlie [0] (~c@unaffiliated/charlie)
12:36:54 Join x56 [0] (
12:36:54 Join APLU [0] (
12:36:54 Join user890104 [0] (Venci@unaffiliated/user890104)
12:36:54 Join renopt [0] (~renopt@unaffiliated/renopt)
12:36:54 Join gevaerts [0] (~fg@rockbox/developer/gevaerts)
12:36:54 Join endee_ [0] (sid15467@gateway/web/
12:36:54 Join babylonlurker [0] (
12:36:54 Join yosafbridge [0] (~yosafbrid@
12:36:54 Join mazzoo [0] (
12:36:54 Join enyc [0] (
12:36:54 Join yuriks [0] (~quassel@opentyrian/developer/yuriks)
12:36:54 Join williamtdr [0] (uid27909@gateway/web/
12:36:54 Join ender| [0] (krneki@2a01:260:4094:1:42:42:42:42)
12:36:54 Join aevin [0] (eivindsy@unaffiliated/aevin)
12:36:54 Join Makinit [0] (
12:36:54 Join Naked_ [0] (
12:36:55 Join Marex [0] (~Marex@
12:36:55 Join Xyem_ [0] (
12:36:55 Join alucryd [0] (~quassel@archlinux/trusteduser/alucryd)
12:36:55 Join Elfish [0] (amba@2001:1608:12:1:13:3:3:7)
12:36:55 Join cronix [0] (
12:36:55 Join TD-Linux [0] (~Thomas@about/essy/indecisive/TD-Linux)
12:36:55 Join funman [0] (~fun@rockbox/developer/funman)
12:36:55 Join simabeis [0] (
12:36:55 Join sLite [0] (
12:36:55 Join K1773R [0] (~K1773R@unaffiliated/k1773r)
12:36:55 Join Topy44 [0] (
12:36:55 Join Slasheri [0] (miipekk@rockbox/developer/Slasheri)
12:36:55 Join adnap [0] (
12:36:55 Join scorche|sh [0] (~scorche@rockbox/administrator/scorche)
12:36:55 Join aevin2 [0] (
12:36:55 Join ranmachan [0] (
12:36:55 Join uwe_mobile [0] (
12:36:55 Join knittl [0] (~knittl@unaffiliated/knittl)
12:36:55 Join ruskie [0] (ruskie@sourcemage/mage/ruskie)
12:36:55 Join architekt [0] (
12:36:55 Join suYin`OFF [0] (
12:36:55 Join Jack87 [0] (Jack87@nasadmin/admin/jack87)
12:36:55 Join [Saint] [0] (~saint@rockbox/staff/saint)
12:37:34 Quit Scromple (Read error: Connection reset by peer)
12:37:40 Join Scr0mple [0] (~Simon@
12:38:28 Join __jae___ [0] (
12:39:50 Join lbrown [0] (
12:46:31 Join sobukus [0] (
13:25:57 Join krabador [0] (~krabador_@unaffiliated/krabador)
14:01:43 Join einhirn [0] (
14:05:59 Quit pookie_ (Ping timeout: 272 seconds)
14:06:56 Join XavierGr [0] (~XavierGr@2001:41d0:52:100::2e5)
14:07:19 Join olspookishmagus [0] (
14:07:24 Quit XavierGr (Changing host)
14:07:24 Join XavierGr [0] (~XavierGr@rockbox/staff/XavierGr)
14:07:42 Nick olspookishmagus is now known as Guest2763 (
14:15:02 Quit cmhobbs (Remote host closed the connection)
14:34:54 Nick AlwaysHi- is now known as AlwaysHih (~AlwaysHig@
14:34:57 Nick AlwaysHih is now known as AlwaysHigh (~AlwaysHig@
14:36:40***Saving seen data "./dancer.seen"
14:52:36 Join amithkk [0] (uid4289@2buntu/writers/amithkk)
14:57:31 Join ZincAlloy [0] (
15:10:11 Join amayer [0] (
15:14:34sobukusWhile finishing the metronome plugin, I noticed that it has a timer running also when paused. Does a 1-ms-timer triggering a small callback hinder the hardware from conserving power?
15:16:02sobukusI guess it would be beneficial to only start the timer when actually playing, right?
15:18:14gevaertsI'd say that would be better, yes
15:18:43gevaertsI have no idea how much power you'll save, but it certainly won't be worse
15:18:47sobukusFine. Now my question is if a timer every 1 ms is actually excessive in itself.
15:19:03sobukusHow realtime is Rockbox?
15:20:11sobukusI might optimize this by computing the minimal period needed between two beats in a track.
15:21:45gevaertsThose timers are hardware timers, and I think the callback runs from the interrupt
15:21:57gevaertsIf so, that would make that callback fairly realtime :)
15:25:41sobukusYeah. I need to wonder a bit about TIMER_FREQ/timerfreq_div and its implications.
15:26:46gevaertsThe thing is of course that on SWCODEC you don't actually play sounds from that interrupt handler, so it's not entirely clear how accurate the end result is
15:27:10 Join edhelas [0] (~edhelas@
15:29:09sobukusgevaerts: Yeah. About that ... is there a standard way to get Rockbox' audio output ... eh, never mind. I can just record headphone output from the real device;-)
15:31:24sobukusI'll experiment with the timer stuff, also trying to monitor battery drain, after the first version of the new metronome is merged.
15:31:48sobukusSince I did not change that aspect from the old one.
16:03:51 Join Strife89 [0] (
16:12:57 Quit michaelni (Ping timeout: 265 seconds)
16:25:12 Join michaelni [0] (
16:35:40 Quit einhirn (Ping timeout: 265 seconds)
16:36:43***Saving seen data "./dancer.seen"
16:50:16 Quit mykhal (Ping timeout: 245 seconds)
16:52:55 Quit Strife89 (Ping timeout: 250 seconds)
16:56:00 Quit foolsh (Ping timeout: 264 seconds)
16:57:20 Join mykhal [0] (
16:57:38 Join foolsh [0] (
16:58:35sobukusOK, I'm in a really weird place now. I added dynamic memory use to the plugin and now a printf for debugging changes values being debugged.
16:58:45sobukusI must assume I messed up memory.
17:05:22 Quit amithkk (Quit: Connection closed for inactivity)
17:26:28 Quit edhelas (Ping timeout: 245 seconds)
17:27:53 Join Ivoah [0] (
17:28:59 Quit TheLemonMan (Remote host closed the connection)
17:37:09 Quit petur (Ping timeout: 246 seconds)
18:06:52 Join pystar89 [0] (
18:12:18 Join [Franklin] [0] (~franklin@unaffiliated/franklin)
18:17:29 Join thomasjfox [0] (~thomasjfo@rockbox/developer/thomasjfox)
18:36:45***Saving seen data "./dancer.seen"
18:41:51 Join fyre^OS [0] (
18:45:03 Quit fyrestorm (Ping timeout: 244 seconds)
18:50:46*thomasjfox crosses fingers not to break the build
18:50:57fs-bluebotBuild Server message: 3New build round started. Revision fdd4aef, 255 builds, 29 clients.
18:57:19 Quit Cinos (Ping timeout: 272 seconds)
18:59:36 Join Qazerowl [0] (4395b9fc@gateway/web/freenode/ip.
19:00:35 Join Cinos [0] (
19:00:49thomasjfoxok, that didn't quite work out on the first shot:D
19:01:34QazerowlHello. I recently installed rockbox onto a Sansa Clip+, and was wondering if it is possible to use the volume controller on my earbuds.
19:02:48QazerowlIt doesn't seem to work by default, I was wondering if I need to change some setting or if the clip+ just isn't capable of detecting the controller.
19:04:10[Franklin]Qazerowl: is it a 4-pin inline remote?
19:04:18[Franklin]if so, rockbox doesn't support it... yet
19:04:42pamauryQazerowl: probably not, it needs special hardware to be detected (also it depends on the kind of headphones (although it pretty standard for android-ish targeted headphones / manufacturers)) which I doubt the device has, but I'm not a specialist of the Clip+
19:04:59 Quit pamaury (Remote host closed the connection)
19:07:37QazerowlWould a four pin inline remote have a 3.5mm with four metal "stripes"?
19:07:52[Franklin]yes, that's it
19:08:21[Franklin]I don't think that's what it's really called, though
19:08:49QazerowlOk, so the hardware is there, it's just not in the code yet, correct?
19:09:48[Franklin]I'm not sure about the Clip+
19:09:52[Franklin]did it work in OF?
19:10:06fs-bluebotBuild Server message: 3New build round started. Revision f91434c, 255 builds, 29 clients.
19:10:37 Quit amiconn (Quit: No Ping reply in 64 seconds.)
19:11:30 Quit pixelma (Quit: No Ping reply in 120 seconds.)
19:12:17 Quit Rondom (Remote host closed the connection)
19:12:32 Quit TheSeven (Remote host closed the connection)
19:13:47 Join Rondom [0] (
19:14:14 Quit Riviera (Ping timeout: 265 seconds)
19:14:14 Quit WakiMiko (Ping timeout: 265 seconds)
19:14:48QazerowlI didn't have headphones with a remote until after I put rockbox on it, but google says some headphone controllers work with it.
19:15:35 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
19:15:48Qazerowlis there a hardware difference between headphones that only work with iPods and those than only work with other devices, or is it that they just send different signals?
19:16:18fs-bluebotBuild Server message: 3Build round completed after 325 seconds.
19:16:27 Join Riviera [0] (Riviera@2a03:b0c0:1:d0::10:b001)
19:16:32 Join amiconn [0] (~amiconn@rockbox/developer/amiconn)
19:17:20 Join pixelma [0] (~pixelma@rockbox/staff/pixelma)
19:17:49 Join WakiMiko [0] (~WakiMiko@unaffiliated/wakimiko)
19:23:50 Join RiD [0] (
19:27:39sobukusQazerowl: I'm really not sure that the Clip+ hardware supports such headphone controls. I actually doubt it.
19:28:14sobukusQazerowl: The clip is designed to be clipped on your clothes at about the same distance from your head as the headphone remote would dangle around.
19:28:37 Quit krabador (Quit: Take the time.)
19:29:04sobukusIt's about as large as a cable remote for an old walkman (only slightly exaggerating)
19:29:07 Join krabador [0] (~krabador_@unaffiliated/krabador)
19:32:34sobukusBtw. In case someone wondered: I didn't mess up memory. I messed up the types, halfway converting from float to fixed.
19:32:47sobukusMy memory handling is Rockbox-solid!
19:36:43 Join edhelas [0] (
19:36:53[Franklin]sobukus: regarding floats/fixed, I'd say floats are best if you need a wide range of precision
19:37:43sobukus[Franklin]: well, I don't really need a wide range, I think fixed should be fine.
19:38:21sobukusAlso, I don't see an obvious performance problem with what I have (float calculations).
19:38:38[Franklin]all the floating-point operations are emulated in software
19:38:45[Franklin]there's no FPU
19:38:50[Franklin]so... it's slow
19:39:04sobukusDon't modern devices have FPUs?
19:39:39sobukusBut anyhow, I'll convert to fixed just for the heck of it, but the Sansa clip+ seems to be fine with one slightly complex float computation per metronome beat.
19:39:46[Franklin]not MP3 players :P
19:40:11[Franklin]is it the same computation every beat?
19:43:10sobukusThe worst case is a tempo changing ramp (some bpm every beat).
19:43:38sobukusThen, it's the same computation, but differing values, of course. And the point is to have the changes between beats subtle.
19:44:07[Franklin]can you precalculate all the logs when the file is loaded?
19:44:10sobukusSo a coars loopup table won't do ... and it would be 2D, anyway (time difference between two beats of tempo a and b)
19:45:05sobukus[Franklin]: theoretically, yes ... but I'd need to store the stuff someplace ... you could program an awfully long track with very slow tempo change
19:45:33sobukusSince even the float computation is apparently no problem, a fixed-point one really should be fine.
19:45:55*sobukus needs to verify the accurateness of the metronome by recording the output from the device
19:46:30 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
19:53:40 Join lebellium [0] (
19:57:22 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
20:16:38 Join petur [0] (~petur@rockbox/developer/petur)
20:22:42sobukusYep, around 0.1-0.2 s offset afer 120 seconds playback due to the quantization of the time with the timer mechanism.
20:24:42sobukusWeren't it for the archos devices, I could just create a pcm stream with long-time accurate timing, depending on the actual clock.
20:28:08[Franklin]you don't /have/ to support the archoses ;)
20:28:15 Quit edhelas (Ping timeout: 264 seconds)
20:29:13sobukusWell, it would be a regression from the old metronome, so some criticism would be warranted.
20:29:40sobukusAnd anyhow, I would need to figure out how to produce a continuous stream and still have the interactive work right.
20:30:27 Quit thomasjfox (Quit: Konversation terminated!)
20:30:30[Franklin]sobukus: yes, but you could #ifdef out the new code
20:30:38gevaertsIt would only be a regression if you didn't keep the old one around
20:31:39foolshotherwise you can call it "legacy support" :)
20:31:56[Franklin]if you can't figure it out, that is
20:32:08sobukusNah, now I merged the stuff into the normal metronome. Changing the basic timing and playback method and keeping also the old one around in the same file doesn't sound sane to me.
20:32:54sobukusThe accuracy is fine enough, actually. I could make the timer interval even smaller (what's a limit the hardware can take?).
20:33:45gevaertsDepends on the target. IIRC it goes from 10kHz to 10MHz
20:33:50gevaertsMore or less
20:34:10sobukusAnd firing a callback each 0.1 ms is fine with the system?
20:34:24gevaertsTry it :)
20:34:51sobukusI'd need to record the power consumption, too. I'd trade some accuracy for some hours more of battery life.
20:35:06sobukusIf it doesn't matter there, of course, it should have best accuract.
20:36:04sobukusBut let's finish one version already.
20:36:49***Saving seen data "./dancer.seen"
20:39:36 Quit Qazerowl (Quit: Page closed)
20:52:15 Quit pystar89 (Ping timeout: 264 seconds)
21:01:27 Nick uwe__ is now known as uwe_ (
21:08:42 Join lorenzo92 [0] (
21:31:20[Franklin]does anyone feel that it's time for a release?
21:32:26the-kyleIt's time for another dev build I think. heheh
21:34:37sobukusSomeone familiar with the fixedpoint stuff>
21:34:40lorenzo92can someone quickly confirm me that this license here is compatible with our GPL one?
21:35:28lorenzo92it seems a BSD - 3 to me, which is compatible...correct?
21:36:00sobukusAh, never mind.
21:36:08*sobukus got the error in his rounding
21:36:17gevaertslorenzo92: looks OK to me
21:36:33lorenzo92gevaerts: thanks ;)
21:36:51lorenzo92indeed, but in case I'm documenting more also for personal information hehe
21:39:10[Franklin]lorenzo92: looks like 3-clause BSD
21:42:52lorenzo92[Franklin]: thanks you too ;)
21:51:48 Join ender1 [0] (
21:54:09 Quit ender` (Ping timeout: 244 seconds)
22:18:58 Quit RiD (Quit: A good plan today is better than a perfect plan tomorrow.)
22:22:34 Quit pamaury (Ping timeout: 244 seconds)
22:23:23 Join RiD [0] (
22:36:53***Saving seen data "./dancer.seen"
22:45:37 Join Strife89 [0] (
22:54:48 Quit JanC (Ping timeout: 264 seconds)
23:00:36 Quit petur (Quit: Leaving)
23:08:24 Join JanC [0] (~janc@lugwv/member/JanC)
23:09:26 Quit lorenzo92 (Quit: ChatZilla [Firefox 30.0/20140608211457])
23:14:51 Quit fs-bluebot (Ping timeout: 240 seconds)
23:15:21 Quit bluebrother^ (Ping timeout: 240 seconds)
23:15:33 Join fs-bluebot [0] (
23:17:24 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
23:24:14 Quit ender1 (Quit: Two possibilities exist: Either we are alone in the Universe, or we are not. Both are equally terrifying.-- Arthur C. Clarke)
23:55:41 Quit lebellium (Quit: ChatZilla [Firefox 35.0/20141229214612])

Previous day | Next day