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 2020-06-15

00:14:13***Saving seen data "./dancer.seen"
00:27:55 Join advcomp2019 [0] (
00:27:55 Quit advcomp2019 (Changing host)
00:27:55 Join advcomp2019 [0] (~advcomp20@unaffiliated/advcomp2019)
00:30:11 Quit advcomp2019__ (Ping timeout: 260 seconds)
01:52:07 Quit ZincAlloy (Quit: Leaving.)
02:14:14***Saving seen data "./dancer.seen"
02:29:54 Quit reductum (Ping timeout: 240 seconds)
02:53:05 Quit bonfire (Remote host closed the connection)
03:01:35 Join petur [0] (~petur@rockbox/developer/petur)
04:10:31commatepetur: Are you icelandic?
04:14:16***Saving seen data "./dancer.seen"
04:50:51 Join krabador [0] (~krabador@unaffiliated/krabador)
04:58:57 Join pamaury [0] (~pamaury@rockbox/developer/pamaury)
05:03:06peturcommate: no, just an affinity ;)
05:23:23 Quit krabador (Remote host closed the connection)
05:36:38 Join langest [0] (~langest@
06:11:34 Quit Oksana (Ping timeout: 240 seconds)
06:14:18***Saving seen data "./dancer.seen"
06:38:38 Quit Moarc (Quit: i znowu NADMUCHAƁ BALONA)
06:39:22 Join Moarc [0] (
06:44:03 Quit schiz (Killed ( (Nickname regained by services)))
07:49:29 Join sakax [0] (~r0b0t@unaffiliated/r0b0t)
08:02:18 Join massiveH [0] (
08:14:21***Saving seen data "./dancer.seen"
09:46:43speachythe rockbox-sf mailing list (logging the tracker emails) is working again.
09:46:56langestIt seems like my player stops when I charge it. Am I able to charge and play music at the same time with rockbox? Doesn't seem to accept any input when the charging cable is connected...
09:47:05speachyI think the rockbox-cvs list is now okay too, but testing that will have to wait until the next commit lands
09:47:20speachylangest, hold down select when you plug it in
09:48:37speachythe usb code (on the hosted targets, anyway) doesn't have a way to automagically determine if we should go charge-only or into disk mode.
09:48:55langestWorks, thanks.
09:50:28langestI see. But couldn't you at least check if it is playing something? Or is the usb code on a lower level so that it doesn't have any access to rockbox states?
09:51:07speachyit's pretty low level. The problem is we won't know what to do without prompting the user.
09:52:30 Quit massiveH (Quit: Leaving)
09:53:54langestI guess there is some technical limitation for that.. Even though from a user perspective it is hard to imagine it being improssible since my other devices usually can continue in whatever state they are in when I plug in the charging adapter. Except for a stupid BT speaker I have, maybe it has some similar problem..
09:54:23speachythere's no guarantee the file that was playing will still be there upon unplug
09:56:03langestAlright, but wouldn't that be an exception that fairly easy to manage? (I don't want to criticize the design, I'm just curios if you have the time and want to explain, otherwise I might look at the code at some point)
09:57:40speachythe bigger fish to fry is the "what to do upon usb insertion"
09:58:09speachysince the widget (ie rockbox) has to initiate the USB handshaking to the host.
09:59:10 Quit Moarc (Read error: Connection reset by peer)
09:59:46langestAnd it isn't possible to do the handshake while continuing to play the current file?
10:00:06speachyshort answer is "depends on the mode"
10:00:11 Join Moarc [0] (
10:00:23speachybecuase in USB mode we have to give exclusive access to the storage to the usb host
10:00:33speachyon most targets, that is.
10:00:46langestah, so that's the problem
10:01:17speachyon the hosted targets (like the x3ii) Rockbox is an application like any others, but the OS still needs to know to disconnect the filesystem from the OS so applications can't modify it.
10:02:06speachythat's because we use mass storage mode. If we exported MTP mode instead, then that wouldn't be necessary.
10:04:11langestI see.
10:05:48speachybut that's not a trivial undertaking (for native targets, anyway)
10:06:13speachybut! We'd still probably need to prompt the user to determine the right thing to do.
10:12:14langestFrom a user perspective it might have been more helpful to get a popup prompting me. But now that I know I need to press select I prefer the current implementation.
10:12:37langestI guess I should have read the manual.
10:14:25***Saving seen data "./dancer.seen"
10:17:23speachythat might not be in the manual. Or at least it can vary based on the target
10:26:36 Quit Moarc (Read error: Connection reset by peer)
10:28:36 Join Moarc [0] (
10:35:56speachyoh, langest, how's the x3ii been under normal usage? does the keymap seem sane so far?
11:20:54 Join hugo_ [0] (
11:21:55 Quit petur (Read error: Connection reset by peer)
11:22:00hugo_Hey, does anyone have the AUPD Decryption Program? It was removed from rockbox website a long time ago.
11:29:40langestI haven't leared any shortcuts (if there are any). But back, select, left/up and right/down are all on the correct keys.
11:30:21langestI'm trying to figure out what select does. It seems to work like back in menues and show currently plaing sometimes.
11:50:15 Quit hugo_ (Remote host closed the connection)
11:50:33 Join hugo_ [0] (
11:52:28langestI'm trying to figure out how timestretch works. I enabled it in settings and am trying to find pitch and timestretch on the wps screen but can't seem to find it.
12:07:45 Quit hugo_ (Remote host closed the connection)
12:08:04 Join hugo_ [0] (
12:14:27***Saving seen data "./dancer.seen"
12:21:39 Join MrZeus [0] (
12:24:21langestAny tips on how to get this working?
12:28:39 Join ZincAlloy [0] (
12:55:07 Join hugo__ [0] (
12:55:19 Quit hugo_ (Remote host closed the connection)
12:58:40fs-bluebotBuild Server message: New build round started. Revision 32b03d7, 292 builds, 9 clients.
13:17:07fs-bluebotBuild Server message: Build round completed after 1108 seconds.
13:17:10fs-bluebotBuild Server message: Revision 32b03d7 result: All green
13:40:00pixelmalangest: look for how to get to the quickscreen in our manuals (don't know which device you're talking about)
13:41:40 Join lebellium [0] (
14:00:04langestthanks, I'll have a look. (xDuoo x3ii, I don't think it has any manual yet)
14:01:11langestIt doesn't appear in the quick screen.
14:08:37 Quit advcomp2019 (Ping timeout: 264 seconds)
14:09:59 Join advcomp2019 [0] (
14:09:59 Quit advcomp2019 (Changing host)
14:09:59 Join advcomp2019 [0] (~advcomp20@unaffiliated/advcomp2019)
14:14:29***Saving seen data "./dancer.seen"
14:30:43 Quit ZincAlloy (Quit: Leaving.)
14:31:29 Join ZincAlloy [0] (~Adium@2a02:8108:943f:d824:7400:c145:aed7:cc4a)
14:48:24 Quit hugo__ (Quit: Leaving)
14:50:00mendel_munkisI am trying to extend g#120. the issue with it as stands is that some plugins like to write directly to the framebuffer and since the plugin api can only contain constants plugins can't properly handle a changing framebuffer.
14:50:03fs-bluebotGerrit review #120 at : lcd drivers: Convert lcd_[remote_]framebuffer to a pointer by Jonathan Gordon
14:51:44mendel_munkisI see two possible solutions, either passing a pointer to the framebuffer pointer in the API, or entirely removing plugin direct framebuffer access and adding a function for arbitrary framebuffer writes.
14:53:56mendel_munkisAs I see it the main con with the first option is that its ugly and breaks up the "format" of the API, the main issue with the second is that for any plugins which are ports and assume that they have control of the framebuffer far more function wrapping needs to be done.
14:54:11mendel_munkisDoes anyone else have any comments on this?
15:17:22speachywe'll want direct fb access.
15:18:07speachyexporting a pointer to the fb makes more sense.
15:18:21speachya pointer to a pointer to the fb, that is
15:19:18speachymost plugins don't update the display that often, but others (esp games) need all the performance they can get.
15:19:58speachyas long as we make some assumptions.. like when a plugin is running, the rb core won't change the active fb out from under the plugin.
15:27:32mendel_munkisspeachy: unless the plugin asks it to.
15:29:04speachyof course
15:34:20mendel_munkisbut I don't need to add a check if I don't add a framebuffer switch anywhere a plugin could be running correct?
15:34:54mendel_munkisin other words the caller should check not the switching function
15:35:09mendel_munkiswhen put that way it sounds obviously wrong however
15:36:04speachyanything that switches the fb should switch it back when they're done.
15:36:19speachythe low-level display functions should always operate using the active pointer
15:36:49speachy(that is to say the low-level device drivers)
15:37:17speachybut everything that writes to the fb should use the fb they allocated so if they update in the background they don't trash the one being displayed
15:37:19speachyif that makes sense
15:37:36mendel_munkisspeachy: why should the fb always be switched back?
15:37:40speachymind you, I'm just describing how I think it should all work, which isn't necessarily how it's actually implemented.
15:38:29mendel_munkismaybe I want to add a setting to halve my devices resolution using a smaller framebuffer
15:38:33speachybecause if you never switch it back, why not just use the "global" fb to begin with, and not waste the RAM with a secondary one.
15:39:01speachythe idea being your code wants its own playground, and the rest of the system should leave that playground alone.
15:39:09mendel_munkisI see
15:42:10speachybut that's the theory anyway.
15:44:00mendel_munkisas far as I can tell the way it works now is that every plugin is handed a pointer to the default fb and can ask the core to switch between it and whatever framebuffers it allocates.
15:44:08speachyrockbox's lcd_* functions all operate on the "current" fb.
15:44:50mendel_munkisbut which means that that if something else switched framebuffers before the plugin starts weird things may happen
15:47:15speachyso it goes back to... what are you trying to accomplish?
15:47:25 Join Rower [0] (
15:47:27speachyand are you better off just doing a memcpy()? :)
15:48:37mendel_munkisspeachy: my end goal is to use a differently sized framebuffer in place of the default one
15:49:08mendel_munkismy semi-immiedete goal is to have a framebuffer thats fb[y][x] instead if fb[x][y]
15:49:58mendel_munkismy current goal is to make the plugin api not dependent on the default framebuffer
15:50:37speachythe underlying hardware/drivers need a fb that corresponds to the physical display (rows/cols/depth)
15:50:52 Quit Rower- (Ping timeout: 256 seconds)
15:51:32 Join Rower- [0] (
15:51:55mendel_munkisof course. but how many of the screens on rockbox devices support multiple resolutions?
15:52:14 Quit Rower (Ping timeout: 256 seconds)
15:52:48speachynone that I'm aware of.
15:53:05mendel_munkisand getting landscape (for which there is hardware support) working on the fuze+ has been a pet project of mine for years
15:53:55speachyso when you say "differently sized" are you just referring to rotation, or are you talking about arbitrary [smaller] sizes, or both?
15:54:34speachyrockbox doesn't handle run-time resolution/orientation changes.
15:54:40mendel_munkisI was referring to both. if noe of the rockbox hardware supports it however i'll settle for rotation
15:55:01mendel_munkisI am aware of that. it's a long term goal of mine to change that
15:55:11mendel_munkis(at least on my private build)
15:55:28speachythe hosted-on-android targets in theory can handle switching resolutions though there's still only one native output res for a given screen
15:56:37speachyit's not _that_ bad to add runtime rotation/etc but it'll come at a cost of code size and performance.
15:57:04speachywhich hasn't historically been considered worth it. :/
15:57:15mendel_munkisI am well aware. that's why I wasn't counting on getting it into mainline
15:57:34mendel_munkis(but at least I hope to see it in gerrit for anyone else who wants it)
15:57:50speachyI wouldn't discount it going into mainline; for example, a viable android port pretty much requires it
15:58:32speachyand I'd be willing to bet that a lot of the necessary incremental steps to make that happen would be valuable in their own right
16:01:00mendel_munkisand by the way the fuze+ screen supports multiple depths and sizes if I understand the datasheet
16:01:01speachyand the most-constrained targets (ie archos) should just get taken out back and shot
16:06:47pixelmalangest: oh, I misremembered myself. There should be a pitchscreen
16:07:40pixelmaI don't use pitch or timestretch or the like often
16:07:56mendel_munkisof course in my dream world greylib is part of the lcd drivers not the pluginlib
16:08:05 Join Rower [0] (
16:10:54 Quit Rower- (Ping timeout: 240 seconds)
16:11:06 Join Rower- [0] (
16:12:49 Quit Rower (Ping timeout: 264 seconds)
16:13:08 Join Rower [0] (
16:14:31***Saving seen data "./dancer.seen"
16:15:49 Quit Rower- (Ping timeout: 264 seconds)
16:19:23langestpixelma: Ok, I suppose you don't know how to get to the pitchscreen.
16:22:44 Join Rower- [0] (
16:25:34 Quit Rower (Ping timeout: 240 seconds)
16:26:04mendel_munkislangest: what happens if you hold home?
16:26:37mendel_munkisfrom th while playing screen
16:26:39 Join Rower [0] (
16:27:22 Quit Rower- (Ping timeout: 256 seconds)
16:27:34fs-bluebotBuild Server message: New build round started. Revision dfa8fd8, 292 builds, 9 clients.
16:27:43mendel_munkisto get to the pitch screen you can hold play on the WPS to get the context menu. the last option on the context menu should be pitch.
16:28:58langestHolding play did the trick. Thanks.
16:29:32mendel_munkislangest: the effect of holding play should be a setting you can change
16:29:50mendel_munkis(In case you want to use the hotkey for something else)
16:33:01 Join Rower- [0] (
16:36:01 Quit Rower (Ping timeout: 265 seconds)
16:39:37 Quit Rower- (Ping timeout: 258 seconds)
16:41:10 Join petur [0] (~petur@rockbox/developer/petur)
16:44:16fs-bluebotBuild Server message: Build round completed after 1002 seconds.
16:44:17fs-bluebotBuild Server message: Revision dfa8fd8 result: All green
16:48:12 Quit langest (Remote host closed the connection)
17:14:43 Quit lebellium (Quit: Leaving)
17:35:25 Quit ZincAlloy (Quit: Leaving.)
17:39:49 Join ZincAlloy [0] (~Adium@2a02:8108:943f:d824:84cb:69d3:b335:7cc6)
17:41:10 Quit ZincAlloy (Client Quit)
17:54:42pamaurymendel_munkis: just saw some stuff on the fuze+. Supporting landscape mode on the fuze+ is very easy, the controller is quite flexible about how you push the pixels. It doesn't support multiple resolutions though. The controller just assumes a pixel is a pixel, it doesn't care that much about the actual resolution but it won't be able to scale.
17:55:17pamauryHowever the cpu on the fuze+ has a pixel co-processor that supports non-integer scaling so in principle, it could support multiple resolutions that way.
17:57:32mendel_munkishowever the screen does support partial use
17:57:42*mendel_munkis wonders if that would save on battery
17:58:22mendel_munkispamaury: i have some code you wrote for setting the correct registers for orientation flipping
18:13:30 Quit petur (Quit: Leaving)
18:14:35***Saving seen data "./dancer.seen"
18:16:25 Quit pamaury (Ping timeout: 264 seconds)
18:28:35 Join S|h|a|w|n [0] (~shawn156@unaffiliated/shawn156)
18:39:40 Quit dys (Ping timeout: 246 seconds)
18:43:51 Join PimpiN8 [0] (~PimpiN8@
18:51:20 Join Oksana [0] (~Wikiwide@Maemo/community/ex-council/Wikiwide)
18:56:00 Join zalckos [0] (~avocado@
18:58:04 Quit sakax (Quit: Leaving)
19:10:54mendel_munkisspeachy: does it make sense to dereference the pointer for the lua API or leave dereferencing to the lua plugins to maintain API similarity?
19:11:25speachyI guess that would depend on its users.
19:11:55speachyall else being equal similarity is better but lua doesn't provide a complete 1:1 mapping.
19:14:22mendel_munkisI cant even figure out how to dereference a pointer in lua
19:39:12 Join __BILGUS_ [0] (41ba23be@
19:39:47__BILGUS_mendel_munkis the devices all have different requirements for pixel ordering & stride
19:40:09__BILGUS_there are a bunch of macros that switch to the proper format
19:40:29mendel_munkisI am well aware.
19:40:38__BILGUS_in lua I had to do all the conversion in bin
19:41:00__BILGUS_in the plugin binary
19:41:40__BILGUS_it'd be nice to be able to natively handle them but that seems like a tall order
19:45:56__BILGUS_speachy what do you mean it's not 1:1?
19:46:19speachyyou created a perfect lua mapping for each rockbox API?
19:47:51__BILGUS_oh I thought you were saying pixel mapping
19:48:05speachyyeah :)
19:48:39__BILGUS_no but its pretty fully reflected
19:48:40speachyand IMO a perfect 1:1 api mapping would be insane given the organic mess that is our internal (and plugin) API...
19:49:20__BILGUS_lua is not nicewhen it comes to that
19:50:29__BILGUS_mendelmunkis if you have any questions about lua esp my patches feel free to ask
19:51:08__BILGUS_lua is not my goto language lets just say that but I know a whole lot about the internal workings after all those patches
19:53:29mendel_munkisnope you convinced me its saner to just have the runtime dereference the double pointer instead of expecting the lua app to.
20:14:39***Saving seen data "./dancer.seen"
20:16:10 Quit zalckos (Quit: Leaving)
20:24:48 Quit MrZeus (Ping timeout: 256 seconds)
21:21:06 Quit PimpiN8 (Quit: Textual IRC Client:
22:11:24 Quit __BILGUS_ (Remote host closed the connection)
22:14:43***Saving seen data "./dancer.seen"
22:46:49 Join reductum [0] (
23:54:34 Quit TheSeven (Disconnected by services)
23:54:42 Join [7] [0] (~quassel@rockbox/developer/TheSeven)

Previous day | Next day