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 2017-01-13

00:01:44 Quit lebellium (Quit: ChatZilla 0.9.93 [Firefox 50.1.0/20161208153507])
00:02:29 Quit robertd1 (Ping timeout: 260 seconds)
00:04:37 Quit girafe (Read error: Connection reset by peer)
00:05:17[Saint]Well, if you're still talking about the SIM, presumably it's not ARM.
00:10:34 Quit petur (Quit: Leaving)
00:11:09 Join robertd1 [0] (
00:13:59__builtinit only stops playback on target
00:15:32pamaury__builtin: which targets is that ? Maybe the plugin is too big and needs more memory ? (just a tought, I really don't know how it works)
00:15:58__builtinprobably not though, I don't think that's how it works
00:16:54[Saint]I don't think that audiobuf can be dynamically resized during playback.
00:17:12 Join Bray90820_ [0] (
00:17:13[Saint]so if a plugin needs even a few bytes more than pluginbuf it'll stop playback I believe.
00:17:38[Saint]it'll only shrink the buffers back after the fact I think.
00:18:06[Saint]buflib is kinda half useful.
00:18:39[Saint]it's kinda removed from an actual dynamic buffering system, it's more retroactive than proactive by my understanding.
00:18:53pamauryI would think that the audiobuf contains several allocations and only the currently-being-played-chunk and the currently-being-decoded-chunk are locked ?
00:19:10 Quit Bray90820 (Ping timeout: 248 seconds)
00:19:14pamaurybut you're right that if they are in the middle of the memory, not much can be done
00:19:22pamaurysince you can't move them without an MMU
00:21:09 Quit robertd1 (Ping timeout: 260 seconds)
00:24:25 Join robertd1 [0] (
00:25:14__builtinthe only reason I'm concerned about this is that it might be related to a crash after audio is started from inside the plugin
00:28:48 Quit robertd1 (Ping timeout: 258 seconds)
00:32:08 Join robertd1 [0] (
00:36:51 Quit ender` (Quit: #include <unistd.h> | #define Bork for | #define bork fork() | int main() { Bork(bork ;; bork) bork; })
00:37:44[Saint]ah, right.
00:39:18 Quit robertd1 (Ping timeout: 255 seconds)
00:39:40__builtinotherwise I have to rason to touch audio ;)
00:40:00***Saving seen data "./dancer.seen"
00:40:20__builtin*no reason
00:40:59 Join robertd1 [0] (
00:42:48__builtinit's an IRAM issue, I think
00:43:31__builtinthough that doesn't explain audio stopping, or does it? o.O
00:45:34__builtinyes, that fixed it!
00:45:44__builtinsomething something audio IRAM
00:45:54pamaury__builtin: what fixed what ?
00:46:08__builtinremoving ICODE_ATTR from a function
00:46:13__builtingotta run now, sorry
00:46:23pamauryjust curious, if you can describe it so hopefully someone knowledgeable can fix it ;)
00:48:12[Saint]ipod6g has some peculiarities with IRAM, but I can't see how this would affect it.
00:48:51[Saint]IIUC, it's basically got a 'fast' half, and a 'slow' half of IRAM, and no real way to designate to either reliably.
00:49:16[Saint]IMO there's no real reason to use IRAm at all on the ipod6g.
00:49:34 Quit robertd1 (Ping timeout: 248 seconds)
00:49:39[Saint]It's not like the conventional RAM is slow.
00:50:10 Join robertd1 [0] (
00:52:08[Saint]And I sincerely doubt that there would be any noticeable difference in runtime or performance without it.
00:53:01[Saint]Or even any difference at all, noticeable or otherwise.
01:00:46 Quit robertd1 (Ping timeout: 248 seconds)
01:01:49 Join robertd1 [0] (
01:03:33 Quit pamaury (Ping timeout: 240 seconds)
01:10:33prof_wolfff__builtin: sorry cannot find it in the logs, i have many unread logs an probably missed something, what is the bug and the functions you are refering?, as Saint said IRAM should not affect, sometimes moving functions could masquerade some alignment of buffer overflow issues
01:11:01prof_wolfffalignment or*
01:12:43[Saint][20170113111230] <__builtin> alright, looks like something is putting Q_AUDIO_STOP in the playback queue
01:12:43[Saint][20170113111432] <__builtin> good thing is there's only 3 places in the code that do that
01:12:43[Saint][20170113121401] <__builtin> it only stops playback on target
01:12:43DBUGEnqueued KICK [Saint]
01:12:43[Saint][20170113124243] <__builtin> AHA!
01:12:43[Saint][20170113124250] <__builtin> it's an IRAM issue, I think
01:12:52[Saint][20170113124333] <__builtin> though that doesn't explain audio stopping, or does it? o.O
01:12:53[Saint][20170113124536] <__builtin> yes, that fixed it!
01:13:11[Saint]that's really all there was too it - I guess you'll need to poke him to be more explicit.
01:15:23prof_wolfff[Saint]: thanks, __builtin: it would be useful to know how to reproduce it and the IRAM function involved
01:20:42 Join smoke_fumus [0] (
01:21:28 Quit robertd1 (Ping timeout: 256 seconds)
01:34:33 Quit ZincAlloy (Quit: Leaving.)
01:36:45prof_wolfff[Saint]: about IRAM, OF uses IRAM as a ping-pong buffer for audio playback, can't remember the address and size of the buffers but i will bet that for powersaving it uses the first 128KB (slow block) while the DRAM is hibernated
01:37:17 Quit scorche (Read error: Connection reset by peer)
02:01:36__builtinprof_wolfff: sorry I couldn't elaborate a bit more
02:02:01__builtinso the gist of it is this: I was investigating why two things were happening to my plugin(s)
02:02:49__builtin1) audio stopped upon entering plugin without any reason
02:03:29__builtin2) it crashed when entering a game while audio was being played
02:03:53__builtinso it turned out that it was crashing in a function with the ICODE_ATTR flag
02:04:57__builtinprof_wolfff: said function is available at:
02:05:49__builtinand that these two issues were related by that one function, as removing the ICODE_ATTR fixes both of them
02:06:40prof_wolfffi don't know too much about the plugin API, but IIRC some plugins stops playback and other does not, i.e FFT continues playback while running, IIRC some test plugin stops playback to use the audio buffer and there is a crash on exit because the audiobuf is not restored
02:07:36prof_wolfffhave you tested if FFT has the same issue?, if FFT works then you can try to do in the same way and see what happens
02:09:06__builtinprof_wolfff: fft works normally, no crash
02:09:11__builtinand audio continues to play
02:09:55__builtinI know what causes issue 1), I think
02:11:17prof_wolfffthe ICODE_ATTR functions belongs to your plugin?
02:13:29prof_wolfffprobably it is not the case but i am wondering what happens if there is not enough free IRAM, could this happen?
02:13:48__builtinhmm, I don't think so, the linker should detect it
02:14:38__builtinI suspect that there may be a conflict between the ICODE_ATTR function and audio playback
02:15:24 Join scorche [0] (~scorche@rockbox/administrator/scorche)
02:15:35prof_wolfffi don't know exactly how the plugins are loaded, IIRC some things could be configured as IRAM at compile time, but maybe someone could tell us how the plugins are loaded dinamically
02:17:00__builtinprof_wolfff: should help
02:17:44__builtinthe part on PLUGIN_IRAM_INIT is wrong, however
02:18:39chrisjjpamaury, to answer your 'does your mysterious ZEN with funny lcd works with the 03e version', yes it (Unit N) does.
02:21:10chrisjj(with no dots or any other obvious fault.)
02:21:24chrisjjI presume that's not the answer for which you were hoping. :)
02:24:18chrisjj(FTR for anyone following this in future, the 03e firmware updater shows the wrong version number . And complains that an 80% charge is in sufficient, Goodness knows why.)
02:25:13 Join xasthur [0] (18854eee@gateway/web/freenode/ip.
02:26:09 Quit Senji (Ping timeout: 240 seconds)
02:28:50 Quit skapazzo (Quit: leaving)
02:34:37prof_wolfff__builtin: i was looking to the .lds files and it seems everything is ok, there are 200KB of IRAM for codecs/plugins, but need to look at it on detail, anyway there is no benefict on using IRAM on ipod6g, the first 72Kb of the 200Kb region are slow memory
02:35:28__builtinI guess the safe move is "don't do it" for now
02:37:24prof_wolfffyes, for powersaving (and speed on read/store for actual IRAM data/code) i was planing to disable the IRAM on future
02:40:03***Saving seen data "./dancer.seen"
02:42:23xasthurI need an advise guys. I have Sennheiser HD 202 headphones and Sony Nwz-A15 music player. Is it worth it to keep music files as .flac? Can anyone understand the difference between .flac and .mp3 with this devices?
02:43:15__builtinthe advantage of FLAC over MP3 is that it's lossless, which means that no information is lost during compression
02:44:04__builtinhowever, keep in mind MP3 at high bitrates is essentially indistinguishable from any lossless format
02:44:51xasthurThank you :)
03:01:32 Quit xasthur (Quit: Page closed)
03:13:00[Saint]prof_wolfff: am I correct in my assumption that in terms of Rockbox, using (or not using) IRAM won't really make a shit of difference to either performance or runtime?
03:13:47[Saint]Oh, I see you've answered this above. My bad. Sorry for missing that.
03:14:17[Saint]Yes. I got the impression walking through the code a while back that the only thing using IRAM on this target actually does is convolute things.
03:15:24[Saint]__builtin: the plugin memory layout thing has probably been wrong ever since the buffering system was absolutely gutted and replaced with buflib.
03:17:52[Saint]chrisjj: it is very standard practice for many modern devices to refuse to do a firmware update unless it is 100% and externally powered.
03:18:16[Saint]The "goodness knows why" thing is that for some targets failing within this process would be irrecoverable.
03:18:28[Saint]It's basically just good industry practice.
03:40:03prof_wolfff[Saint]: yes, in addition disabling IRAM decreases power in about 1-2% (IIRC, maybe more), another way i found to 'easily' decrease power is to increase the DRAM refresh time, i got it up to unbelievable values, but there is no need to increase it too much to notice the powersaving
03:50:25 Join ungali [0] (
03:50:25 Quit ungali (Changing host)
03:50:25 Join ungali [0] (ungali@unaffiliated/ungali)
03:54:01 Join saratoga [0] (123e11e0@gateway/web/freenode/ip.
03:54:33saratogaprof_wolfff: 128KB of IRAM is what many PP devices had, so if the IRAM is any faster at all than DRAM the codecs could use it to improve speed
03:54:49saratogathey are already able to allocate either 96 or 128kb of IRAM via compile time switch
04:00:51prof_wolfffsaratoga: on ipod6g first half (128Kb) of IRAM is at least 1/2 slower (actually 1/3 or 1/4 IIRC) than the second half, the IRAM second half is about as fast as DRAM: slightly faster on read and slightly slower on writes (or vice-versa, cannot recall), anyway it is not much noticed when cache is used (fortunately ipod6g cache size is 16KB), but very noticeable on non-cached or DMA transfers
04:01:31saratogaprof_wolfff: did you ever try it with codecs?
04:03:16prof_wolfffno, not tried to load codecs on DRAM instead of IRAM, i am supposing actually they are using 72Kb of slow IRAM
04:03:52saratogaperformance for various codecs can be pretty sensitive to memory, its probably worth trying mp3/vorbis in the fast half and see what happens
04:04:59prof_wolfffit seem easy to do, will try it
04:05:28 Quit ungali (Quit: ungali)
04:05:50saratogai made standard test files for benchmarking if you need them:
04:07:14saratogausually though vorbis and mp3 are good tests of memory performance
04:08:52 Join ungali [0] (ungali@unaffiliated/ungali)
04:09:13prof_wolfffi performed some test a few months so the files are already on my device, i think it will be noticed, but not much at all because of the big cache size, but it also depends on the kind of code and data, maybe some codecs will be affected more than others
04:10:25prof_wolfffi will try to do the tests using codecs on IRAM an DRAM if possible
04:10:50prof_wolfffsecond IRAM half and*
04:20:31BilgusAnyone want to give me some feedback on this time picker?
04:36:50 Join seanussija [0] (
04:36:56 Part seanussija
04:40:05***Saving seen data "./dancer.seen"
04:46:46 Join IdentService [0] (
04:46:53 Part IdentService
05:08:52[Saint]Looks OK I guess. Not sure we need picosecond resolution though. ;)
05:09:37[Saint]No devices we support could even clock to that. What happened there, lol?
05:11:08BilgusOh i show it but it only goes down to 1000/HZ resolution
05:21:12BilgusI kinda figured i'd leave it since it makes it easier to distinguish which is the MS field at a glance
05:23:25BilgusI guess I could make it a 'dot'
05:25:12fs-bluebotBuild Server message: New build round started. Revision 954d934, 255 builds, 16 clients.
05:36:58fs-bluebotBuild Server message: Build round completed after 706 seconds.
05:37:00fs-bluebotBuild Server message: Revision 954d934 result: All green
05:44:52 Quit ungali (Ping timeout: 240 seconds)
06:26:53 Quit TheSeven (Ping timeout: 240 seconds)
06:27:32 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
06:40:08***Saving seen data "./dancer.seen"
06:44:14 Join Senji [0] (~Senji@
08:07:54 Quit amiconn (Quit: - Chat comfortably. Anywhere.)
08:07:54 Quit pixelma (Quit: .)
08:08:05 Join pixelma [0] (~pixelma@rockbox/staff/pixelma)
08:08:06 Join amiconn [0] (~amiconn@rockbox/developer/amiconn)
08:12:06 Join parchd [0] (~parchd@unaffiliated/parchd)
08:34:44 Join ender` [0] (
08:40:11***Saving seen data "./dancer.seen"
08:46:57 Join einhirn [0] (
09:22:02 Quit derf (Ping timeout: 248 seconds)
09:22:06 Join wodz [0] (
09:22:07 Quit wodz (Client Quit)
09:22:24 Join wodz [0] (
09:23:42 Join derf [0] (
09:46:59 Join elensil [0] (~edhelas@2001:1c02:1903:d800:809e:c47a:12e2:77b8)
09:54:08 Quit dongs (Ping timeout: 255 seconds)
09:55:09 Join dongs [0] (
09:59:16 Join ungali [0] (ungali@unaffiliated/ungali)
10:06:37 Join paulk-collins [0] (~paulk@
10:19:31 Quit krnlyng (Ping timeout: 240 seconds)
10:32:55 Join krnlyng [0] (
10:39:29 Join skapazzo [0] (~skapazzo@
10:40:13***Saving seen data "./dancer.seen"
10:43:52 Join xorly [0] (~xorly@
10:53:01 Quit ungali (Quit: ungali)
10:59:29 Quit xorly (Quit: WeeChat 1.7-dev)
11:00:05 Join xorly [0] (~xorly@
11:00:27 Quit xorly (Client Quit)
11:01:04 Join xorly [0] (~xorly@
11:14:17 Join robertd1 [0] (
11:19:19 Quit xorly (Ping timeout: 252 seconds)
11:41:44 Quit paulk-collins (Remote host closed the connection)
11:48:43 Join xorly [0] (~xorly@
11:51:24 Join pamaury [0] (
11:51:24 Quit pamaury (Changing host)
11:51:24 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
11:53:25 Quit smoke_fumus (Quit: KVIrc 4.2.0 Equilibrium
11:55:26pamaury__builtin: are you doing a DEBUG build by any chance ?
12:16:22chrisjjpamaury, did you see my ?
12:19:20 Join ZincAlloy [0] (~Adium@2a02:8108:8b80:1700:7465:b03d:7f25:7749)
12:31:04 Quit xorly (Ping timeout: 240 seconds)
12:31:10wodz[Saint]: ping
12:40:15***Saving seen data "./dancer.seen"
12:53:10 Quit StaticAmbience (Quit: No Ping reply in 180 seconds.)
12:53:59 Join StaticAmbience [0] (
12:55:53 Quit einhirn (Read error: Connection reset by peer)
13:05:41 Join petur [0] (
13:05:41 Quit petur (Changing host)
13:05:41 Join petur [0] (~petur@rockbox/developer/petur)
13:20:29pamaurychrisjj: yes I saw
13:21:22pamauryI need to double check the lcd init sequence see if there is any difference, otherwise I don't know what is wrong
13:24:26chrisjjOK, thanks.
13:41:00 Join xorly [0] (~xorly@
13:41:58 Join petur2 [0] (
13:42:57 Quit petur (Disconnected by services)
13:43:01 Nick petur2 is now known as petur (
13:43:17 Quit petur (Changing host)
13:43:17 Join petur [0] (~petur@rockbox/developer/petur)
13:51:01 Quit xorly (Ping timeout: 245 seconds)
13:51:31 Join xorly [0] (~xorly@
14:39:08 Join pamaury_ [0] (~pamaury@rockbox/developer/pamaury)
14:40:17***Saving seen data "./dancer.seen"
14:41:29 Quit xorly (Ping timeout: 240 seconds)
14:59:51 Join xorly [0] (~xorly@
15:34:03 Quit wodz (Ping timeout: 260 seconds)
15:46:14 Quit petur (Quit: Connection reset by beer)
15:51:35 Quit robertd1 (Read error: No route to host)
15:53:22 Join robertd1 [0] (
16:22:01 Quit alexweissman (Remote host closed the connection)
16:22:53 Join alexweissman [0] (
16:27:34 Quit xorly (Ping timeout: 240 seconds)
16:34:48 Quit alexweissman (Remote host closed the connection)
16:40:18***Saving seen data "./dancer.seen"
17:37:44chrisjjOn this Unit N boot to RB, subsequent to me reporting data aborts were 100%, further tests have caught a that launch fine. I'll reinstall and test again.
17:56:09 Quit pamaury (Remote host closed the connection)
18:00:00 Quit pamaury_ (Ping timeout: 240 seconds)
18:04:31 Join alexweissman [0] (~alexweiss@2001:18e8:2:28b6:a425:1700:5242:d47a)
18:09:07 Quit alexweissman (Ping timeout: 255 seconds)
18:11:03 Join alexweissman [0] (
18:11:50 Join alexweis_ [0] (
18:11:51 Quit alexweissman (Read error: Connection reset by peer)
18:15:03 Quit alexweis_ (Read error: Connection reset by peer)
18:27:05chrisjjs/have caught a that launch fine/have caught a few that launch fine/
18:28:37 Quit saratoga (Quit: Page closed)
18:39:28 Join JanC_ [0] (~janc@lugwv/member/JanC)
18:40:21***Saving seen data "./dancer.seen"
18:40:45 Nick JanC is now known as Guest43962 (~janc@lugwv/member/JanC)
18:40:45 Quit Guest43962 (Killed ( (Nickname regained by services)))
18:40:45 Nick JanC_ is now known as JanC (~janc@lugwv/member/JanC)
18:41:26 Quit parchd (Ping timeout: 245 seconds)
18:42:49 Quit elensil (Quit: Leaving.)
18:55:28 Join lebellium [0] (
19:01:05 Join alexweissman [0] (
19:53:41 Join petur [0] (~petur@rockbox/developer/petur)
20:02:17prof_wolfffsaratoga, [Saint], __builtin: i was running some codec_tests using different IRAM configurations, first tried the second 128Kib of IRAM (IRAM1) and realized that tonight i was wrong: the second half is the slow IRAM not the first half, it is correctly documented on clocking-s5l8702.h but for some unknown reason i was confused, so actually there are 200KiB of IRAM (the first 72 are fast and the next 128 are slow)
20:02:42 Quit alexweissman (Remote host closed the connection)
20:06:25prof_wolfffon other test using only DRAM for codecs, the results was much better for some codecs and slightly worse for others
20:09:28prof_wolfffthe bigger codecs (those that actually are using IRAM1) are faster running on DRAM
20:12:37prof_wolfffactually i am running a test using 80KB of IRAM0 (and not using IRAM1), it seem that the results are slightly better than using SDRAM, i will post some result when finished but it seems that the solution is to disable IRAM1 and use IRAM0 that looks slighly faster than DRAM
20:26:41prof_wolffftest_codec ipod6g results:
20:30:29prof_wolfffalso found the results of the RAM read/write tests:
20:40:22***Saving seen data "./dancer.seen"
20:46:01 Quit jhMikeS (Ping timeout: 245 seconds)
21:05:52 Join girafe [0] (
21:13:10 Join alexweissman [0] (~alexweiss@2001:18e8:2:28b6:65ef:c5c:b76b:6c68)
21:17:43 Quit alexweissman (Ping timeout: 256 seconds)
21:47:13 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
21:56:34 Join alexweissman [0] (~alexweiss@2001:18e8:2:28b6:c15d:2b4b:63f9:2d54)
21:58:57 Quit alexweissman (Remote host closed the connection)
22:00:31 Quit michaelni (Read error: Connection reset by peer)
22:03:35 Join TheLemonMan [0] (~root@irssi/staff/TheLemonMan)
22:08:12 Join saratoga [0] (123e1c1b@gateway/web/freenode/ip.
22:08:36saratogaprof_wolfff: how does current git use IRAM exactly? DRAM for most things and then IRAM attributes to allocate specific data into IRAM?
22:09:14saratogaIIRC most codecs will only allocate up to 48kb by default (and optionally up to 96kb if a config file option is set), so they should all be using the fast IRAM
22:10:22pamaury I want to add/modify a setting to have the speaker enabled automatically on headphone unplug. Currently there is an on/off setting only, I'm thinking about a third option (when jack detection is possible): enable only when headphone unplugs. Does that make sense ?
22:10:35pamaurygevaerts: ^
22:10:35pamaury[Saint]: ^ I know you are picky about settings
22:11:09lebelliumI think on/off/auto makes sense
22:11:24lebelliumthat is how it's usually implemented in OF
22:14:45prof_wolfffsaratoga: actually there are codecs that uses more than 72Kb and, IIRC someone was using 120KB or more, those codecs are getting the worse results using current GIT (72 fast + 128 slow), and better results using on DRAM, the best result for almost all codes is using 80KB of IRAM as PP5022/24 is doing, i configured all 'big' codecs as PP5022/24
22:15:38pamaurywhich targets have speakers and jack detection ? I know at least X-Fi2 and Mozaic
22:15:56pamaurypossible X-Fi Style
22:16:10pamauryand X-Fi3
22:16:46saratogaprof_wolfff: IIRC all original IRAM targets had 96KB, with 32KB (or 48?) reserved for OS, so most codecs can't use more than that without configuring some preprocessor settings
22:16:51lebelliumI confirm my X-Fi Style has a speaker
22:17:08saratogai think big gives you 128k- 32kb?
22:17:26 Join michaelni [0] (
22:17:30saratogaor maybe 128k -48k, i forget
22:17:39pamauryI know but I don't remember if it has jack detection
22:17:41saratogai didn't think any could use even 100kb though
22:17:44lebelliumI can check
22:17:50lebelliumIf I manage to boot the OF :D
22:17:55lebelliumdamn crappy device
22:18:08pamauryapparently it has
22:18:15pamauryat least I wrote code for that apparently :D
22:18:20chrisjjX-Fi style speaker does mute on headphone jack insert.
22:18:35chrisjj(On OF.)
22:18:45prof_wolfffit seems that PP5022/24 is using 48+80KB (apps/pligins/ for plugins and also for codecs, i suppose that 80KB or IRAM0 are enough also for plugins, at least plugins working on PP should work
22:19:36lebelliumpamaury: it does work in RB
22:19:44lebelliumjust tried it
22:20:35pamauryyou have rockbox on the X-Fi Style ?
22:21:02pamauryFunny, I didn't even write the instructions on the wiki, I must have sent you instructions then
22:21:03lebellium2014 build
22:21:18lebelliumyes, we probably worked in together by to the time
22:21:27lebelliumback to*
22:21:39pamaurybecause install is a bit tricky, it requires scsitools, you cannot just drop
22:21:39lebelliumbut I never used it again since then
22:21:46prof_wolfffsaratoga: some codecs are using more than 100Ks when they are configured to put almost everything on IRAM
22:21:57pamaurylebellium: do you think settings on/off/auto is clear enough ?
22:22:07lebelliumpamaury: we did many things. But I know you have sometimes troubles to remember what we did aha :D
22:22:07pamaurylike litterally "auto" ?
22:22:19pamauryI have a very bad memory
22:22:27pamaurynot enough RAM ;)
22:22:39lebelliumI would say "auto" yes, I think it's clear enough that "auto" means when plug/unplug the jack
22:22:42prof_wolfffsaratoga: no just code, they are defining big .ibss sections
22:23:04chrisjjBetter than auto is "when audio jack unused", I think.
22:23:17lebelliumthat's not a nice name for a setting
22:23:19lebelliumtoo long
22:23:31chrisjjIt's a description.
22:23:56chrisjjAnd one that is shorter than some others already in place.
22:24:53pamaurywhen the manual will document it
22:25:12pamauryand I think "auto" is clear enough, I mean there aren't many options for a speaker :D
22:25:37lebelliumwell, some people may think the speaker gets activated when clapping in your hands
22:25:41lebelliumI don't know
22:25:44chrisjjYou'll update the manual?? :-)
22:27:17saratogaprof_wolfff: then you probably want to set it to work like on PP5020 and older where the codecs are limited to less IRAM so that you don't use the slower stuff
22:29:31 Quit saratoga (Quit: Page closed)
22:29:32prof_wolfffyes the IRAM0 test (second column) uses the same configuration as PP, 48+80 Kb, actually it is 56+200, fortunatelly there was free space on the current 56Kb so it can be decreased to 48 with no other changes
22:29:48pamaurylebellium: ah yes indeed
22:30:10 Join alexweissman [0] (
22:32:05chrisjjUpdating the ZEN X-Fi style manual won't be trivial... since this is one of the many manuals that are currently missing.
22:33:09pamaurychrisjj: this setting is generic, it's not specific to any device
22:33:31pamaurythere are other devices with speaker and headphones
22:33:37lebelliumlooks like only Creative targets have a speaker
22:33:45pamauryexcept those are quite old (ondas)
22:34:32chrisjjWhich device having a speaker also has an RB manual?
22:35:03pamauryI'm unsure between 1) make the current speaker_enable setting an int instead of bool and simply add the "auto" option when it makes sense 2) have two differen settings (speaker_enable vs speaker_mode) depending on whether jack detect exists
22:35:39pamaurychrisjj: ZEN X-Fi3 has a manual on my computer, I just haven't pushed it yet
22:35:59pamauryand the ondas most probably
22:36:36chrisjjOnda isn't even listed
22:36:58pamaurytoo bad
22:37:26 Quit alexweissman (Remote host closed the connection)
22:37:51lebelliumah non
22:37:56lebelliumOnda VX777
22:37:58lebelliummy bad
22:38:19chrisjjThanks. Note: Ondio's manual doesn't mention the speaker setting.
22:38:59lebelliumI never noticed there is theme entry for Onda but no Rockbox build
22:39:10chrisjjOnda VX777 doesn't have a manual AFAICT.
22:40:26***Saving seen data "./dancer.seen"
22:40:36lebelliumpamaury: hum do you know why the Creative targets don't appear here ?
22:40:58pamauryThe Onda are most definitely built on every commit
22:41:06pamaurymaybe the builds are just not advertised
22:41:32chrisjjpamaury, does ZEN have an unpushed manual?
22:41:45pamauryno, I don't rememer how the theme page works
22:42:43pamaurychrisjj: no
22:46:39chrisjjpamaury, if your speaker_enable choice is to show in the API function, then I vote for 1. Definitely.
22:47:15lebelliumerr, sorry
22:47:52__builtinpamaury: no, I wasn't
22:48:00lebelliumI'm searching my logs how the theme website works. I'm sure I already asked how to get the YP-R1 show up on the theme website some years ago
22:48:01__builtin(using a debug build)
22:48:33chrisjjThat would be the future API function, since there's none present at the moment, AFAICS.
22:51:11pamauryit's not that simple though, the audiohw driver doesn't know about the jack, the API will still be on/off. It's the apps/ code that handles the (un)plug magic. I am not sure it's really a good idea to have an API function that takes on/off/auto
22:51:15CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
22:51:15*pamaury needs to think about it
22:53:46pamauryor I could change the semantic of audiohw_enable_speaker: 0 means off, 1 means on, 2 means "on only if jack unplug", but this is a one time thing. Then apps/ is responsible for calling this function again when jack is (un)plugged
22:58:23Bilgus[Saint], After spending the day with that time selector I think it is less intuitive than the sprawling lists esp when the custom Values are taken in to account (on, off, eternal,...) so instead I think I'm just going to make a flag 'F_TIME_SETTING' with the 'F_TABLE_SETTING' & 'F_INT_SETTINGS' of the current menu system and have it take care of units, TALK IDs etc.
23:00:31[Saint]Hmmm, interesting. I did test that time picker yesterday, I hadn't got around to mentioning that on the gerrit task though. I think you're right, it is well implemented but it really does seem like the massive granular scrolling lists are the way to go.
23:00:32chrisjjpamaury, wouldn't that change break API compatibility?
23:01:44pamauryno, old targets still keep 0/1, semantic is unchanged, it only adds more possibility
23:02:04[Saint]The only thing that bugs the shit out of me with the aforementioned massive scrolling list of units is that some of them are entirely arbitrary for seemingly no reason.
23:02:15chrisjjlebellium: Line 21 might help?
23:03:00BilgusI think i will remove that unless the user wants to put them in and allow NULL to auto generate them
23:03:25[Saint]Like, one timer setting will only go in units of 5 second increments, another in 2 second increments, the others in 1 second...etc. And the capped values which are often arbitrary as well can vary wildly.
23:03:30Bilgusof some DEFINE like DEFAULT_TALK_ID
23:04:34BilgusWell the way I plan to do it will still allow that, I just see any reason to get rid of the ability to have non-sequential values for time
23:04:48Bilgus*Don't see
23:05:16[Saint]...what exactly do you think I'm suggesting?
23:05:31Bilgusfor instance one goes from like 1-7s 10 15 30 then 1m 5m 10m
23:05:35chrisjjpamaury, no chance of an app that reads the current bool breaking when you change it to an int and provide a new value that old apps don't recognise?
23:06:36BilgusI think the table value ones return an index instead of a value though
23:06:43[Saint]Oh. Right. I see what you're talking about now. You're talking about a define to allow the settings lists to be either?
23:06:45pamauryI will double check, only very few places are supposed to read settings and it's easily grepped
23:07:01BilgusI think I might just make the time ones return Ticks or MS always
23:07:19chrisjjAren't plugins allows to read such settings?
23:07:31BilgusSaint Yes
23:07:46BilgusI mean they already are in a way but its a mess
23:08:15Bilgusprobably return MS always and expose a function for MS -> ticks
23:08:26[Saint]I think the shit thing is about having non-linear increments, and hear me out that it is entirely inflexible. Like, if a user gets into the higher ranges and there's increments of say 15, 20, 30, etc.
23:08:34[Saint]...what if they want, ...17.24?
23:08:42pamauryno plugins cannot read settings afaik and even if they can, grep shows that speaker is not touched by any plugin
23:08:49pamaurywhich is expected
23:08:56chrisjjAny plung in your hard drive, that is.
23:09:16Bilgusyeah thats what i tried to do with the ones i sent the screen shot for but it is un intuitive
23:09:18chrisjjCorrection: Any plugin on your hard drive, that is.
23:10:09[Saint]A lot of these timer increments and their caps are absolutely arbitrary, and it's weird to see the different styles in the menus throughout the years. Some authors allow for much more/less granularity at seemingly the toss on a coin.
23:10:24Bilgusand with the old way a list of 100 MS to say 10 minutes would be massive on RAM
23:10:37[Saint]The inconsistency has always been one of my "roundtoit" things.
23:11:15 Quit chrisjj (Quit: Page closed)
23:12:02Bilgusmaybe it could be hybrid like have the list of values and a right key press increases the resolution
23:12:43 Join chrisjj [0] (5001d87b@gateway/web/freenode/ip.
23:13:00Bilgussay the cursor is on 10 seconds and it is in 10 sec increments press right and it is at 10 sec but you have 5 sec increments
23:13:09[Saint]shit...y'know, I think there /is/ a picker like that somewhere in the core.
23:13:16Bilgussorry *granularity
23:13:16[Saint]Dammit. I can't remember it.
23:14:21BilgusIf you could find it/ or are sure it is somewhere I'd love to have a lookse
23:14:54__builtinthe date/time screen?
23:15:26Bilgusbuiltin that is the style the one I just did was in
23:16:04Bilgusit is not intuitive IMO
23:16:28BilgusIts highly granular though
23:17:45pamaurychrisjj: I don't see your point, at the end of the day, there is no way not the break old code since it assumed only two possibilities and now there are three.
23:18:12chrisjjThere is way. Your option 2.
23:19:12lebelliumgevaerts: do you know why the YP-R1 and Onda don't show up on although they are in buildserver/build ? They're both the only 240x400 targets but I assume it's a coincidence
23:21:24pamaurychrisjj: it doesn't help, assuming (which is a big if) there is some code no in our repository that relies on the speaker setting to be a boolean, option #2 would simply delete this setting. Thus the code would most probably crash because it cannot find the setting.
23:21:43 Part chrisb ("rcirc on GNU Emacs")
23:22:14chrisjjAh, I misunderstood your option 2 then.
23:22:15gevaertslebellium: pretty sure it's because they're listed as "unusable" in tools/
23:22:19[Saint]I think maybe it's the pitch screen?
23:22:23chrisjjOption 3 then!
23:22:37[Saint]Bilgus: __builtin ^
23:23:00chrisjjOption 3 leaves the existing bool and adds a second bool.
23:23:15lebelliumgevaerts: ah! Thanks. It's a rule that only unstable and stable targets deserve to be visible, right?
23:23:36gevaertsI think so
23:23:55chrisjjThe second bool is speaker_mode: 0 = speaker always, 1 = speaking only when audio jack unused.
23:24:09pamaurythat is super ugly
23:24:25chrisjjHow so?
23:25:21chrisjjThat speaker_mode is I thought the speaker_mode your Option 2 was suggesting.
23:25:29Bilgus[Saint], __builtin So lets lay out some functionality for a good time picker we have 2 ways to allow the user 1 is a table and in that case the time flag (TF) will just take care of Talk Ids and units and then we have 2 the Int range with unit
23:25:39pamauryit creates an orthogonal setting for something not orthogonal, also it allows for setting that don't make sense, like speaker=off, speaker_mode = only when jack unplug
23:26:19[Saint]I think you could get fancy on most targets and use a duration of button_repeat to decide how to increment the units.
23:26:45pamaurynot my option 2 is speaker_mode has three possibilities: off,on,auto. The difference with option #1 is that there are now two settings: speaker_enabled (bool) on targets without jack detect and speaker_mode (int) on targets with jack detect, but not both
23:26:54[Saint]individual clicks for granularity, and repeat press for nonlinear increments.
23:27:20[Saint]but we already kinda do that with the scroll acceleration.
23:27:36Bilgusthat is pretty similar to what the Screen Shot one did
23:28:00pamauryanyway all of this is pointless, speaker is not exported to plugins, plugins don't have anyway of enabling/disabling the speaker
23:28:32[Saint]it's really weird that it keeps coming back to "massive infinitely long scrolling list" ending up being the most obvious and intuitive.
23:28:35[Saint]it's just implemented inconsistently in core for arbitrary reasons in most cases.
23:28:39chrisjjOption 3's second bool doesn't allow for a setting that doesn't make sense. It allows for a setting of speaker mode that has no effect unless speaker is not used.
23:28:59pamauryand I don't see how that helps
23:29:07Bilgusplus if you start doing that it will still be weird when On/off/eternal comes up
23:29:11pamaurythat would mean exporting two settings to the user, very confusing
23:29:36chrisjjIt helps by guaranteeing no breakage of existing code.
23:29:52lebelliumgevaerts: looks like YP-R1 was forgotten in Onda is there in status 1 (unsuable) indeed. Might that explain why the YP-R1 doesn't show up on the theme website? (the Onda does)
23:30:40gevaertsthe theme site needs things added to it manually
23:30:46pamaurychrisjj: but the only existing code in is rockbox and is trivial to fix
23:30:46chrisjjExporting two settings a bit lnke Backlight and Backlight (While Plugged In). Not confusing I think. And not a confusing as broken code.
23:31:08gevaertsIIRC the original policy was "stable only", but there are a few exceptions
23:31:20chrisjjAh, I thought there could be existing code in plugins.
23:31:42chrisjjSorry if I am wrong.
23:31:47pamauryI told you, speaker is not exported to plugins
23:33:04Bilgusso maybe I can do infinite long list and left and right do page up/page down
23:33:26chrisjjAnd plugins can't read settings? You said "afaik".
23:33:40 Quit skapazzo (Quit: leaving)
23:33:53[Saint]Bilgus: I tend to think you don't really need an 'off'.
23:33:56[Saint]0 is off.
23:34:22[Saint]though that leaves the 'always' option still.
23:34:23Bilgusbacklight had on =0 -1 = off
23:34:40[Saint]yeah, right. a lot of settings do that I think.
23:34:44TorCBilgus: There actually is a time picker already in core much like the image you'd posted. It's the set time function.
23:35:04BilgusI know TorC I based the style on that
23:35:38TorCNot surprised. I think it's pretty straightforward and obvious.
23:36:07TorCBut then I'm not always the best choice of proxy for "most users"
23:36:14Bilgusexcept when you start allowing custom formatting with text options
23:36:44pamaurychrisjj: I can have a look, in doubt I just bump the plugin version: old binaries won't load because of mismatch, and old code won't compile because setting is different, no confusion possible
23:36:46Bilgusthe list is more intuitive IMO
23:37:45 Quit amayer (Quit: Leaving)
23:37:51lebelliumgevaerts: are you the right guy to ask to add the 4 stable Creative targets, the 3 stable Sony targets and discuss for a possible exception for YP-R1N
23:38:00BilgusIf it was strictly time I love what I made and It was going to go in place of the alarm time picker but I spent the day with it and Am not impressed
23:38:26chrisjjSounds like a reasonable compromise to me. Then yes I'd vote for your Option 1), though I cast that only as a future plug-in writer.
23:39:57chrisjjpamaury: ... and if you do find plugins can't read/write the speaker mode setting, then please register my vote for this to be remedied :-)
23:41:39gevaertslebellium: can you provide the correct full name, checkwps-compatible name, resolution, depth, and name of the file in playerpics/ for them?
23:42:00gevaertsIn triplicate, on the correct form, with stamps
23:42:30pamauryjust looked, plugins can read/write settings (any setting), but if I change the setting name, they won't compile, so that seems like a good compromise to me. Again I don't see why any plugin would touch the speaker
23:43:00*gevaerts doesn't know anything about the YP-R1N's status, so he doesn't have an opinion
23:43:14lebelliumI meant "?" instead of "N"
23:43:49TorCBilgus: I suppose it is true that getting such a picker to act sensibly with the wide variety of value ranges needed for different settings is tricky, and at least the list ensures that picking non-sense values can't be done.
23:43:52*gevaerts doesn't know anything about the YP-R1's status, so he doesn't have an opinion :)
23:44:00lebelliumI'm sure I can gather all those needed information quite easily. Maybe pamaury can help me for the display depth (Creative and SOny)
23:44:17pamaurylebellium: what do you need to know ?
23:45:17BilgusTorC its fully ranged no chance of non-sense values just not intuitive
23:47:01lebelliumpamaury: well, I'd like to gather the necessary data (what he wrote above) for stable targets missing on the theme website. That's Creative Zen Mosaic, Zen X-Fi, Zen X-Fi 3, Zen X-Fi Style, Sony NWZ-E360, NWZ-E370, NWZ-E380, Samsung YH-820 and YH-920
23:47:03TorCGuess that's just a case where the first, simplest solution turns out to be the right one. More because anything else is overkill than anything else.
23:48:51pamaurylebellium: ok, which data ? (/me doesn't want to read the log)
23:48:58chrisjjpamaury: A plugin would touch the speaker if it wanted to give the user the option of turning on and off the speaker :-)
23:49:18lebelliumpamaury: I guess I can find everything excep the display depth
23:49:35lebellium16 or 24
23:49:51__builtinchrisjj: no plugin needs that...
23:50:02chrisjjHow so?
23:51:31pamaurylebellium: creativezenxfi.h:#define LCD_DEPTH 24
23:51:31pamaurycreativezenxfistyle.h:#define LCD_DEPTH 16
23:51:31pamaurycreativezenxfi2.h:#define LCD_DEPTH 16
23:51:31DBUGEnqueued KICK pamaury
23:51:31pamaurycreativezenmozaic.h:#define LCD_DEPTH 16
23:51:35pamaurycreativezenv.h:#define LCD_DEPTH 16
23:51:35pamaurycreativezenxfi3.h:#define LCD_DEPTH 16
23:51:35pamaurycreativezen.h:#define LCD_DEPTH 24
23:51:55pamaurysonynwze370.h:#define LCD_DEPTH 16
23:51:55pamaurysonynwze360.h:#define LCD_DEPTH 16
23:51:56lebelliumok so I know where I have to look for the others
23:52:37pamaurychrisjj: there is already a setting for that
23:52:44pamaurywhat's the point of duplicating a setting ?
23:53:15chrisjjThere is already a setting for speaker, but not accessible while running a plugin AFAICT.
23:53:25chrisjjThere's no point duplicating a setting.
23:53:49chrisjjThere is point providing player controls in a plugin.
23:55:56chrisjjPlayers controls are already in many plugins. Menu "Playback Control".

Previous day | Next day