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 2011-03-12

00:04:51 Part Zagor
00:06:28 Quit benedikt93 (Quit: "Nothing is true, everything is permitted")
00:06:36 Join ej0rge [0] (
00:11:28 Part gbl08ma
00:13:45 Join mudd1 [0] (
00:16:28 Quit kronflux (Quit: Leaving)
00:23:53 Quit bimbel (Quit: Verlassend)
00:29:33mcuelenaereaha, one needs to restart the Android environment to enable checkjni
00:32:05***Saving seen data "./dancer.seen"
00:34:48 Join FoH [0] (
00:36:44mcuelenaereok, I can't reproduce this on target
00:37:11mcuelenaereoh wait, it just did :)
00:38:39CIA-2New commit by kugel (r29575): Android: Switch to pthread_cond+SIGEV_THREAD for tick task handling. ...
00:39:13mcuelenaereaha, I can reproduce it reliably
00:40:59kugelwhich is the function where it crashes?
00:41:19kugelor is the env used in pcmSamplesToByteArray wrong?
00:42:04kugelmcuelenaere: that's reproduced with or without your commit?
00:42:08CIA-2r29575 build result: All green
00:42:15mcuelenaerenow trying with
00:43:34mcuelenaerewith, it doesn't crash
00:44:02mcuelenaerekugel: to reproduce, and let the last song in a tracklist finish
00:45:11mcuelenaerehmm great, now it crashed in RockboxFramebuffer (JNI WARNING: 0x487d4638 is not a valid JNI reference); unrelated though
00:45:34mcuelenaereprobably your commit fixed that though
00:47:39kugelmcuelenaere: I don'T get that message
00:48:26mcuelenaerekugel: the pastebin I sent you?
00:49:13mcuelenaereit's the same as the one from ~5 months ago
00:50:17mcuelenaerecallvoidmethod is called with a different JNI environment than the one that's attached to the current thread
00:50:24mcuelenaereJNI environment pointer*
00:50:39kugelI get the invalid ref error though
00:51:47mcuelenaerehmm that's because a reference should be global
00:52:00mcuelenaereodd, where do you get that? can you post the full log?
00:52:20mcuelenaereare you using r29575?
00:57:02kugelthat's with latest svn
00:58:31mcuelenaereaha, I'm getting this too; when waking up the screen
00:59:36kugelI'm not sure why this happens
00:59:39 Join sirrozha [0] (~sirrozha1@
00:59:52mcuelenaerekugel: perhaps we should pass the global ref to connect_with_java()? Although normally making an object global doesn't change it pointer..
00:59:59kugeltried that already
01:00:31mcuelenaerethat isn't global
01:00:53mcuelenaerethe problem is in a callvoidmethod, so it is plausible
01:01:14mcuelenaereactually, that's the only callvoidmethod in surfaceCreated so it's that call
01:04:40mcuelenaere seems to fix it
01:04:47kugelre-creating native_buffer as global ref also doesn't help
01:05:17mcuelenaereit does here?
01:07:26kugelmcuelenaere: ah sorry, now a different crash here
01:07:37mcuelenaereooh, there's a 800x480 cabbie now :)
01:08:11mcuelenaerekugel: which?
01:10:37kugelah oops
01:10:53kugelI forgot the actual NewGlobalRef call
01:11:04mcuelenaereindeed :)
01:13:15mcuelenaerethe audio bug is quite annoying
01:13:21kugelif you say it works then commit it
01:13:36mcuelenaerebut we don't delete it
01:13:46 Quit GeekShadow (Quit: The cake is a lie !)
01:13:51mcuelenaerere-adding lcd_deinit() doesn't seem really nice
01:13:58kugelyou can delete it in surfaceDestroyed, no?
01:14:12mcuelenaereand recreate it in surfaceCreated?
01:17:20 Quit kevku (Read error: Operation timed out)
01:18:21mcuelenaereactually, couldn't we just make native_buffer local?
01:18:35 Quit pamaury (Remote host closed the connection)
01:18:38 Quit dfkt (Quit: -= SysReset 2.53=- Sic gorgiamus allos subjectatos nunc.)
01:18:38mcuelenaereif it's going to be recreated every time connect_with_java is called
01:18:55kugelI thought in lcd_init_device, but surfaceCreated can be called before that
01:19:11kugelonly the ref needs to be recreated, not the object I think
01:19:21mcuelenaereI'm not sure that's going to work
01:19:31mcuelenaereif you're not making it global anymore, isn't the GC free to remove it?
01:20:06kugel is what I have now
01:20:09kugelseems to work
01:20:42kugelhm, I see what you mean
01:21:14mcuelenaeredoes it work when trying to lock-unlock the phone multiple times?
01:21:22*kugel has no problem with not deleting it at all :)
01:22:05mcuelenaerenot deleting the byte buffer?
01:23:03mcuelenaereisn't a byte buffer just a small wrapper around the actual lcd_framebuffer? (ie not resource-heavy)
01:23:24mcuelenaerein that case I don't see much of a problem with reallocating it all the time in connect_with_java
01:23:31mcuelenaereand then you could make it local
01:23:44kugelfreeing memory on exit is a little pointless anyway since it's cleaned up anyway
01:23:46mcuelenaereI don't think it's called that much?
01:24:02mcuelenaereI know, but it's cleaner :)
01:24:45kugelwell, that's debatable. it's not really cleaner if we have to add ugly code just for that
01:25:03kugelhow do you want to make it local?
01:26:04mcuelenaere (untested)
01:27:08mcuelenaereseems to work
01:27:12kugelah well, it's not GC'd because the java class saves a reference to it
01:27:29mcuelenaerebut it's local to the native code
01:28:19kugelthe java class uses the native buffer
01:28:27mcuelenaereyes, so?
01:28:47kugelso it's not local to the native code?
01:29:04 Quit mudd1 (Ping timeout: 250 seconds)
01:29:40mcuelenaeresurfaceCreated() -> creates buffer -> java_lcd_init(LCD_WIDTH, LCD_HEIGHT, buffer) -> saves ref to buffer -> native code returns
01:29:46mcuelenaerenative code doesn't hold any global refs
01:30:06mcuelenaeres/saves ref to buffer/saves buffer as a reference/
01:30:20kugelah I see what you mean, I misunderstood your sentence
01:30:24mcuelenaereoh ok
01:30:40kugelyea that should work, but you moved the global ref for the fb instance?
01:31:12mcuelenaereyes, I thought I'd group all the JNI calls together in connect_with_java
01:31:17mcuelenaerelike it originally was
01:31:23 Join chrisb [0] (
01:31:48mcuelenaereactually, connect_with_java could be inlined
01:31:49kugelin this case I like it mirrored with the delete ref call in surfaceDestroyed
01:32:00kugelit is probably inlined by the compiler
01:32:00mcuelenaereit is?
01:32:05mcuelenaereoh you mean in the code
01:32:36kugelI haven't seen a case where gcc doesn't inline a static function called only once
01:32:37mcuelenaereyeah it probably is inlined by the compiler, but I meant in the source
01:32:50 Quit sirrozha ()
01:34:03kugelI'm not able to repro your PCM issue
01:34:19 Join jhMikeS [0] (~jethead71@rockbox/developer/jhMikeS)
01:34:31 Join sirrozha [0] (~sirrozha1@
01:34:57[Saint]Has anyone else noticed keyclicks crash RaaA?
01:35:08*[Saint] just thought he'd put that out there.
01:35:22CIA-2New commit by mcuelenaere (r29576): Android: allocate native_buffer locally, which does away with the need to hold ...
01:35:26mcuelenaerekugel: did you revert to an older revision?
01:35:47kugeloh no, I'm obviously a bit tired already :)
01:35:48mcuelenaereI tried r29568
01:36:51 Quit sirrozha (Client Quit)
01:38:42*mcuelenaere hasn't tried keyclicks yet
01:38:49CIA-2r29576 build result: All green
01:39:01mcuelenaerebut I've noticed them not working too good on VX747 target
01:40:16mcuelenaere[Saint]: seems to work fine here..
01:41:03mcuelenaerewith keyclick repeat I'm able to get it non-working though
01:42:35 Quit robin0800 (Quit: Leaving)
01:44:00 Quit ender` (Quit: The curious thing about .Net is that it allows you to use any language you want, as long as it's C#.)
01:46:34kugelmcuelenaere: ddms shows that the other thread is the "Rockbox thread"
01:46:47mcuelenaerekugel: is that the UI thread?
01:46:54mcuelenaereoh that's the native main thread?
01:47:14mcuelenaerethat sounds logical
01:48:11mcuelenaereso the audio thread tries to call a method using the rockbox thread environment
01:48:14kugeldo we know which function is called?
01:48:25mcuelenaereit's one that's called through CallVoidMethod
01:48:31mcuelenaereat least, that was the case with me
01:49:15mcuelenaereyou could try adding log statements before each such call
01:50:21kugelperhaps a sim can reveal something
01:51:16 Quit sasquatch (Quit: aaaaaufbruch!)
02:01:02kugelthe sim is useless here, alsa/sdl breaks if there's no data for a bit of time (in case of a breakpoint hit)
02:04:36kugelnot a sleep(), but
02:05:30chrisbany progress on ipod Classic? i really can't stand it without rockbox...
02:05:41kugelthat's nasty
02:05:49kugelIMO pcm.c shouldn't do that
02:05:55kugelthe pcm callbacks should check what they get
02:06:13mcuelenaeretrue, but I don't think r29569 should be reverted
02:06:41kugelIMO it adds a lot of unneeded bloat
02:06:53kugeland we don't like bloat
02:07:03mcuelenaerewe don't, but I don't think this adds that much bloat?
02:07:12mcuelenaere+ it's the recommended way to go
02:07:40kugelit is?
02:07:59kugelI've seen other ways to handle this too, e.g. one involving TLS
02:08:34mcuelenaere"On some VMs, the JNIEnv is used for thread-local storage. For this reason, you cannot share a JNIEnv between threads. If a piece of code has no other way to get a JNIEnv, you should share the JavaVM, and use JavaVM->GetEnv to discover the thread's JNIEnv."
02:09:00kugelwe don't share a env between threads (except in this buggy case)
02:09:26mcuelenaereso you're saying we should fix the buggy code and then revert the JavaVM change?
02:09:27kugelit has another way to get the env
02:09:33mcuelenaerebut what if other buggy code shows up?
02:09:38kugelthat's what I would prefer yes
02:09:47kugelthen we fix bugs
02:10:15mcuelenaerewe do, but this could function as some kind of "safety net" for those undiscovered bugs
02:10:28kugelthat just makes us careless
02:12:25kugelour savety net is checkjni, what do we want more?
02:12:38mcuelenaerecheckjni is enabled by default
02:12:43kugelwith better debugging abilities you don't need to write too defensive code
02:12:48mcuelenaereand as you see, it took quite a while to discover this bug
02:13:12mcuelenaere(if nobody even ran this on an emulator, it wouldn't have been discoverd probably)
02:13:59mcuelenaereperhaps there's a way to check this ourselves, but let the code continue to function
02:14:12mcuelenaereand log it to logcat
02:17:06kugelit's just undiscovered because it's not fatal; it worked as expected
02:17:28kugel(with checkjni disabled)
02:18:42 Quit factor (Ping timeout: 240 seconds)
02:18:54mcuelenaerehow about a compromise? Use the current approach when DEBUG is defined (or something else) and use the old one if not
02:19:17mcuelenaerebetter not DEBUG
02:19:50kugelit's not about speed, it's that I now need this additional code in every jni related function for no real reason
02:21:02kugelI think we don't need that, especially if the host detects such cases for us
02:22:56mcuelenaerewell, I'm getting tired. You can revert it, but I still believe the old way isn't the correct one.
02:24:13kugelI'm ok with adding such get-env thing for functions where were are not sure in which thread we run, but for all where we are sure we don't need it
02:24:36kugelmcuelenaere: that's also what your quote says: "If a piece of code has no other way to get a JNIEnv
02:29:46mcuelenaereso you're proposing to use the global env for everything except for the PCM functions, where it gets it through JavaVM?
02:30:49*mcuelenaere should probably also go to bed
02:31:34 Quit mcuelenaere (Quit: Gnight)
02:31:40 Quit bertrik (Quit: :tiuQ)
02:32:07***Saving seen data "./dancer.seen"
02:33:38 Join Judas_PhD [0] (
02:35:13 Join factor [0] (~factor@
02:39:24 Quit Mir_ppc (Ping timeout: 276 seconds)
02:39:52 Quit simonrvn (Quit: see ya - n'multes)
02:44:09 Join FBI_Guy [0] (
02:45:50 Quit FBI_Guy (Client Quit)
02:46:09 Join FBI_Guy [0] (
02:46:30 Quit komputes (Remote host closed the connection)
02:48:44 Quit FBI_Guy (Client Quit)
02:49:08 Join FBI_Guy [0] (
02:51:26 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
03:04:23 Quit mshathlonxp (Remote host closed the connection)
03:07:28 Quit Llorean (Ping timeout: 240 seconds)
03:09:50 Quit FBI_Guy (Quit: I'm outta here)
03:15:38 Quit milk_ (Remote host closed the connection)
03:23:09 Join Llorean [0] (~DarkkOne@rockbox/user/Llorean)
03:36:04 Join t0rc [0] (~t0rc@unaffiliated/t0rc/x-5233201)
03:56:34 Join CaptainKwel [0] (
03:57:50 Quit CaptainKwel (Read error: Connection reset by peer)
03:58:44 Join jason [0] (
03:58:53 Nick jason is now known as CaptainKewll (
04:02:20 Quit CaptainKewll (Client Quit)
04:02:40 Join CaptainKwel [0] (
04:10:05 Quit chrisb (Remote host closed the connection)
04:13:31 Quit amiconn (Disconnected by services)
04:13:32 Join amiconn_ [0] (quassel@rockbox/developer/amiconn)
04:13:51 Nick amiconn_ is now known as amiconn (quassel@rockbox/developer/amiconn)
04:13:53 Quit Barahir_ (Read error: Operation timed out)
04:14:10 Join pixelma_ [0] (quassel@rockbox/staff/pixelma)
04:14:10 Quit pixelma (Disconnected by services)
04:14:24 Nick pixelma_ is now known as pixelma (quassel@rockbox/staff/pixelma)
04:19:07 Join Barahir [0] (
04:32:09***Saving seen data "./dancer.seen"
04:32:57 Join kugel_ [0] (~kugel@rockbox/developer/kugel)
04:36:21 Quit kugel (Ping timeout: 250 seconds)
04:40:41 Quit TheSeven (Ping timeout: 250 seconds)
04:44:36 Join TheSeven [0] (~TheSeven@rockbox/developer/TheSeven)
04:48:17 Quit bthomson (Quit: WeeChat 0.3.2)
04:51:26 Join bthomson [0] (
05:04:00 Join Rob2222 [0] (
05:08:19 Quit Rob2223 (Ping timeout: 276 seconds)
05:15:29 Join JesusFreak316 [0] (
05:34:02 Quit ps-auxw (Ping timeout: 248 seconds)
05:35:41 Join ps-auxw [0] (~arneb@2001:470:c807:0:1532:4e5f:2ad3:4123)
06:04:40 Join sasquatch [0] (~username@
06:06:18 Quit simonrvn (Quit: see ya - n'multes)
06:10:22 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
06:28:07 Quit CaptainKwel (Ping timeout: 250 seconds)
06:32:13***Saving seen data "./dancer.seen"
06:48:17 Quit fkhodkov (Quit: ERC Version 5.3 (IRC client for Emacs))
06:51:51 Join Horschti [0] (~Horscht@xbmc/user/horscht)
06:55:25 Quit Horscht (Ping timeout: 250 seconds)
07:00:47 Join fkhodkov [0] (
07:07:13 Quit Topy (Ping timeout: 255 seconds)
07:10:21 Quit t0rc (Quit: Give someone code, help them with one project. Teach someone to code, help them rule the world.)
07:13:02 Quit simonrvn (Read error: Operation timed out)
07:19:27 Quit fkhodkov (Quit: ERC Version 5.3 (IRC client for Emacs))
07:21:03 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
07:28:26 Join sideral [0] (~sideral@rockbox/developer/sideral)
08:00:24 Quit pixelma (Disconnected by services)
08:00:26 Join pixelma_ [0] (quassel@rockbox/staff/pixelma)
08:00:29 Nick pixelma_ is now known as pixelma (quassel@rockbox/staff/pixelma)
08:00:46 Quit amiconn (Disconnected by services)
08:00:47 Join amiconn_ [0] (quassel@rockbox/developer/amiconn)
08:01:06 Nick amiconn_ is now known as amiconn (quassel@rockbox/developer/amiconn)
08:02:51 Join mudd1 [0] (
08:06:39 Quit pixelma (Ping timeout: 252 seconds)
08:06:46 Join pixelma_ [0] (quassel@rockbox/staff/pixelma)
08:06:49 Nick pixelma_ is now known as pixelma (quassel@rockbox/staff/pixelma)
08:07:01 Quit amiconn (Ping timeout: 252 seconds)
08:07:11 Join amiconn [0] (quassel@rockbox/developer/amiconn)
08:18:54 Join esperegu [0] (~quassel@
08:18:56 Join bluebroth3r [0] (
08:19:00 Quit bluebroth3r (Changing host)
08:19:00 Join bluebroth3r [0] (~dom@rockbox/developer/bluebrother)
08:19:00 Quit bluebrother (Disconnected by services)
08:29:09 Join bmbl [0] (
08:29:09 Quit bmbl (Changing host)
08:29:09 Join bmbl [0] (~bmbl@unaffiliated/bmbl)
08:31:04 Quit sasquatch (Ping timeout: 246 seconds)
08:31:21 Join stoffel [0] (
08:32:14***Saving seen data "./dancer.seen"
08:35:51 Join sasquatch [0] (~username@
08:40:53 Quit Judas_PhD (Quit: This is a quitting message)
08:44:10 Join Judas_PhD [0] (
08:56:08 Join n1s [0] (~n1s@rockbox/developer/n1s)
09:04:59 Quit Rob2222 (Read error: Connection reset by peer)
09:05:10 Join Rob2222 [0] (
09:05:27 Quit Rob2222 (Client Quit)
09:05:40 Join Rob2222 [0] (
09:15:05 Quit factor (Read error: Connection reset by peer)
09:22:57 Join TheLemonMan [0] (
09:29:21 Quit sideral (Quit: Leaving.)
09:32:55 Join factor [0] (~factor@
09:35:52 Quit simonrvn (Quit: see ya - n'multes)
09:41:03 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
09:59:49 Join kevku [0] (~kevku@2001:7d0:0:f9af:babe:feed:dead:beef)
10:02:34 Join ender` [0] (
10:05:13 Join robin0800 [0] (
10:08:15 Quit simonrvn (Read error: Operation timed out)
10:10:18 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
10:18:20 Join Stummi [0] (~Stummi@rockbox/developer/Stummi)
10:32:17***Saving seen data "./dancer.seen"
10:55:54JdGordon|Buschel: I cant imagine how the skin engine could break AA, espcially since nothing there has changed in months...
10:56:00JdGordon|maybe embedded AA broke file based aa?
10:56:43[Saint]I have no AA in the widgets, and you just reminded me... pixelma do you have the same issue? have you tried this?
10:57:17[Saint]I use file based AA, I winder if I should try embedding it...but, yuck.
10:57:29[Saint]*wonder too
10:57:35pixelmano, I have no album art files on my phone yet
10:58:22pixelmaexcept the example track that came with it have embedded album art which doesn't show on the widget (but in Rockbox)
10:58:32[Saint]Ah, ok. Well, don't do anything special, but if you happen to notice it missing if/when you do try it out I'd like to know if it's just me or not.
10:58:45[Saint]I assume it's another thing to do with small screen sizes.
10:59:13pixelmaI wasn't sure though if the apk I have installed supports embedded in the widget yet, I believe support for this was added later
10:59:56[Saint]I assume I'm using the same .apk you are.
11:00:59[Saint]I can get AA in the .wps/.sbs fine...but not in the widget, and I've tried all sorts of combinations with the widget layout/sizing.
11:01:46 Join {phoenix} [0] (
11:06:17 Quit {phoenix} (Remote host closed the connection)
11:06:40 Join bertrik [0] (~bertrik@rockbox/developer/bertrik)
11:09:01 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
11:14:22 Join {phoenix} [0] (
11:15:19 Quit {phoenix} (Read error: Connection reset by peer)
11:24:51 Quit bluefoxx (Ping timeout: 264 seconds)
11:27:40 Nick kugel_ is now known as kugel2 (~kugel@rockbox/developer/kugel)
11:27:41 Join kugel [0] (
11:27:41 Quit kugel (Client Quit)
11:28:01 Nick kugel2 is now known as kugel (~kugel@rockbox/developer/kugel)
11:29:05 Join dfkt [0] (dfkt@unaffiliated/dfkt)
11:30:07 Join bluefoxx [0] (
11:33:29kugelpixelma, [Saint]: the widget does support embedded aa as well as file based. it works for as my AA (2 files have embedded AS)
11:35:00kugelall of my AA*
11:35:09 Join {phoenix} [0] (
11:37:45 Quit kevku (Ping timeout: 248 seconds)
11:39:17pixelmadoesn't work for me - I just checked and my apk should have support for it (it was added in r29522 and mine is 29553)
11:42:24pixelmaneither embedded nor cover.jpg. Both work in the WPS
11:43:32kugelI can have a look if you send me your files
11:43:39pixelmathe widget seems to be cover art aware though - showing nothing if there could be album art and the Rockbox logo if not
11:44:03pixelma(looking at the "big square" version currently)
11:47:30 Quit GodEater_ (Remote host closed the connection)
11:48:01 Quit JesusFreak316 (Remote host closed the connection)
11:48:41AlexPMine shows file based album art fine, I haven't got any embedded to try
11:49:35pixelmamaybe an Android version thing?
11:50:43kugelyou could also have a look if logcat shows some error
11:59:08 Quit {phoenix} (Remote host closed the connection)
12:09:39[Saint]pixelma: Ah, yes...I was the same behaviour.
12:10:12[Saint]The widget is "album art aware" as you say, simply isn't displayed. (big square, also)
12:10:34[Saint](I have tested the other widget types out of curiousity also)
12:16:30 Join GeekShadow [0] (~Antoine@reactos/tester/GeekShadow)
12:18:48 Quit simonrvn (Quit: see ya - n'multes)
12:20:08[Saint]s/I was/I am having/
12:25:06 Join GodEater [0] (
12:25:06 Quit GodEater (Changing host)
12:25:06 Join GodEater [0] (~bibble@rockbox/staff/GodEater)
12:26:49 Quit [Saint] (Ping timeout: 248 seconds)
12:30:34 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
12:31:09 Join [Saint] [0] (S_a_i_n_t@
12:32:20***Saving seen data "./dancer.seen"
12:34:21 Join benedikt93 [0] (~benedikt9@unaffiliated/benedikt93)
12:47:06 Join MethoS- [0] (~clemens@
12:48:18 Quit user890104 ()
12:54:55 Join Topy44 [0] (
13:07:38 Quit simonrvn (Quit: see ya - n'multes)
13:27:05 Join fkhodkov [0] (
13:27:12pixelmakugel: what am I looking for with logcat? The output is huge
13:30:05pixelmaI also have trouble compiling a new apk which is a different story
13:30:22 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
13:30:46 Quit stoffel (Remote host closed the connection)
13:51:34pixelmalooks like I at least got something that relates to the audio stops problem. "W/AudioFlinger( 1107): write blocked for 221 msecs, 28 delayed writes, thread 0xbec0"
13:52:01pixelmaaudio stopping also seems to happen more often after track skips
13:54:16 Quit n1s (Quit: Ex-Chat)
14:08:07kugelyou pass it to grep (adb logcat | grep -i rockbox)
14:09:24kugelpixelma: ^
14:11:38 Quit antil33t (Read error: Connection reset by peer)
14:11:48 Join antil33t [0] (
14:13:33kugelon track change new track info is passed to the widget, including aa
14:13:45pixelmaeh, on Windows? ;)
14:13:56pixelmaalso - I got to leave in a bit
14:13:57kugelthen logcat should show something
14:15:25pixelmacan't remember seeing anything specific on track changes (IIRC) but I already closed cmd. I'll try to play around with it a bit tomorrow in the evening
14:30:30 Quit Barahir (Ping timeout: 240 seconds)
14:32:24***Saving seen data "./dancer.seen"
14:32:48 Join Barahir [0] (
14:39:21 Join kkit|sh [0] (
14:40:32 Quit Stummi (Quit: Bye!)
14:41:48 Join m1k3y [0] (~m1k3y@unaffiliated/m1k3y)
14:46:26m1k3yi was trying out the android port of rockbox
14:46:31m1k3ylooks great
14:47:07m1k3yexcept that navigation is a little difficult
14:47:38m1k3yeven with the trackball, because an accidental 'right' gesture move me inside the level
14:48:26 Join akzfowl [0] (~akzfowl@
14:50:35m1k3yTorne: could you point me to someone who knows whats going on with the Android port?
14:51:30m1k3yi want to work on the android port as a part of GSoC, but didn't find it in the suggested ideas list
14:52:12m1k3yalso, the ToDo on the android port page doesn't seem to have much that could be translated to a full SoC project
14:53:02m1k3y this is the page im looking at, for reference
14:54:53 Join keve [0] (~keve@
15:02:12keveHey folks. I'm using Rockbox on the Sansa Clip+. From the manual, I read that the application lrcplayer looks for lyrics in the id3 tags SYLT and USLT of the mp3 file. Is there anyway I can change the application to read the lyrics from another tag? (I use foobar, and it stores lyrics on the file inside a "Lyrics" tag.)
15:10:09 Quit simonrvn (Read error: Operation timed out)
15:10:24 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
15:13:06 Quit TheLemonMan (Quit: Destructor called)
15:15:05 Join TheLemonMan [0] (
15:23:45 Join user890104 [0] (
15:36:11 Quit simonrvn (Read error: Operation timed out)
15:37:46 Join milk [0] (
15:38:12 Quit niekie (Read error: Connection reset by peer)
15:38:29 Join n1s [0] (~n1s@rockbox/developer/n1s)
15:40:48 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
15:46:42 Join madalu [0] (~matt@unaffiliated/madalu)
15:51:53 Quit keve (Ping timeout: 255 seconds)
15:52:17 Quit pamaury (Ping timeout: 250 seconds)
15:54:41 Join mshathlonxp [0] (
15:57:37 Quit user890104 ()
16:01:12 Quit akzfowl (Ping timeout: 248 seconds)
16:04:58 Quit robin0800 (Quit: Leaving)
16:06:21 Join akzfowl [0] (~akzfowl@
16:10:17 Join kevku [0] (~kevku@2001:7d0:0:f9af:babe:feed:dead:beef)
16:19:42 Quit simonrvn (Quit: see ya - n'multes)
16:20:19 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
16:25:43 Quit esperegu (Read error: Connection reset by peer)
16:27:00 Join esperegu [0] (~quassel@
16:32:27***Saving seen data "./dancer.seen"
16:33:21gevaertsm1k3y: kugel is the one to talk to about android
16:35:56 Quit cjcopi (Ping timeout: 252 seconds)
16:49:07 Join cjcopi [0] (
16:52:27gevaertsm1k3y: one android thing some people feel is wanted is moving to native Android widgets instead of our home-built user interface. I can't really tell you what's involved with that though. It's mainly not on our ideas list because nobody who actually wants this *and* has a good idea of what needs to be done for it has written a detailed enough decsription
16:57:01 Join Stummi [0] (~Stummi@rockbox/developer/Stummi)
16:57:39 Quit mshathlonxp (Quit: Leaving)
16:58:13 Join mshathlonxp [0] (
17:06:47m1k3ygevaerts: i see
17:06:57m1k3ygevaerts: yes, i had that question too
17:07:53m1k3ygevaerts: i think you can use native android elements for the UI while still preserving the uniqueness of rockbox
17:08:27m1k3ygevaerts: also, how can you say that nobody wants this :)
17:08:49m1k3ygevaerts: there are 0 good media management apps in the android app store
17:09:25m1k3yfrom what i can see, rockbox is like a complete package for music, and video
17:10:26m1k3ywith stuff like lyrics
17:13:30bertrikwe only do mpeg1/2 for video
17:18:49 Join pamaury [0] (
17:18:49 Quit pamaury (Changing host)
17:18:49 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
17:20:18gevaertsm1k3y: I didn't say nobody wants this :)
17:20:35gevaertsI said nobody who wants this provided a write-up that was usable for the ideas page
17:22:19gevaertsI'd say some people really want it, some people think it might be good and some won't see the need, but I also think nobody is *against* it
17:35:28 Quit toffe82 (Quit: Connection reset by zombie)
17:35:40 Join t0rc [0] (~t0rc@unaffiliated/t0rc/x-5233201)
17:41:43kugelgevaerts: cant we add "unfinished ideas" to the ideas page?
17:42:07gevaertskugel: I'd say yes, if you mark them properly (e.g. a separate section with them_
17:42:36kugelyea that was my idea
17:43:54gevaertsGo for it!
17:46:40 Quit esperegu (Read error: Connection reset by peer)
17:47:57 Join esperegu [0] (~quassel@
17:53:33kugelgevaerts: can't right now
18:00:07*gevaerts can't either
18:05:17 Quit simonrvn (Read error: Operation timed out)
18:06:39 Join simonrvn [0] (simon@2001:470:8c85:11fe::c0a8:195)
18:18:43 Quit fkhodkov (Quit: ERC Version 5.3 (IRC client for Emacs))
18:30:01 Quit B4gder (Ping timeout: 250 seconds)
18:32:31***Saving seen data "./dancer.seen"
18:33:01 Join stoffel [0] (
18:36:25 Join Bagder [0] (
18:36:25 Quit Bagder (Changing host)
18:36:25 Join Bagder [0] (~daniel@rockbox/developer/bagder)
18:41:23 Quit benedikt93 (Quit: Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.)
18:48:12 Join BHSPitLappy [0] (~BHSPitLap@unaffiliated/bhspitmonkey)
18:48:56 Join fkhodkov [0] (
18:53:28 Quit krazykit (Ping timeout: 260 seconds)
18:55:13 Join krazykit [0] (
19:01:11 Quit m1k3y (Remote host closed the connection)
19:03:21 Join user890104 [0] (
19:12:55 Quit bertrik (Ping timeout: 250 seconds)
19:26:43 Join CaptainKwel [0] (
19:27:24 Quit liar (Quit: hallowed are the ori!)
19:28:30 Join webguest46 [0] (
19:28:59 Quit webguest46 (Client Quit)
19:29:35 Join panni_ [0] (
20:07:44 Join m1k3y [0] (~m1k3y@
20:07:44 Quit m1k3y (Changing host)
20:07:44 Join m1k3y [0] (~m1k3y@unaffiliated/m1k3y)
20:10:53 Quit ender| (Quit: Do not meddle in the internals of kernels, for they are subtle and quick to panic.)
20:19:17 Join ender| [0] (
20:19:46 Join Zagor [0] (~bjst@rockbox/developer/Zagor)
20:32:35***Saving seen data "./dancer.seen"
20:48:33 Quit stoffel (Remote host closed the connection)
20:58:11 Join salty-horse [0] (
20:59:55 Join robin0800 [0] (
21:21:44 Quit TheLemonMan (Quit: Destructor called)
21:26:28m1k3ykugel: sorry i was away
21:26:40m1k3ykugel: could you guide me
21:26:52m1k3ykugel: regarding the android port of rockbox
21:27:21m1k3ykugel: what is desired of it, any ideas that could be translated to a GSoC project this year
21:28:29m1k3ybrb reboot
21:28:31 Quit m1k3y (Remote host closed the connection)
21:33:42 Join stripwax [0] (
21:39:15 Join sideral [0] (~sideral@
21:39:15 Quit sideral (Changing host)
21:39:15 Join sideral [0] (~sideral@rockbox/developer/sideral)
21:40:19 Join m1k3y [0] (~m1k3y@unaffiliated/m1k3y)
21:46:39 Join thomasjfox [0] (~thomasjfo@rockbox/developer/thomasjfox)
21:53:23 Quit stripwax (Quit:
22:20:46Zagorm1k3y: as far as I know we don't have any solid android gsoc ideas. the native UI work involves massive changes to the rockbox core and is not really something I would ask a student to do.
22:21:51Zagorone idea I've toyed with is a font and theme manager app for android, a bit like rbutil is for standalone platforms
22:24:09saratogaZagor: (knowing very little about Android), how about RAAA specific plugins and APIs?
22:24:18saratogaAndroid has a network stack
22:24:34saratogaexposing that to rockbox plugins could make for some really interesting things
22:25:51Zagoryeah, we could have stuff like spotify and plugins
22:26:21m1k3yand i have worked in this general area before :)
22:26:30saratogastreaming music plugin, or remote library syncing, etc
22:26:51Zagorhowever plugins on android is a rather open chapter
22:27:25m1k3yi have a pretty good idea of how the native android music player works, and also how the official android scrobbler integrates with music players
22:27:27saratogayes, but i think we agree that we eventually want *some* way to run additional bits of code in rockbox, even if it doesn't mean porting our existing plugins
22:27:41Zagorthe question is, why should this be done as a rockbox plugin rather than a separate app?
22:28:00m1k3yto have all the functionality at one place? scrobbler is an excellent example actually that cannot sensibly be done by a standalone app
22:28:23m1k3yand not having to worry that an upgrade will break the sync between multiple apps?
22:28:33saratogastreaming music or library functions make sense in rockbox because they'd involve your existing music, playlists, and of course access to the DSP engine, but yes i agree a lot of things are better handled by dedicated android programs
22:28:57 Quit milk (Remote host closed the connection)
22:29:41m1k3yeven popular music players like poweramp don't integrate within the app
22:30:09m1k3ythey rely on 3rd party apps (simple scrobbler, droid scrobble or app)
22:31:55 Join bertrik [0] (
22:31:55 Quit bertrik (Changing host)
22:31:55 Join bertrik [0] (~bertrik@rockbox/developer/bertrik)
22:31:57Zagorm1k3y: so they tell the scrobbler apps which track they are playing?
22:32:10Zagorand the scrobbler app handles the interface?
22:32:11m1k3yZagor: yup
22:32:21Zagorit sounds sensible
22:32:28m1k3yZagor: they 'broascast' something called an intent
22:32:38***Saving seen data "./dancer.seen"
22:32:49m1k3ywhich has bundled data
22:32:52Zagoris it even cross-app compatible?
22:33:15m1k3ysee that's the thing
22:33:32m1k3ya lot of attempts have been made to standardize this
22:33:55m1k3ybut every app makes it difficult to do this in a simple way
22:34:20m1k3ythey send out intents, but the intent 'actions' are different
22:34:25 Join stripwax [0] (
22:34:39 Quit thomasjfox (Remote host closed the connection)
22:34:48m1k3yand some players (such as the native android music player) dont even send out the playstate of the track with the intents
22:35:12m1k3yso you dont know whether the user pressed 'play' or 'pause'
22:35:44m1k3ythere are workarounds for this, involving IPC, which is rather dirty
22:35:51m1k3yand raises a lot of threading issues
22:36:32m1k3y(i know this stuff cause i was recently involved in a lyrics app for Android)
22:36:37Zagorwhat I'm getting at is if there's a a de-facto way to do this with 3rd party apps it makes less sense to do it differently in rockbox
22:37:04m1k3ythere isnt
22:37:11m1k3ythere are several ways
22:37:36m1k3y1) make your intents and data
22:37:49m1k3y2) use standard stuff like scrobbledroid or SLS
22:38:15m1k3yand all of this keeps breaking with updates
22:38:39m1k3yso there is no 'single' app that promises to work with all music players
22:39:07Zagorwe don't really need there to be. we could be happy with just one.
22:39:26m1k3ymy point is
22:39:54m1k3yif rockbox can deal with these compatibility issues
22:40:15m1k3yand become an integrated media management app for Android
22:40:21m1k3ythen it would be great
22:41:14Zagorsure, live scrobbling could be fun. we already do "file scrobbling" in the core. but I don't see it being big enough for a gsoc project.
22:41:54m1k3yhow about i do it just for the lulz
22:42:17kugelZagor: did you look at volume tracking?
22:42:17Zagorwe always welcome patches
22:42:19m1k3yand maybe we'll see if there are more inputs/ideas
22:42:26Zagorkugel: yes, fiddling with it now
22:42:59kugelI've almost blown my ears a few hours ago changing the volume in rockbox :-(
22:43:19Zagora slight annoyance is that (naturally) I get my own volume settings back in the broadcast.
22:43:22linuxstbWhat about a port of RaaA to iOS for a SoC project?
22:43:48Zagorlinuxstb: you mean except for the part that it requires a jailbroken device?
22:45:08gevaertsIs it a full SoC project anyway?
22:45:35gevaertsI mean, the Android port isn't really a good reference, since it included all of the basic app/native split
22:46:10 Quit Stummi (Quit: Bye!)
22:46:12ZagorI think the restriction issues disqualifies it as a gsoc project
22:46:16linuxstbZagor: I thought Apple were more open to alternatives to native functionality nowadays?
22:46:26linuxstbi.e. isn't there Opera for example?
22:46:32gevaertsIs there?
22:46:47Zagorthere is, but they have had to make major concession to get there. including being age-grouped 17+
22:46:51TorneOnly opera mini
22:46:59Torneyou arne't allowed to have a HTML rendering engine
22:47:00gevaertsZagor: that was for the mac app store I think
22:47:06gevaertsNot iStuff
22:47:06Zagorand there is also the fact that GPL code cannot legally be in the app store
22:47:13Zagorgevaerts: oh, right
22:47:23Torneopera mini has been allowed on the grounds that it doesn't actually render webpages
22:47:45linuxstbTorne: So what does it do?
22:47:59Zagorit shows pre-rendered pages. not html.
22:48:11Torneopera's servers render them and pass a very heavily optimised representation that's not html at all to the browser
22:48:16Torneand doesn't support JS/etc usefully
22:48:30Torneit's sufficiently crippled that it can't be considered to compete with a real browser.
22:48:30linuxstbAh, OK.
22:48:41Tornebut it's faster if you're stuck on 2G :)
22:49:07TorneThis is why the "firefox" app on iOS is just a sync client for your bookmarks
22:49:14Torneand actually launches safari to view pages
22:49:21linuxstbgevaerts: Well, work is still ongoing on the Android port...
22:49:32Torneso no, i don't think they are lightening up that particular restriction
22:49:58Bagderand they don't allow GPL really either
22:50:27linuxstbOK, so we're against it because it will never be in the app store?
22:50:44Tornei think that's a valid reason to be against it as a GSoC project
22:50:51Torneif someone wanted to do it in general then hey
22:51:01Tornei wouldn't resist someone committing a port
22:51:04Zagorlinuxstb: that wouldn't be so bad if there was any other way to load/run it without jailbreaking
22:51:30linuxstbZagor: Well, each user could pay $99, become a developer, and sign it for their own device...
22:51:31ZagorTorne: I agree. I just don't feel it's suitable for gsoc.
22:51:41Zagorlinuxstb: hehe, yay
22:52:59preglowi also have a faint feeling an ios port will be hard
22:53:37TorneThat also seems likely, yes
22:53:47Tornehm i'm still opered up
22:53:50Mode"#rockbox -o Torne" by Torne (~torne@rockbox/developer/Torne)
22:54:03 Quit stripwax (Quit:
22:54:19TorneZagor: because you can't just run all the posixy bits in a background service like in android
22:56:41Zagorcan't you glue the c and objc code together? it's not like you're allowed to run in the background anyway
22:57:41Torneyou can sorta run in the background in a complicated way i am not qualified to explain. ;)
22:58:45 Join salty_horse [0] (
22:59:18salty_horseanyone having trouble playing this? vlc and totem report it to be 76 minutes, rockbox from svn shows 5 minutes, and has trouble seeking it.
22:59:22 Quit salty-horse (Disconnected by services)
22:59:27 Nick salty_horse is now known as salty-horse (
22:59:27 Quit dfkt (Quit: -= SysReset 2.53=- Sic gorgiamus allos subjectatos nunc.)
22:59:51Zagorkugel: I'm now getting the extraction every time I install the apk
23:01:46saratogasalty_horse: foobar reports that it has a corrupted id3v2 tag, so that might be why rockbox has trouble with it
23:06:48 Join salty_horse [0] (
23:07:24 Quit salty-horse (Ping timeout: 246 seconds)
23:08:51salty_horsesaratoga, how come it doesn't bother other players? can rockbox theoretically be made to ignore corrupted tags?
23:09:01saratogaof course
23:09:35saratogaprobably just stripping the id3 tag with foobar or similar would fix the file though
23:10:52salty_horseI tried deleting both with id3v2 -D and it didn't help much
23:10:54Zagorkugel: do you understand why maurus added PLATFORM_HAS_VOLUME_CHANGE where he did in config.h? it looks like an odd location to me.
23:11:11salty_horseshould I file a bug?
23:11:55kugelZagor: no
23:12:03saratogai had foobar2000 rewrite the file stream and it works fine
23:12:15saratogayou can file a bug if you want
23:14:06 Join stripwax [0] (
23:15:31 Quit bmbl (Quit: Verlassend)
23:16:55kugelZagor: I assume to get it working in the most quickly way? :)
23:17:11ZagorI'm moving it to config/android.h
23:19:38 Quit stripwax (Quit:
23:24:25 Quit Llorean (Read error: Connection reset by peer)
23:25:06 Join brightspark [0] (a46bc6a8@gateway/web/freenode/ip.
23:31:03 Quit Judas_PhD (Quit: This is a quitting message)
23:32:04 Join Judas_PhD [0] (
23:33:51 Quit Judas_PhD (Client Quit)
23:37:14 Quit n1s (Quit: Ex-Chat)
23:41:08Zagorbah. the actual volume syncing was easy. stopping rockbox from initializing volume on start is harder.
23:43:48kugelZagor: global_settings vs OS volume? :)
23:44:23Zagoryes. there is no less than tree calls that set maximum rockbox volume at start.
23:44:32kugelperhaps just remove it from the settings for PLATFORM_HAS_VOLUME_CHNAGE?
23:45:19Zagorwe still need the setting, but I have removed it from sound_settings_apply(). but that isn't enough.
23:51:00 Join stripwax [0] (
23:51:43 Quit stripwax (Client Quit)
23:53:48 Quit brightspark (Quit: Page closed)
23:58:01 Join stripwax [0] (

Previous day | Next day