00:02:58 | | Join itoikenza [0] (uid15992@gateway/web/irccloud.com/x-zuwkwbogvftwmhll) |
00:10:42 | | Join bertrik [0] (~quassel@rockbox/developer/bertrik) |
00:28:59 | | Nick SuperBrainAK is now known as DormantBrain (~andy@2001:470:8:a61::5f92:59a1) |
00:34:34 | *** | Saving seen data "./dancer.seen" |
00:38:29 | | Quit Bluefoxicy (Ping timeout: 245 seconds) |
00:49:48 | | Quit nosa-j (Excess Flood) |
00:49:57 | | Join nosa-j [0] (~m00k@66.233.224.206) |
00:51:25 | | Join [Saint] [0] (~saint@rockbox/user/saint) |
00:52:39 | | Quit n1s (Quit: Ex-Chat) |
01:00 |
01:15:16 | | Quit cmhobbs (Ping timeout: 252 seconds) |
01:26:50 | | Join anewussr [0] (anewuser@unaffiliated/anewuser) |
01:29:09 | | Join Bluefoxicy [0] (~Bluefoxic@c-76-21-157-203.hsd1.md.comcast.net) |
01:32:03 | | Join treaki__ [0] (1d3f3b1958@p4FDF716B.dip0.t-ipconnect.de) |
01:34:52 | | Quit treaki_ (Ping timeout: 272 seconds) |
01:40:38 | | Quit Bluefoxicy (Ping timeout: 260 seconds) |
01:44:10 | | Join Bluefoxicy [0] (~Bluefoxic@c-76-21-157-203.hsd1.md.comcast.net) |
01:45:26 | | Quit ender` (Quit: <apo_> I just built a crontab that builds crontabs on another box, so it can wake up the first box in time for it to run its crontabs :D) |
01:48:10 | | Join SYSTEM_ [0] (~chatzilla@adsl-68-253-228-3.dsl.dytnoh.ameritech.net) |
01:48:12 | | Nick SYSTEM_ is now known as Water (~chatzilla@adsl-68-253-228-3.dsl.dytnoh.ameritech.net) |
01:49:01 | Water | pamaury: Still bisecting battery regression? |
01:49:19 | | Quit Bluefoxicy (Ping timeout: 245 seconds) |
01:52:14 | pamaury | Water: I'm doing a final check |
01:52:27 | pamaury | to see if the regression was only caused by one commit or several |
01:53:22 | Water | I'm still willing to help, but if you can use me, maybe I should test a build you've already done so we have a... baseline? |
01:53:54 | Water | pamaury: |
01:57:26 | | Quit pamaury (Ping timeout: 260 seconds) |
02:00 |
02:07:10 | | Join Bluefoxicy [0] (~Bluefoxic@c-76-21-157-203.hsd1.md.comcast.net) |
02:17:50 | | Quit bertrik (Remote host closed the connection) |
02:24:55 | | Quit Narod () |
02:34:38 | *** | Saving seen data "./dancer.seen" |
02:44:14 | | Join cmhobbs [0] (~cmhobbs@ip70-178-52-92.ks.ks.cox.net) |
02:44:14 | | Quit cmhobbs (Changing host) |
02:44:14 | | Join cmhobbs [0] (~cmhobbs@fsf/member/cmhobbs) |
02:45:19 | | Nick anewussr is now known as anewuser (anewuser@unaffiliated/anewuser) |
03:00 |
03:12:39 | | Quit Bluefoxicy (Ping timeout: 245 seconds) |
03:13:41 | | Join Bluefoxicy [0] (~Bluefoxic@c-76-21-157-203.hsd1.md.comcast.net) |
03:34:58 | | Quit Bluefoxicy (Ping timeout: 260 seconds) |
03:50:40 | | Join Bluefoxicy [0] (~Bluefoxic@c-76-21-157-203.hsd1.md.comcast.net) |
04:00 |
04:12:50 | | Join notben [0] (~ben@99-122-84-227.lightspeed.spfdmo.sbcglobal.net) |
04:12:59 | | Quit notben (Client Quit) |
04:13:26 | | Quit Water (Ping timeout: 264 seconds) |
04:21:35 | | Quit itoikenza () |
04:34:42 | *** | Saving seen data "./dancer.seen" |
04:50:13 | | Quit pixelma (Disconnected by services) |
04:50:13 | | Join pixelma_ [0] (pixelma@rockbox/staff/pixelma) |
04:50:14 | | Nick pixelma_ is now known as pixelma (pixelma@rockbox/staff/pixelma) |
04:50:14 | | Quit amiconn (Disconnected by services) |
04:50:14 | | Join amiconn_ [0] (quassel@rockbox/developer/amiconn) |
04:50:17 | | Nick amiconn_ is now known as amiconn (quassel@rockbox/developer/amiconn) |
04:52:02 | | Join simonpatapon [0] (~sime@135.19.166.120) |
05:00 |
05:06:33 | | Nick DormantBrain is now known as SuperBrainAK (~andy@2001:470:8:a61::5f92:59a1) |
05:40:14 | | Join shai [0] (~Shai@l192-117-110-233.cable.actcom.net.il) |
05:41:04 | | Quit shai (Read error: Connection reset by peer) |
05:42:16 | | Quit Bluefoxicy (Excess Flood) |
05:42:41 | | Join Bluefoxicy [0] (~Bluefoxic@c-76-21-157-203.hsd1.md.comcast.net) |
05:54:37 | | Quit simonpatapon (Quit: Quitte) |
05:57:14 | | Quit [7] (Disconnected by services) |
05:57:27 | | Join TheSeven [0] (~quassel@rockbox/developer/TheSeven) |
06:00 |
06:02:27 | | Join Strife89 [0] (~Strife89@adsl-98-80-237-28.mcn.bellsouth.net) |
06:07:34 | | Nick SuperBrainAK is now known as DormantBrain (~andy@2001:470:8:a61::5f92:59a1) |
06:11:40 | | Join HeRoInA_ToDDy [0] (~joseferna@201-78-89-49.user.veloxzone.com.br) |
06:11:45 | * | HeRoInA_ToDDy ChanServ doi o pe ,1T,7o,1p,5-,3To,9ddy_ ,1T,7o,1p,5-,3To,9ddy_ ,1T,7o,1p,5-,3To,9ddy_ ,1T,7o,1p,5-,3To,9ddy_ ,1T,7o,1p,5-,3To,9ddy_ ,1T,7o,1p,5-,3To,9ddy_ |
06:16:00 | | Quit Bluefoxicy (Ping timeout: 245 seconds) |
06:20:41 | | Join Bluefoxicy [0] (~Bluefoxic@c-76-21-157-203.hsd1.md.comcast.net) |
06:24:51 | [Saint] | HeRoInA_ToDDy: If you could go ahead and not do that, that would be just fantastic. |
06:26:19 | | Quit HeRoInA_ToDDy () |
06:28:11 | [Saint] | That works too. |
06:34:43 | *** | Saving seen data "./dancer.seen" |
06:47:53 | lonoxmont | >.br |
06:48:04 | lonoxmont | way to continue the stereotype... |
07:00 |
07:01:10 | | Quit dfkt_ (Read error: Connection reset by peer) |
07:01:47 | | Join dfkt [0] (dfkt@unaffiliated/dfkt) |
07:07:13 | | Quit scorche (Ping timeout: 252 seconds) |
07:09:49 | | Join scorche [0] (~scorche@rockbox/administrator/scorche) |
07:12:43 | | Quit scorche|sh (Ping timeout: 272 seconds) |
07:33:24 | | Quit kiwicam (Remote host closed the connection) |
07:39:19 | | Quit solrize (Ping timeout: 265 seconds) |
07:51:30 | | Join kevku [0] (~kevku@2001:470:27:773:0:feed:c0f:fee) |
08:00 |
08:04:13 | | Join kiwicam [0] (~quassel@121.99.176.30) |
08:18:31 | | Join n1s [0] (~n1s@rockbox/developer/n1s) |
08:23:58 | | Join pretty_function [0] (~sigBART@123.252.213.127) |
08:30:57 | | Quit pretty_function (Quit: Leaving...) |
08:34:44 | *** | Saving seen data "./dancer.seen" |
08:53:26 | | Join foolsh [0] (~foolsh@c-24-14-134-34.hsd1.in.comcast.net) |
09:00 |
09:07:19 | | Join scorche|sh [0] (~scorche@squisch.net) |
09:07:19 | | Quit scorche|sh (Changing host) |
09:07:19 | | Join scorche|sh [0] (~scorche@rockbox/administrator/scorche) |
09:52:51 | | Join ender` [0] (krneki@foo.eternallybored.org) |
10:00 |
10:08:25 | | Join bertrik [0] (~quassel@rockbox/developer/bertrik) |
10:16:05 | | Join y4n [0] (~y4n@unaffiliated/y4ndexx) |
10:16:34 | | Join rela [0] (~x@pdpc/supporter/active/rela) |
10:34:46 | *** | Saving seen data "./dancer.seen" |
11:00 |
11:15:25 | | Quit rela (Read error: Connection reset by peer) |
11:16:24 | foolsh | gevaerts: g#677 has all the updated changes 'and then some' the touchpad works normally without deadzones but.. |
11:16:27 | fs-bluebot | Gerrit review #677 at http://gerrit.rockbox.org/r/677 : Add a deadzone area for fuze+ touchpad buttons by Benjamin Brown (changes/77/677/8) |
11:16:35 | foolsh | the deadzone setting doesn't show up in the menu, and... |
11:16:44 | foolsh | building with a default deadzone in /target/export/config/sasaduzeplus.h results in the touchpad not working at all |
11:17:45 | foolsh | yesterday I didn't expect the code I wrote to run, I only wanted to learn |
11:17:53 | foolsh | But now I expect it should work but doesn't |
11:25:27 | | Quit Strife89 (Read error: Operation timed out) |
11:31:59 | | Join jlbiasini [0] (~metaphysi@95.76.131.190) |
11:35:50 | foolsh | pamaury: logs ^ |
11:36:15 | | Quit foolsh (Quit: foolsh) |
12:00 |
12:02:26 | | Join Narod [0] (Narod@p5DDDB5D3.dip0.t-ipconnect.de) |
12:05:21 | | Join kugel [0] (~kugel@rockbox/developer/kugel) |
12:12:34 | | Quit jlbiasini (Quit: jlbiasini) |
12:34:49 | *** | Saving seen data "./dancer.seen" |
13:00 |
13:13:42 | | Join solrize [0] (~solrize@198.144.190.38) |
13:13:42 | | Quit solrize (Changing host) |
13:13:42 | | Join solrize [0] (~solrize@unaffiliated/solrize) |
13:46:28 | | Join pamaury [0] (~quassel@rockbox/developer/pamaury) |
13:48:42 | | Join advx [0] (~quassel@116.73.196.224) |
13:49:06 | | Nick advx is now known as Guest51674 (~quassel@116.73.196.224) |
13:52:07 | | Join ikeboy [0] (~ikeboy@ool-435622d3.dyn.optonline.net) |
13:57:56 | | Quit Guest51674 (Remote host closed the connection) |
14:00 |
14:20:05 | | Join einhirn [0] (Miranda@bsod.vpn.tu-clausthal.de) |
14:28:53 | | Join advx_ [0] (~quassel@116.73.196.224) |
14:33:55 | | Quit ikeboy (Quit: ikeboy) |
14:34:51 | *** | Saving seen data "./dancer.seen" |
14:48:25 | | Quit advx_ (Read error: Connection reset by peer) |
14:49:50 | | Join foolsh [0] (~foolsh@c-24-14-134-34.hsd1.in.comcast.net) |
16:00 |
16:18:49 | | Join lebellium [0] (~chatzilla@80.215.129.38) |
16:34:52 | *** | Saving seen data "./dancer.seen" |
16:36:35 | foolsh | gevaerts: pamaury: logs, I got a somewhat working deadzone now, but the setting adjustment menu entry isn't showing up, still. |
16:38:29 | pamaury | foolsh: ok, I'll try it on my other fuze+ in half an hour |
16:52:02 | | Quit krnlyng (Ping timeout: 260 seconds) |
16:53:08 | | Join rela [0] (~x@pdpc/supporter/active/rela) |
16:53:08 | | Join krnlyng [0] (~liar@83.175.90.24) |
16:54:08 | pamaury | foolsh: is your code on gerrit ? |
16:57:54 | | Quit kugel (Ping timeout: 272 seconds) |
17:00 |
17:11:51 | foolsh | pamaury: yep |
17:12:38 | | Join amayer [0] (~amayer@h101.16.25.72.dynamic.ip.windstream.net) |
17:25:17 | | Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org) |
17:47:58 | | Quit rela (Read error: Connection reset by peer) |
17:57:25 | | Join krabador [0] (~krabador_@unaffiliated/krabador) |
18:00 |
18:09:04 | | Join kugel [0] (~kugel@rockbox/developer/kugel) |
18:16:55 | | Quit cmhobbs (Ping timeout: 246 seconds) |
18:26:24 | | Join cmhobbs [0] (~cmhobbs@fsf/member/cmhobbs) |
18:29:40 | foolsh | Just updated g#677 Now the deadzone feels just as good as my static patch did, only the settings menu entry is broken now |
18:29:41 | fs-bluebot | Gerrit review #677 at http://gerrit.rockbox.org/r/677 : Add a deadzone area for fuze+ touchpad buttons by Benjamin Brown (changes/77/677/11) |
18:32:42 | pamaury | there still are quite a few issues with the code |
18:34:25 | foolsh | I'm sure :-D |
18:34:56 | *** | Saving seen data "./dancer.seen" |
18:36:56 | pamaury | foolsh: why a step of 2 ? |
18:39:19 | foolsh | I though I could not have a decimal for int, odd number times 2.5 gives and value with a decimal |
18:39:35 | foolsh | a value* |
18:41:10 | pamaury | that's not a good way of doing this |
18:41:47 | pamaury | furthermore you shouldn't have moved so much code in the button driver |
18:43:42 | | Quit kugel (Ping timeout: 246 seconds) |
18:50:59 | foolsh | pamaury: Are you talking about everything I took from find_button and put at the top of the button-fuzeplus.c? I did this attempting to get it just working, I'll work it back the original way. |
18:51:21 | foolsh | Thanks again :) |
18:51:50 | pamaury | I'm working on it, I'll push a new version to gerrit when it's working |
18:52:06 | foolsh | Alright, awesome thanks |
18:53:25 | | Quit cmhobbs (Ping timeout: 240 seconds) |
18:55:26 | | Nick DormantBrain is now known as SuperBrainAK (~andy@2001:470:8:a61::5f92:59a1) |
18:58:39 | gevaerts | foolsh: just to show that we're not only good at providing deep technical feedback but that we like covering all angles, you have unneeded whitespace changes in settings_list.h |
18:58:42 | | Quit krabador (Quit: Sto andando via) |
19:00 |
19:00:23 | foolsh | :-[ yeah I'm sorry I suck |
19:01:28 | gevaerts | Happens to everyone |
19:01:47 | gevaerts | Definitely not the end of the world |
19:03:17 | pamaury | foolsh: why did you choose 2 and 2.5 as multipliers ? |
19:03:41 | pamaury | it doesn't seem logical to see, there should have have the ratio to the width/height |
19:03:45 | pamaury | *they |
19:07:54 | foolsh | Oh I see, then can we get rid of one of those X or Y, we only need a maximum value that give ~500 combined deadzone between buttons that use them. I was trying to shave ~250 pixels off each button that was not outside. |
19:08:54 | | Quit JdGordon| (Ping timeout: 246 seconds) |
19:10:03 | pamaury | I mean, either you say that the deadone setting should apply the same in both direction and then you pick the same multiplier or you say that the deadzone setting should apply proportionaly to the width/height, but your choice is neither, so I'm puzzled |
19:10:21 | pamaury | the most logical choice to me is that it applies the same in both direction |
19:10:54 | | Join JdGordon| [0] (~jonno@ppp118-209-171-31.lns20.mel6.internode.on.net) |
19:10:54 | | Quit JdGordon| (Changing host) |
19:10:54 | | Join JdGordon| [0] (~jonno@rockbox/developer/JdGordon) |
19:11:44 | foolsh | Right the same for both it can be replaced with one value, a multiplier for the general size we want the deadzones |
19:14:11 | foolsh | I meant you don't need X and Y multipliers just one multiplier, since you did the width/height ratio already in the button matrix |
19:16:04 | foolsh | That could explain some oddities I experienced there for a bit with it |
19:20:07 | bluebrother^ | ok, so I'd like to see a new release of Rockbox Utility in the next 4 weeks or so |
19:20:18 | bluebrother^ | are there any open issues I should be aware of? |
19:21:22 | pamaury | bluebrother^: on my computer, mount points detection is usually shaky |
19:21:43 | pamaury | and I need to edit a few strings on the imx installer which are fuze+ specific and shouldn't be |
19:21:57 | bluebrother^ | detection is shaky? As in? |
19:22:20 | pamaury | hardly correcty: doesn't detect the good mount points and doesn't detect the proper device for them |
19:22:31 | pamaury | at least last time I tried |
19:22:34 | lebellium | bluebrother^: just as a reminder before the release, please add H300 v1.31k to the changelog :) |
19:23:41 | bluebrother^ | lebellium: did that some time ago :) |
19:24:09 | bluebrother^ | pamaury: have you tried it with the new detection code? |
19:24:21 | pamaury | it was like 3 weeks ago |
19:24:34 | pamaury | but I can retry right now if you want |
19:25:27 | lebellium | bluebrother^: arf sorry, I missed that. Thank you :) |
19:27:55 | pamaury | foolsh: I have uploaded a new version of your patch |
19:27:59 | pamaury | see on gerrit |
19:32:43 | pamaury | bluebrother^: maybe that was an earlier version then, just tried and it works |
19:34:00 | bluebrother^ | ok, good to know |
19:38:42 | foolsh | pamaury: You rock |
19:39:24 | foolsh | You too, gevaerts thanks |
19:47:44 | | Join cmhobbs [0] (~cmhobbs@ip70-178-52-92.ks.ks.cox.net) |
19:47:46 | | Quit cmhobbs (Changing host) |
19:47:46 | | Join cmhobbs [0] (~cmhobbs@fsf/member/cmhobbs) |
19:57:59 | foolsh | Just built with it very very, nice even at maximum. It's not my code anymore :-P but that's a good thing, now I'm off to find something else to *inflict* with my novice ideals about C, thank you people very much. |
20:00 |
20:07:40 | | Quit foolsh (Quit: foolsh) |
20:11:30 | | Join kugel [0] (~kugel@91-66-52-103-dynip.superkabel.de) |
20:11:30 | | Quit kugel (Changing host) |
20:11:30 | | Join kugel [0] (~kugel@rockbox/developer/kugel) |
20:34:58 | *** | Saving seen data "./dancer.seen" |
20:35:46 | | Quit nosa-j (Ping timeout: 253 seconds) |
20:41:03 | | Join nosa-j [0] (~m00k@66.233.224.206) |
20:47:38 | | Quit y4n (Quit: HOLY SHIT! WE'RE ALL JUST LIVING ON A GINORMOUS FUCKING SPINNING ROCK FLOATING THROUGH SPACE CIRCLING A BIG FUCKING BALL OF FIRE!!!) |
21:00 |
21:05:33 | | Join rela [0] (~x@pdpc/supporter/active/rela) |
21:13:39 | shadows | I have several Fuze v1 devices will mail to developers if one is interested in solving the USB mode storage corruption stuff |
21:15:13 | shadows | the corruption is bad enough that I wish USB in rockbox could be disabled for Fuze v1 builds btw |
21:19:37 | AlexP | just don't use it |
21:21:59 | kugel | \o/ |
21:22:07 | kugel | Ladies and Gentlemen :) |
21:24:16 | kugel | We have sound on a Linux system, using a test application with my new playbacklib (codecs+playback engine+playlist) build on native OS threads and kernel primitives |
21:26:15 | kugel | that is, no "legacy GUI" and internals, this lib approach should allow for OS-native UIs |
21:26:47 | AlexP | That sounds cool, congrats |
21:26:50 | gevaerts | Nice! |
21:27:00 | AlexP | So is next job knock up a native android ui? :P |
21:27:05 | * | gevaerts throws a party |
21:29:10 | kugel | AlexP: no, next step is to make this a less of one huge hack |
21:29:19 | AlexP | hmmm, alright then :) |
21:31:11 | * | gevaerts can't wait! |
21:31:26 | kugel | s/can't wait!/can help!/ |
21:31:30 | kugel | :) |
21:33:53 | kugel | what I did is basically 1) determine with 50% certainty and 50% hope that the playback core is actually safe for preemptive threads, 2) create a event_queue (our principal inter-thread communication API) implementation for pthreads, 3) hack warble such that it doesn't compile just codecs, 4) comment out (literally) enough code in playlist.c and playback.c to make it compile |
21:34:27 | gevaerts | kugel: so you have a non-GUI thing that does playlists? |
21:34:46 | kugel | yea, absolutely! |
21:34:49 | gevaerts | Perfect! |
21:35:23 | kugel | int main() { for(i=0;i<argc;i++) playlist_add(argv[i]); } :) |
21:35:42 | kugel | should be enough for everybody |
21:35:54 | gevaerts | Clearly! |
21:36:40 | lebellium | hum |
21:36:44 | * | lebellium doubts :) |
21:37:18 | shadows | kugel: well done! |
21:39:59 | | Join Ward [0] (~Mirandaha@176-120-190-109.dsl.ovh.fr) |
21:40:04 | kugel | the nice thing is be that all of our major and uniquie playback-related features can be retained |
21:40:23 | | Nick Ward is now known as Guest33490 (~Mirandaha@176-120-190-109.dsl.ovh.fr) |
21:41:48 | * | gevaerts has been dreaming about a streaming thing controlled over http based on rockbox |
21:49:26 | shadows | kugel: so... that would also be filesystem agnostic ya? |
21:49:47 | shadows | doesn't care what filesystem is there |
21:50:18 | kugel | sure |
21:50:33 | kugel | that's already true for current RaaA |
21:54:31 | | Quit rela (Read error: Connection reset by peer) |
21:56:06 | pamaury | kugel: great :) |
21:58:12 | kugel | heh, play/pause/next/prev also works |
22:00 |
22:04:40 | | Join wodz [0] (~wodz@87-207-223-0.dynamic.chello.pl) |
22:05:08 | wodz | kugel: great achievement |
22:07:32 | | Join bluebrother [0] (~dom@rockbox/developer/bluebrother) |
22:09:49 | | Quit fs-bluebot (Ping timeout: 240 seconds) |
22:11:01 | | Quit bluebrother^ (Ping timeout: 264 seconds) |
22:11:41 | | Join fs-bluebot [0] (~fs-bluebo@g224239121.adsl.alicedsl.de) |
22:15:00 | kugel | alright, now that I have it working in a prototype I can be motivated to go further and cleanup |
22:16:21 | [Saint] | Ohhhh....playlists. |
22:16:39 | [Saint] | That's a lot less ugly than my rbcodec solution. |
22:16:48 | shadows | would be nice to have a player on my Android phone that does Xiph Opus :) |
22:16:49 | [Saint] | Well...kinda. |
22:17:17 | [Saint] | shadows: you know Rockbox has done Opus for ages, right? |
22:17:19 | kugel | g#68{1,2,3} |
22:17:21 | fs-bluebot | Gerrit review #68 at http://gerrit.rockbox.org/r/68 : by Joshua Simmons (changes/68/68/1) |
22:17:48 | kugel | [Saint]: what's your rbcodec solution? |
22:19:28 | | Quit nosa-j (Excess Flood) |
22:19:41 | | Join nosa-j [0] (~m00k@66.233.224.206) |
22:19:48 | shadows | [Saint]: I gave rb for android a try, and there are some integration issues (randomly starts playing when it is installed but not active) ... anyways I'm holding out for a native android UI |
22:20:28 | [Saint] | Hey, who would've thought an unusable target had some issues...go figure. ;) |
22:20:50 | shadows | [Saint]: rb on my Fuze v1 corrupts the filesystem pretty regularly and aborts, so it doesn't work for me to listen to music in the locker room before ski instructor work.. I don't know, what is a more stable hardware that rb will play opus on? |
22:21:29 | [Saint] | I think you're ignoring the lonstanding advice to leave Rockbox USB alone. |
22:21:42 | [Saint] | *longstanding |
22:21:53 | shadows | well I have to charge it somehow |
22:22:05 | [Saint] | ...and that's what the OF is for. |
22:22:11 | kugel | [Saint]: that's not an official advice |
22:22:12 | [Saint] | Additionally, charging != USB connection. |
22:22:26 | shadows | how to disable the USB mode ? I did not see a menu setting for it |
22:22:27 | kugel | we try to have USB work, and if it doesn't it's a bug |
22:22:32 | [Saint] | kugel: it pretty much is...it gets thrown at *everyone* |
22:22:51 | kugel | it's not a experimental, try-on-your-own-risk feature |
22:22:53 | [Saint] | There is absolutely no continued effort to fix it, and we know its broken and still push it. |
22:23:08 | shadows | sorry to hit a sore subject |
22:23:09 | [Saint] | And when people invariably complain, we tell them not to use it. |
22:23:20 | kugel | there are problems on some targets, it's not universial though |
22:23:21 | [Saint] | this has been happening for ages. |
22:23:29 | shadows | can we make it a disabled-by-default feature with a menu setting? |
22:23:35 | [Saint] | "USB is broken", "we know, don;t use it" |
22:23:37 | shadows | for fuzev1 at least |
22:23:50 | AlexP | shadows: Hold any key while inserting the USB cable |
22:23:52 | [Saint] | shadows: I have suggested this... |
22:24:00 | AlexP | You get charging and not a connection |
22:24:00 | wodz | [Saint]: I'd say we TRY to fix usb problems really |
22:24:06 | shadows | AlexP: what if I forget one time? then it corrupts my data? |
22:24:16 | AlexP | This is in the manual I think |
22:24:18 | [Saint] | wodz: tried, sure. |
22:24:23 | AlexP | (not the corruption) |
22:24:25 | gevaerts | I don't remember corruption issirs being reported |
22:24:31 | [Saint] | but presently we know its broken and still release it. |
22:24:45 | [Saint] | and have done for an age now. |
22:24:51 | [Saint] | Because it works for "us". |
22:25:06 | gevaerts | shadows: you mean you get corruption even if you're not moving data? |
22:25:22 | wodz | [Saint]: I haven't seen your offical proposition to disable usb, you know |
22:25:52 | [Saint] | Nor I anyone elses. |
22:26:01 | shadows | bug #12184 |
22:26:07 | AlexP | But you seem to be suggesting you think it should be |
22:26:36 | shadows | gevaerts: well the host system does usb automount, depending on what computer I connect to this is not under my control |
22:27:10 | [Saint] | AlexP: failing that, I think it should be forced down the users throat that it almost certainly won't work on specific targets. |
22:27:20 | lonoxmont | shadows: what about taking a usb cord for it and cutting the data wires? |
22:27:22 | [Saint] | My main issue is that users seem to expect it should work. |
22:27:28 | lonoxmont | then its just power only |
22:27:36 | wodz | This actions 'rescue' mode is amusing, It uses at least 3 independent scrambling schemes for various transfers |
22:27:43 | [Saint] | lonoxmont: what about just holding a button during USB insert? |
22:27:46 | wodz | lonoxmont: or use 'usb condom' :P |
22:27:49 | AlexP | [Saint]: I have no real opinion to be honest - I'm just agreeing with wodz that if you think something should change, you need to bring it up on the dev mailing list |
22:27:50 | gevaerts | shadows: mount != write |
22:28:21 | lonoxmont | usb condom? |
22:28:44 | [Saint] | lonoxmont: modifying a USB cable seems a bit excessive when Rockbox has a "don't mount" function itself. |
22:28:59 | shadows | gevaerts: for practical reasons, it is not sensible to allow that to happen if we know that usb access will result in corruption |
22:29:05 | pamaury | kugel: by the way, the other day I had a look at buflib because I would like to hack it with virtual memory for debugging purposes, and I was wondering why did you use this single union type (union buflib_data) instead of more explicit typing |
22:29:17 | [Saint] | Though, most people probably don't know about that, unless they've read the manual. |
22:29:19 | wodz | http://www.usbcondoms.com |
22:29:36 | kugel | pamaury: code heritage :) |
22:29:49 | kugel | what's wrong with it? |
22:30:14 | shadows | gevaerts: I agree it is a bug that needs fixed, I do not understand any part of the bug and only have the hardware target and some guess about how to trigger it some of the time |
22:30:37 | shadows | I did not have corruption problems before usb was enabled by default |
22:30:53 | lonoxmont | wodz: lol |
22:30:55 | kugel | pamaury: you know, buflib existed before me, for plugins (created by Unhelpful), the union approach is still from these days |
22:31:07 | shadows | when I patch the code to disable usb by default, I do not have corruption issues |
22:31:22 | | Quit krnlyng (Ping timeout: 246 seconds) |
22:31:30 | shadows | what the actual mechanism is in rockbox code on my Fuzev1 that corrupts data, I don't understand |
22:31:45 | pamaury | kugel: ah ok, because for someone who doesn't know the code, it's very very obscure, basically you can understand the protoype of a function without looking both the code and the callers |
22:31:58 | pamaury | *you cannot understand |
22:32:00 | [Saint] | Oh, that must be that #include corrupt_user_data_randomly |
22:32:05 | shadows | I just know that it sucks when my music skips or stops playing and the player locks up, and I can later determine that the data is corrupted |
22:32:11 | [Saint] | Patch that out and you'll be fine. |
22:32:15 | lonoxmont | ( ≖‿≖) |
22:32:28 | pamaury | kugel: and it's very hard to extend, like add a single field in the metadata |
22:32:56 | pamaury | well not *very* hard but you need to fix quite a few places |
22:32:59 | kugel | pamaury: feel free to improve, but be aware that the per-alloc cookie is not constant, the name string is variable length and there's a field after it |
22:33:20 | kugel | so you can't just map a known header |
22:33:39 | [Saint] | kugel: since you're here and its the topic at hand, what is with the "dealloc" bit of the buflib debug screen? |
22:33:45 | wodz | can't string be moved to the bottom then? |
22:33:52 | pamaury | yeah I know, actually I was thinking of "rewriting" it with proper typing. You can still do much better I think |
22:33:57 | [Saint] | It seems to be able to make a single deallocation, and then it falls over, printing the same message over and over. |
22:34:13 | pamaury | like doing: |<string>|<metadata>|<data>| instead of |<metadata>|<string>|<data>| |
22:34:24 | [Saint] | (and yes, I know, debug stuff - I was just wondering what the intention was) |
22:34:29 | | Join saratoga [0] (123e11e0@gateway/web/freenode/ip.18.62.17.224) |
22:35:01 | *** | Saving seen data "./dancer.seen" |
22:35:27 | kugel | pamaury: walking the allocs must be fast |
22:35:50 | kugel | currently you can jump to the next alloc using only the first field |
22:36:26 | [Saint] | Oh, awesome - that's a fun bug. |
22:36:41 | [Saint] | The Shortcuts viewer really doens't like deleting shortcuts too much. |
22:36:55 | kugel | [Saint]: that's not a bug, it's workign as intended |
22:36:58 | pamaury | kugel: yeah that's true, you could still define the fixed part of the metadata in a struct, that would be much more readable :) |
22:37:40 | kugel | there is a huge comment at the beginning that describes the structure, I hoped it would be helpful enough |
22:37:53 | pamaury | yeah it's helpful |
22:38:30 | [Saint] | kugel: I'm not arguing, just let me get this clear: You can make a single deallocation, the entry stays in the list, then you cannot make any further deallocations on any other files, and after making the initial dewallocation every user event prints the same messgae...and that's intentional? |
22:38:51 | pamaury | it still misses a few things though, for example I had to read the entire code to figure out why is that that the data pointer needs not to be word aligned (because of moving) |
22:39:17 | kugel | pamaury: initially I wanted to put the strings into separate memory (thus making the cookie constant) but then it would have introduced an artificial limit |
22:39:36 | pamaury | yeah I understand, I thinking putting the strings elsewhere doesn't help |
22:39:42 | pamaury | *I think |
22:40:03 | [Saint] | I admit I don;t fully understand the intentions, but the way it acts I find it hard to believe the behaviour is intentional. |
22:40:03 | | Join Guest11127 [0] (~Slayer@c-69-143-178-62.hsd1.va.comcast.net) |
22:40:11 | | Quit Guest11127 (Read error: Connection reset by peer) |
22:40:13 | [Saint] | Hard, but not impossible. |
22:40:37 | pamaury | anyway, just to say I might someday give it a try at "simplifying" it if you don't mind :) |
22:40:39 | kugel | [Saint]: you can only deallocate the very first allocation, which is a debug alloc allocated just for this purpose |
22:41:01 | pamaury | ah, that's why there is a test allocation ?! |
22:41:07 | pamaury | I couldn't find the reason of this one ^^ |
22:41:31 | [Saint] | Aha, so I guess the "bug" is it allowing you to attempt to deallocate others...I see. Thanks. |
22:41:34 | kugel | yea, it allows you to see if things still work after all allocs have been moved |
22:41:52 | pamaury | nice |
22:42:04 | kugel | [Saint]: this screen is for developers only, not for curious users |
22:42:25 | lonoxmont | >implying [Saint] isnt a developer |
22:42:46 | [Saint] | I don;t think that was a deliberate asshole move. |
22:42:49 | kugel | no, I'm saying the solution isn't designed for usability |
22:42:51 | [Saint] | Language. |
22:43:26 | | Quit solrize (Ping timeout: 260 seconds) |
22:43:28 | pamaury | there are lots of screen in the debug menus that only the person who wrote it understand, not even the others devs ;) |
22:43:55 | pamaury | there are debug screens I need to read the code to remember the meaning, even though I wrote them :D |
22:43:56 | kugel | pamaury: the data pointer should be word aligned. it needs to be if you want to cast structs onto it |
22:44:15 | [Saint] | I spent a half day or so going through the code to attempt to find out what was happening, I just wanted to understand it, and now I do. So, yay. :) |
22:44:30 | [Saint] | Its nice to know that at least one other person has screwed up their eyebrows here. |
22:44:33 | kugel | but if a later buflib_shrink() call changes the alignment buflib doesn't prevent that |
22:44:40 | | Join Cultist_ [0] (~CultOfThe@c-24-12-53-28.hsd1.il.comcast.net) |
22:44:44 | pamaury | yeah that's what I meant |
22:45:12 | | Quit Cultist (Read error: Connection reset by peer) |
22:45:13 | pamaury | fortunately the code is well commented so I finally understood |
22:45:24 | kugel | good |
22:46:36 | kugel | [Saint]: btw, I was asking you what's your rbcodec solution :) |
22:46:50 | | Join krnlyng [0] (~liar@83.175.90.24) |
22:47:14 | | Quit Cultist_ (Read error: Connection reset by peer) |
22:47:33 | | Join Cultist [0] (~CultOfThe@c-24-12-53-28.hsd1.il.comcast.net) |
22:48:29 | pamaury | I was thinking about a trick to debug buflib users (having read the code I very hard, I couldn't find any bug so I really think buflib itself is okay): using virtual memory so that any time a buffer moves, its old address is invalidated and a new (virtual) one is used |
22:50:45 | pamaury | good, apparently the charging code of imx233 works on stmp3700 with minimal modification, the ZEN/ZEN X-Fi/Mozaic will finally be able to charge |
22:51:13 | | Quit Cultist (Read error: Connection reset by peer) |
22:51:13 | | Join Cultist_ [0] (~CultOfThe@c-24-12-53-28.hsd1.il.comcast.net) |
22:51:21 | kugel | pamaury: but they will usually overlap |
22:51:45 | pamaury | what do you mean overlap ? you mean several in one page ? |
22:52:18 | kugel | oh you mean the new address would be very different? |
22:52:45 | kugel | I meant that if a 1k alloc is moved down by 0.5k then the upper half overlaps with the old location |
22:53:34 | pamaury | yeah, it's only a virtual address trick, the physical addresses would be handled just as they are now. Two contiguous alloc would have very different virtual addresses |
22:53:58 | kugel | would be awesome if VM could assist buflib. but why even move allocs in the first place? |
22:54:05 | saratoga | since you have a 32 bit address space you could have allocations just monotonically increase 4KB at a time (or whatever the page size is) |
22:54:30 | pamaury | saratoga: yeah exactly what I plan to do |
22:54:37 | pamaury | except for a little catch |
22:54:38 | lonoxmont | saratoga: but what happens when you hit the end |
22:54:43 | saratoga | loop around |
22:54:46 | saratoga | but you never will |
22:55:27 | pamaury | saratoga: in buflib, there might be several alloc per page, so either you force one alloc per page (quite wasteful) or you allow several and then one physical page might be map by several virtual addresses, so you have to be careful with the cache, but that can work |
22:55:56 | pamaury | and yeah you'll never run out of addresses |
22:56:08 | saratoga | why not do one alloc per page for debug purposes? |
22:56:37 | kugel | proper debug needs to be available in release builds |
22:57:06 | saratoga | well i guess doing several virtual pages per physical page is optimal if its not too hard to implement |
22:57:15 | kugel | I mean it would be a good start, of course, but we don't get lot of testing through debug builds |
22:57:23 | saratoga | but if you just want to see if there are any use after free errors, than a simple 1:1 mapping works fine i think |
22:57:30 | pamaury | it's not harder to map several VA to one PA than to map one VA to one PA |
22:57:36 | saratoga | ah ok |
22:57:43 | saratoga | than obviously that is ideal |
22:57:45 | | Quit kevku (Quit: KVIrc 4.3.1 Aria http://www.kvirc.net/) |
22:57:51 | pamaury | you just need to be careful that two alloc don't share a cache line |
22:58:01 | pamaury | otherwise funny thing could happen ^^ |
22:58:05 | saratoga | kugel: well i think for most devices you wouldl not want to have VM running in release builds |
22:58:09 | | Quit Narod () |
22:58:29 | kugel | why not? |
22:58:36 | saratoga | given how patchy VM support is on older ARM (if it exists at all) |
22:58:40 | | Join Cultist [0] (~CultOfThe@c-24-12-53-28.hsd1.il.comcast.net) |
22:58:54 | | Quit Cultist_ (Read error: Connection reset by peer) |
22:59:01 | kugel | it need not be enabled on all targets |
22:59:05 | pamaury | obviously you only want to use it on targets which can do it |
22:59:13 | kugel | just where it's easy and lightweight |
22:59:16 | saratoga | yeah arm v5E or newer is probably less of a problem |
22:59:24 | pamaury | and non trivial VM requires more memory too |
22:59:33 | saratoga | although i wonder what the battery life hit is like |
22:59:41 | pamaury | yeah good question |
22:59:48 | saratoga | does ARM9E have a TLB or any hardware for doing this efficiently? |
23:00 |
23:00:12 | pamaury | they definitely have a TLB iirc |
23:00:26 | saratoga | i guess since codecs rarely yield it might not matter much unless the screen is on, and by then the back light dominates |
23:01:10 | saratoga | actually how would you even setup VM in rockbox? everythign is basically in one address space |
23:01:23 | pamaury | saratoga: on imx233 I use VM |
23:01:32 | wodz | side note: not all v5e cores have mmu ARM7-EJS lacks mmu |
23:01:53 | saratoga | the arm7e is probably the weirdest arm core so no surprise |
23:02:02 | pamaury | VM is very useful to have a cached, noncached and buffered view of the memory |
23:02:32 | kugel | same on ams |
23:02:50 | saratoga | IIUC you can use the MMU to control how things are mapped and cached, but still have a 1:1 and sequential mapping of VA to PA |
23:02:58 | saratoga | is that what you mean or are you doing something more |
23:03:09 | kugel | there is also a patch somewhere to use it for NX/RO-data protection |
23:03:19 | pamaury | and the point of buflib is that you don't control the addresses, buflib does, which makes it perfect to have VM |
23:04:55 | saratoga | i think it would be great to have the option to use VM on devices where it made sense |
23:05:41 | * | [Saint] can't seem to convince warble to compile again |
23:06:01 | [Saint] | ...what did I do last time, and, why isn;t whatever I did still present? :'( |
23:06:09 | | Quit wodz (Quit: Leaving) |
23:07:08 | pamaury | saratoga: my plan is to use VM for debug/safety purpose though, I don't plan to rewrite buflib to avoid moving stuff around using the MMU |
23:07:38 | pamaury | If it doesn't impact battery life and stability, why not enable it yeah |
23:07:38 | saratoga | yeah that seems sensible |
23:07:41 | saratoga | i'm very curious to see what bugs we find |
23:07:54 | * | pamaury thinks the theme engines will suffer |
23:08:12 | kugel | speaking of it |
23:08:24 | saratoga | also very interested to see kugel's rework |
23:08:25 | pamaury | although the most efficient way to debug this is to use buflib + MMU + rockbox in emulator + gdb |
23:08:38 | kugel | there's still a bug that I fixed but did not push |
23:09:59 | pamaury | saratoga: on another subjet, do you know who knows about the audo subsystem and radio in particular ? I pondering what is the best way to implement support for the STFM1000 which is a *digital* radio chip |
23:10:10 | pamaury | *audio subsystem |
23:10:34 | kugel | please test http://gerrit.rockbox.org/684 |
23:11:02 | saratoga | pamaury: sorry i've never looked at radio (or even used it) |
23:11:32 | kugel | sorry, http://gerrit.rockbox.org/687 |
23:11:45 | * | [Saint] sets about rebasing g#566 |
23:12:02 | [Saint] | #g566 |
23:12:03 | fs-bluebot | Gerrit review #566 at http://gerrit.rockbox.org/r/566 : Improve FAT driver. by Michael Sevakis (changes/66/566/3) |
23:12:06 | [Saint] | aha. |
23:13:14 | | Quit n1s (Quit: Ex-Chat) |
23:15:04 | [Saint] | kugel: oh, crap - sorry, missed your highlights. |
23:15:20 | saratoga | wow a lot of new gerrit tasks |
23:15:31 | [Saint] | Warble, a raspberrypi, ssh, and some pretty hacky helper scripts. |
23:15:35 | [Saint] | kugel: ^ |
23:15:56 | [Saint] | otherwise known as "very ugly solution to a not so difficut problem" |
23:16:30 | [Saint] | I'm trying to get warble to compile again and I have no idea how I did it the first time though. |
23:18:17 | saratoga | warble + raspberry pi makes codec optimization so much easier |
23:18:27 | saratoga | if i'd had that in 2007, our codecs would be so much further along |
23:18:29 | [Saint] | Its a nice combo, yeah. |
23:18:38 | saratoga | so many years spent waiting for the e200 database refresh screen |
23:19:00 | [Saint] | I just like it for the incredibly low power usage, but I understand that it is useful to you for entirely different reasons. |
23:19:32 | [Saint] | Ooooooooooooooh! |
23:19:37 | saratoga | just being able to make a change and see if it worked (and get debug info on the screen!) in less than 5 minutes is pretty amazing |
23:19:38 | * | [Saint] feels rather stupid now. |
23:19:47 | [Saint] | Warble is an app target option?!? |
23:19:54 | [Saint] | That seems...odd. |
23:20:20 | [Saint] | Heh, asking me for screen dimensions. |
23:20:59 | [Saint] | Man, that was non-obvious, I only found it by accident updating my desktop player here. |
23:21:46 | | Quit pamaury (Read error: Connection reset by peer) |
23:25:07 | | Join pamaury [0] (~quassel@rockbox/developer/pamaury) |
23:27:58 | | Quit bertrik (Read error: Connection reset by peer) |
23:32:24 | [Saint] | WHen I say "ugly", I meant it too - it relies on the fact that console input gets stacked to work. |
23:33:27 | [Saint] | So it just dumps a full album or directories worth of audio into a single command and relies on the fact that the second command won;t be processed until the first has finished. |
23:33:41 | [Saint] | and so on. |
23:34:00 | [Saint] | Occasionally it falls over spectacularly, or paths get mangled. |
23:35:25 | [Saint] | JdGordon|: There's a really nice little Shortcuts viewer bug I just found before. If you delete a shortcut and stay in the shortcuts viewer you'll get a garbage entry that will crash the player approximately 50% of the time if you try to launch it. |
23:39:08 | | Quit kugel (Ping timeout: 245 seconds) |
23:42:18 | | Join Cultist_ [0] (~CultOfThe@c-24-12-53-28.hsd1.il.comcast.net) |
23:42:53 | | Quit Cultist (Read error: Connection reset by peer) |
23:46:05 | | Nick Cultist_ is now known as Cultist (~CultOfThe@c-24-12-53-28.hsd1.il.comcast.net) |
23:47:24 | [Saint] | Hmmmm... |
23:47:40 | [Saint] | hddscan2.ubi is approximately 1/10 of the way through. |
23:47:48 | [Saint] | After 4 days. :-S |
23:48:38 | [Saint] | Though, I guess, it would need to be running for years and years to make replacing the disk a more cost effective solution. |
23:53:41 | | Quit pamaury (Quit: No Ping reply in 180 seconds.) |
23:54:36 | | Join pamaury [0] (~quassel@rockbox/developer/pamaury) |
23:58:31 | | Quit pamaury (Client Quit) |