MythLogBot@irc.freenode.net :: #mythtv

Daily chat history

Current users (83):

MythBuild, MythLogBot, aloril, anykey_, brfransen, CaCtus491, cesman, Chutt, clever, coling, damaltor, dblain, dekarl1, dinamic|screen, ElmerFudd, foxbuntu, gregL, GreyFoxx, highzeth, jarle, joe____, joki, jpabq, jstenback, knightr, kormoc, kwmonroe, mag0o, mrand, NightMonkey, peitolm, petefunk, pheld, poptix, purserj, rsiebert_, seld, skd5aner, Slasher`, sphery, stuarta, toeb, tris, xavierh, Anssi, Cougar, ghoti, J-e-f-f-A, kurre2, SmallR2002, sutula, tomimo, Unhelpful, vallor, wahrhaft, _charly_, stichnot_, MaverickTech, cattelan_away, foobum, jwhite, idl0r, Vernon_at_work, Peps, laga, knightr_, jcarlos, yb0t, Sharky112065, analogue, jwh, whoDat, markcerv, eharris_, danielk221, XDS2010, dlblog, _Techie_-_AFK_, David_Miller, sunkan, f33dMB, Guyverix, Guest48629

Error at /usr/share/beirdobot/web/includes/utils.php, line 229:
Undefined variable $query


Details:
    datetime:  2025-10-19 10:45:49 (UTC)
    errornum:  2
  error type:  Warning
error string:  Undefined variable $query
    filename:  /usr/share/beirdobot/web/includes/utils.php
  error line:  229

Error at /usr/share/beirdobot/web/includes/utils.php, line 229:
Undefined variable $query


Details:
    datetime:  2025-10-19 10:45:49 (UTC)
    errornum:  2
  error type:  Warning
error string:  Undefined variable $query
    filename:  /usr/share/beirdobot/web/includes/utils.php
  error line:  229

Error at /usr/share/beirdobot/web/includes/utils.php, line 229:
Undefined variable $query


Details:
    datetime:  2025-10-19 10:45:49 (UTC)
    errornum:  2
  error type:  Warning
error string:  Undefined variable $query
    filename:  /usr/share/beirdobot/web/includes/utils.php
  error line:  229

Error at /usr/share/beirdobot/web/includes/utils.php, line 229:
Undefined variable $query


Details:
    datetime:  2025-10-19 10:45:49 (UTC)
    errornum:  2
  error type:  Warning
error string:  Undefined variable $query
    filename:  /usr/share/beirdobot/web/includes/utils.php
  error line:  229

Error at /usr/share/beirdobot/web/includes/utils.php, line 229:
Undefined variable $query


Details:
    datetime:  2025-10-19 10:45:49 (UTC)
    errornum:  2
  error type:  Warning
error string:  Undefined variable $query
    filename:  /usr/share/beirdobot/web/includes/utils.php
  error line:  229

Error at /usr/share/beirdobot/web/includes/utils.php, line 229:
Undefined variable $query


Details:
    datetime:  2025-10-19 10:45:49 (UTC)
    errornum:  2
  error type:  Warning
error string:  Undefined variable $query
    filename:  /usr/share/beirdobot/web/includes/utils.php
  error line:  229

Error at /usr/share/beirdobot/web/includes/utils.php, line 229:
Undefined variable $query


Details:
    datetime:  2025-10-19 10:45:49 (UTC)
    errornum:  2
  error type:  Warning
error string:  Undefined variable $query
    filename:  /usr/share/beirdobot/web/includes/utils.php
  error line:  229
Tuesday, July 3rd, 2012, 00:00 UTC
[00:00:15] MythBuild: build #2 of ceton-linux-64bit-icc is complete: Failure [4failed configure core compile core] Build details are at http://code.mythtv.org/buildbot/builders/ceto . . . icc/builds/2 blamelist: Stuart Morgan <smorgan@mythtv.org >, Daniel Kristjansson <danielk@cuymedia.net >, Paul Gardiner <paul@glidos.site >, Nicolas Riendeau <nriendeau@mythtv.org >, Jim Stichnoth
[00:00:15] MythBuild: <jstichnoth@mythtv.org >, Daniel Thor Kristjansson <danielk@cuymedia.net >, Gavin Hurlbut <ghurlbut@mythtv.org >
[00:11:13] gary_buhrmaster (gary_buhrmaster!~gtb@olympus.slac.stanford.edu) has joined #mythtv
[00:24:40] gary_buhrmaster (gary_buhrmaster!~gtb@olympus.slac.stanford.edu) has left #mythtv ()
[00:32:04] xris: Chutt: congratz on the new kid.  :)
[00:52:33] amejia (amejia!~andres@129.174.97.130) has joined #mythtv
[00:52:33] amejia (amejia!~andres@xbmc/staff/amejia) has joined #mythtv
[00:52:33] amejia (amejia!~andres@129.174.97.130) has quit (Changing host)
[01:04:45] dekarl1 (dekarl1!~dekarl@p4FCEEB06.dip.t-dialin.net) has joined #mythtv
[01:06:30] dekarl (dekarl!~dekarl@p4FCEE715.dip.t-dialin.net) has quit (Ping timeout: 265 seconds)
[01:16:03] XDS2010 (XDS2010!users.1218@gateway/web/irccloud.com/x-gmhoqegwnoexavzj) has quit ()
[01:21:57] XDS2010 (XDS2010!users.1218@id-1218.hampstead.irccloud.com) has joined #mythtv
[01:59:18] CaCtus491 (CaCtus491!~Kent@123-243-197-152.static.tpgi.com.au) has quit (Remote host closed the connection)
[01:59:26] CaCtus491 (CaCtus491!~Kent@123-243-197-152.static.tpgi.com.au) has joined #mythtv
[02:05:37] Chutt: xris, thanks =)
[02:05:50] GreyFoxx (GreyFoxx!~greg@mythtv/developer/GreyFoxx) has quit (Quit: reboot time)
[02:24:04] amejia (amejia!~andres@xbmc/staff/amejia) has joined #mythtv
[02:26:12] GreyFoxx (GreyFoxx!~greg@mythtv/developer/GreyFoxx) has joined #mythtv
[02:31:33] kormoc (kormoc!~kormoc@mythtv/developer/kormoc) has quit (Quit: kormoc)
[02:54:40] NightMonkey (NightMonkey!~NightrMon@pdpc/supporter/professional/nightmonkey) has quit (Remote host closed the connection)
[03:05:01] amejia (amejia!~andres@xbmc/staff/amejia) has quit (Quit: Konversation terminated!)
[03:17:13] RoboJ1M (RoboJ1M!~myth@80.175.9.247) has quit (Read error: Connection reset by peer)
[03:17:34] RoboJ1M (RoboJ1M!~myth@80.175.9.247) has joined #mythtv
[03:29:33] Beirdo: why do we have a Bluray directory?
[03:29:44] Beirdo: if you are gonna capitalize it, do it right
[03:29:54] Beirdo: it's BluRay, is it not?
[04:23:53] gary_buhrmaster1 (gary_buhrmaster1!~gtb@2001:470:80e4:3::36) has joined #mythtv
[04:27:04] gary_buhrmaster1: Beirdo: Technically, it is Blu-ray(tm) (see http://us.blu-raydisc.com/index.php)
[04:29:03] Beirdo: right
[04:29:12] Beirdo: but not Bluray :)
[04:29:14] Beirdo: heh
[04:29:37] Beirdo: that site sucks
[04:29:47] Beirdo: Couldn't load plug-in
[04:30:27] Beirdo: anyways, I knew it was wrong, just had the wrong wrong
[04:31:39] Beirdo: BAH
[04:31:53] Beirdo: error: passing ‘const RecordingType’ as ‘thisâ€Â& trade; argument of ‘int RecordingType::toPriority()’ discards qualifiers
[04:32:02] Beirdo: bah bah and HUMBUG
[05:01:11] gary_buhrmaster1 (gary_buhrmaster1!~gtb@2001:470:80e4:3::36) has left #mythtv ()
[05:27:31] Beirdo: now THAT was a nasty-ass merge
[05:29:19] Beirdo: I have a feeling that the merge of master into gpu-commflag will also be fun
[05:32:24] Beirdo: heh, that was easy. whether it will compile, I dunno
[05:37:08] Beirdo: MythBuild: force build master-linux-ppc now
[05:37:08] MythBuild: build forced [ETA 16m08s]
[05:37:08] MythBuild: I'll give a shout when the build finishes
[05:38:08] Beirdo: MythBuild: force build master-linux-64bit-icc now
[05:38:08] MythBuild: build forced [ETA 46m43s]
[05:38:08] MythBuild: I'll give a shout when the build finishes
[05:38:22] MythBuild: Hey! build master-linux-64bit-icc #78 is complete: Failure [4failed configure core compile core]
[05:38:22] ** MythLogBot http://code.mythtv.org/trac/ticket/78 **
[05:38:22] MythBuild: Build details are at http://code.mythtv.org/buildbot/builders/mast . . . cc/builds/78
[05:38:52] Beirdo: danielk221: what happened to the icc slave?
[05:53:24] stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has joined #mythtv
[05:54:06] jya (jya!~jyavenard@mythtv/developer/jya) has joined #mythtv
[06:06:03] MythBuild: build #2718 of master-linux-ppc is complete: Success [3build successful] Build details are at http://code.mythtv.org/buildbot/builders/mast . . . /builds/2718
[06:36:55] pheld (pheld!~heldal@cl-5.osl-01.no.sixxs.net) has joined #mythtv
[07:13:46] SteveGoodey (SteveGoodey!~steve@host86-129-35-147.range86-129.btcentralplus.com) has joined #mythtv
[07:21:20] MaverickTech (MaverickTech!~MaverickT@111.86.233.220.static.exetel.com.au) has joined #mythtv
[07:33:17] stoffel (stoffel!~quassel@pD9E43D4E.dip.t-dialin.net) has joined #mythtv
[07:58:01] Beirdo: oh whatever.
[07:58:45] Beirdo: LVR can't keep 0.25 running? it was far more stable for me than 0.24 branch ever was
[07:59:53] Beirdo: anyways, bed
[08:19:16] stuartm: Beirdo: he can't keep it running, yet he hasn't reported any of these segfaults he's seeing ... I mean wtf?
[08:21:09] stuartm: I get really pissed off at people who have time to whine at length about a bug but cannot instead use that time to provide useful debugging info in a ticket
[08:34:01] cattelan_away (cattelan_away!~cattelan@c-66-41-26-220.hsd1.mn.comcast.net) has quit (Ping timeout: 244 seconds)
[10:07:29] natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has joined #mythtv
[10:24:46] joki (joki!~joki@p54862746.dip.t-dialin.net) has quit (Ping timeout: 250 seconds)
[10:25:15] joki (joki!~joki@p54861E18.dip.t-dialin.net) has joined #mythtv
[11:04:55] danielk221: Beirdo: The .bashrc isn't being run at startup, not sure why yet.
[11:09:20] danielk221: Seems to be working now. I added a .bash_login that sources the .bashrc.
[11:41:38] MythBuild: build #80 of master-linux-64bit-icc is complete: Success [3build successful] Build details are at http://code.mythtv.org/buildbot/builders/mast . . . cc/builds/80
[12:38:40] MythBuild: build #3 of ceton-linux-64bit-icc is complete: Success [3build successful] Build details are at http://code.mythtv.org/buildbot/builders/ceto . . . icc/builds/3
[12:38:51] dmfrey (dmfrey!~dmfrey@webdefence.cluster-h.websense.net) has joined #mythtv
[12:44:36] stoffel (stoffel!~quassel@pD9E43D4E.dip.t-dialin.net) has quit (Ping timeout: 248 seconds)
[12:47:27] Jordack (Jordack!~jordack@h69-131-44-221.plmomi.dedicated.static.tds.net) has joined #mythtv
[13:05:31] stuartm: "All comments and criticism welcome." ...err, no it's not, last time anyone criticised his work he became belligerent
[13:17:34] jmusits (jmusits!~jmusits@66-109-48-242.tvc-ip.com) has joined #mythtv
[13:20:45] zombor (zombor!~zombor_@50-73-122-41-ip-static.hfc.comcastbusiness.net) has joined #mythtv
[13:20:45] zombor (zombor!~zombor_@50-73-122-41-ip-static.hfc.comcastbusiness.net) has quit (Changing host)
[13:20:45] zombor (zombor!~zombor_@kohana/developer/zombor) has joined #mythtv
[13:34:33] stuartm: ok, either the email I just sent gets through to LVR, or it throws fuel on the fire
[13:41:22] rsiebert_ (rsiebert_!~quassel@g226061207.adsl.alicedsl.de) has joined #mythtv
[13:42:01] rsiebert (rsiebert!~quassel@e179129107.adsl.alicedsl.de) has quit (Ping timeout: 246 seconds)
[13:48:21] stichnot: stuartm: the "FWIW" at the end of the message — that's #10740, right?
[13:48:21] ** MythLogBot http://code.mythtv.org/trac/ticket/10740 **
[13:48:21] nchauvet_ (nchauvet_!1j24ptv5z8@92.103.166.6) has joined #mythtv
[13:48:44] nchauvet__ (nchauvet__!i6kwodayfx@gw-puteaux.linagora.com) has joined #mythtv
[13:51:45] nchauvet__ (nchauvet__!i6kwodayfx@gw-puteaux.linagora.com) has quit (Client Quit)
[13:52:01] nchauvet (nchauvet!v5lutyh6yg@gw-puteaux.linagora.com) has quit (Ping timeout: 272 seconds)
[13:53:00] nchauvet_ (nchauvet_!1j24ptv5z8@92.103.166.6) has quit (Ping timeout: 248 seconds)
[14:09:10] stoffel (stoffel!~quassel@pD9E43D4E.dip.t-dialin.net) has joined #mythtv
[14:15:50] NightMonkey (NightMonkey!~NightrMon@pdpc/supporter/professional/nightmonkey) has joined #mythtv
[14:19:01] dmfrey (dmfrey!~dmfrey@webdefence.cluster-h.websense.net) has quit (Remote host closed the connection)
[14:19:48] dmfrey (dmfrey!~dmfrey@webdefence.cluster-h.websense.net) has joined #mythtv
[14:21:21] Sharky112065 (Sharky112065!~Sharky112@c-24-19-57-28.hsd1.wa.comcast.net) has quit (Read error: Connection reset by peer)
[14:21:46] Sharky112065 (Sharky112065!~Sharky112@c-24-19-57-28.hsd1.wa.comcast.net) has joined #mythtv
[14:56:30] stoffel_ (stoffel_!~quassel@pD9E4348D.dip.t-dialin.net) has joined #mythtv
[14:56:55] stoffel (stoffel!~quassel@pD9E43D4E.dip.t-dialin.net) has quit (Ping timeout: 246 seconds)
[14:57:12] natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has quit (Read error: Operation timed out)
[15:10:53] natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has joined #mythtv
[15:24:42] stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has quit (Ping timeout: 264 seconds)
[15:44:45] foxbuntu (foxbuntu!~foxbuntu@63-153-246-227.desm.qwest.net) has joined #mythtv
[15:44:45] foxbuntu (foxbuntu!~foxbuntu@ubuntu/member/foxbuntu) has joined #mythtv
[15:44:45] foxbuntu (foxbuntu!~foxbuntu@63-153-246-227.desm.qwest.net) has quit (Changing host)
[15:50:58] zombor (zombor!~zombor_@kohana/developer/zombor) has quit (Ping timeout: 245 seconds)
[15:51:11] stuartm: stichnot: no, different one
[16:04:12] Beirdo: stuartm: I enjoyed your email :)
[16:04:30] Beirdo: hopefully he listens
[16:08:41] jmusits: posted this in the user channel a little while back and didn't hear anything back. anyone have any ideas as to why mythfrontend would be in a tight loop stat-ing /etc/localtime and spitting out the following from an strace: http://pastebin.com/rmUhY5zY indefinitely? this nearly pegs both cores on the frontend and makes the UI pretty sluggish.
[16:09:55] stuartm: fwiw, since I've already had an email from someone questioning why I felt the need to say publically what I did – I felt the need to redress the balance, he has publically criticised us and complains his large body of work has been ignored, I wanted it on the record that it was not the case, his contributions are not ignored quite the opposite
[16:13:05] stuartm: if his email had been private it would have received a private reply :/
[16:13:38] sphery: jmusits: likely the leap second bug--reboot system or at least stop ntpd, set time, start ntpd (reboot is easiest)
[16:13:47] sphery: fwiw, not /our/ leap second bug
[16:15:08] stuartm: jmusits: yeah, looks like the kernel leap second bug, when did you last restart the machine? Was it running Saturday night/Sunday morning?
[16:15:23] jmusits: it was running at that time
[16:15:35] jmusits: that corresponds to the timing on when this happened
[16:15:37] jmusits: thanks!
[16:17:03] Beirdo: stuartm: yeah, his constant criticism and complaints have been noticed. His patches usually are quite good, but often too involved to do quickly, and that makes it look like we are ignoring them
[16:18:06] Beirdo: besides, we have a finite amount of time to do a nearly infinite amount of work :) something has to give
[16:21:12] stuartm: saying stuff like 98 patches against master ... well for a start several of those are his own private changes to themes, a few more are just wrong – I picked out that mythui one as an example because I've already told him before that it's utterly wrong but he didn't want to listen
[16:22:01] Beirdo: yeah
[16:22:56] zombor (zombor!~zombor_@50-73-122-41-ip-static.hfc.comcastbusiness.net) has joined #mythtv
[16:22:56] zombor (zombor!~zombor_@50-73-122-41-ip-static.hfc.comcastbusiness.net) has quit (Changing host)
[16:22:56] zombor (zombor!~zombor_@kohana/developer/zombor) has joined #mythtv
[16:23:19] stuartm: there are some interesting patches in there too, a lot of mheg 'fixes' that need looking at, but he can't expect a quick turn around on those when they are only applicable in the UK and we've only one reasonably active UK dev who doesn't even use MHEG
[16:23:48] Beirdo: exactly
[16:24:28] stuartm: and I don't have the mheg spec to check the work against :(
[16:24:39] Beirdo: mythteatime?
[16:24:59] Beirdo: heh, wonder what that person's up to
[16:25:40] Beirdo: and really, LVR insists on developing against 0.24-fixes
[16:25:50] Beirdo: that's ancient history
[16:26:14] Beirdo: and the instabilities he speaks of in 0.25-fixes... what are they, and where are they reported?
[16:26:35] Beirdo: and how many are caused by his nearly 100 custom patches?
[16:30:05] stuartm: heh, you have to wonder given that no-one else is reporting such great instability with 0.25
[16:31:03] Beirdo: exactly
[16:31:07] stoffel_ (stoffel_!~quassel@pD9E4348D.dip.t-dialin.net) has quit (Ping timeout: 240 seconds)
[16:48:12] Beirdo: OK, created diffs of what changed in every conflict file for my action-redo merge last night
[16:48:23] Beirdo: what changed in master since the last merge, that is
[16:48:47] Beirdo: some of the conflicts got hairy enough that I'm not sure I didn't miss changes
[16:49:57] stichnot (stichnot!~chatzilla@192.55.54.40) has joined #mythtv
[16:49:57] stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has joined #mythtv
[16:49:57] stichnot (stichnot!~chatzilla@192.55.54.40) has quit (Changing host)
[16:52:07] Beirdo: hmm
[16:52:14] Beirdo: while (1) {
[16:52:17] Beirdo: sigh
[16:52:29] Beirdo: that should be while (true) {
[16:52:42] Beirdo: but whatever :)
[16:55:00] stoffel (stoffel!~quassel@pD9E4348D.dip.t-dialin.net) has joined #mythtv
[16:56:55] stichnot: Beirdo: I've been wondering – what is action-redo?
[17:01:40] Beirdo: redoing all of the actions, naturally :)
[17:01:41] Beirdo: hehe
[17:01:59] Beirdo: the keyPressEvent handlers and the like, more specifically
[17:02:26] Beirdo: rather than a chain of if-else if-else, I'm using a QHash
[17:02:36] Beirdo: 10–100x faster
[17:02:44] Beirdo: (measured)
[17:03:14] Beirdo: just wasn't quite ready to be merged for this iteration, so it waits
[17:03:42] Beirdo: http://code.mythtv.org/cgit/mythtv/tree/mytht . . . /action-redo
[17:03:45] Beirdo: for instance
[17:03:56] Beirdo: go to the bottom of the file for keyPressEvent
[17:04:31] Beirdo: that one only has one action defined (as checked in), and there was a new one defined that I'm test compiling now
[17:04:37] Beirdo: glad I did the diffs :)
[17:05:15] Beirdo: I think I'll move the event definitions down by the function where it would be clearer (it's at the top in that file)
[17:05:30] Beirdo: must have been a fairly early one
[17:06:27] Beirdo: http://code.mythtv.org/cgit/mythtv/tree/mytht . . . cpp?h=master
[17:06:30] Beirdo: compare to that
[17:07:01] stichnot: I get it, thanks. (sorry, I was away for a few minutes after asking...)
[17:07:12] Beirdo: the gist of it is... instead of doing N string compares, we do about log2(N) :)
[17:07:47] Beirdo: actually, we do log2(N) hash functions, then compare hashes... close enough :)
[17:07:59] Beirdo: umm, rather...
[17:08:05] Beirdo: god, I gotta wake up
[17:08:19] Beirdo: ONE hash function, log2(N) hash compares
[17:08:39] Beirdo: and I think QHash uses uint64 internally for its hashes, not 100% sure
[17:08:59] stichnot: What do you do when the code is based on a prefix comparison rather than whole string?
[17:09:12] Beirdo: it handles regular expressions
[17:09:54] Beirdo: trying to think of an example...
[17:10:02] stichnot: cool. I was just going to ask for an example
[17:10:18] stichnot: I'm aware of a lot of prefix stuff in tv_play.cpp
[17:11:52] Beirdo: http://code.mythtv.org/cgit/mythtv/tree/mytht . . . n-redo#n3665
[17:11:55] Beirdo: there ya go
[17:12:34] stichnot: cool
[17:12:46] Beirdo: it calls the method with the actual action string matched
[17:13:24] Beirdo: it makes for a pile more methods, but it's a lot faster, and should make it easier to maintain long-term
[17:13:40] stichnot: code like >>> if (action.left(6) == "TOGGLE") <<< always bothered me — that hard-coded 6
[17:14:02] Beirdo: the more entries in that table, the bigger the average speedup will be
[17:14:21] Beirdo: and you no longer have to worry about the order they are in the code
[17:14:43] Beirdo: yeah, we had a few messups in the lengths :)
[17:15:12] Beirdo: http://code.mythtv.org/cgit/mythtv/tree/mytht . . . n-redo#n4068
[17:15:22] Beirdo: also a good example of how it's simpler :)
[17:15:47] stichnot: do you find any noticeable speedups in mythfrontend, or are they primarily in the backend?
[17:15:50] Beirdo: no longer have 10 string compares. now it's one QRegExp match
[17:15:59] Beirdo: both
[17:16:07] Beirdo: in particular in TV playback
[17:16:15] stuartm: Beirdo: playing devil's advocate for a minute, is the speedup in a non speed criticial area worth the abstraction?
[17:16:35] Beirdo: yes :)
[17:16:45] Beirdo: let me explain :)
[17:16:55] Beirdo: first off, it's a very significant speedup
[17:17:28] Beirdo: secondly, it is a pervasive issue in our code, we waste SO much time doing string compares unnecessarily
[17:17:36] stuartm: don't doubt that, but even a couple hundred ms matters little when responding to a keypress
[17:17:48] Beirdo: if not using a Hash, I would have changed it to use an enum
[17:17:50] dmfrey (dmfrey!~dmfrey@webdefence.cluster-h.websense.net) has quit (Remote host closed the connection)
[17:18:01] stuartm: I can wholeheartedly agree with the second one
[17:18:11] Beirdo: umm, it's also in the network protocol...
[17:18:22] Beirdo: and other core event handling
[17:18:30] dmfrey (dmfrey!~dmfrey@webdefence.cluster-h.websense.net) has joined #mythtv
[17:18:34] stuartm: Beirdo: right, there I can see it mattering more
[17:18:42] Beirdo: the speedup in the key presses themselves isn't as crucial, granted
[17:19:02] Beirdo: but it does also make it easier to add code later
[17:19:23] Beirdo: if you need a new action, add it to the table, define the handler method, done
[17:20:09] Beirdo: rather than digging through hundreds of lines of if-else and worrying if you're affecting timing of other actions, etc.
[17:20:32] stuartm: it's the keypress changes that I'm musing on, since that higher level stuff is better IMHO kept simple to understand/modify by plugin devs and first time contributors – maybe that's just me :)
[17:20:36] Beirdo: if it were only the keyPress, I likely never woulda done it, to be honest
[17:21:30] Beirdo: it's pretty simple as it is, as I said, add an entry to a table, create one method. return true if you handled the action, false if you want it to look like you didn't :)
[17:21:35] kormoc (kormoc!~kormoc@mythtv/developer/kormoc) has joined #mythtv
[17:22:48] Beirdo: the network protocol really is the big winner though
[17:22:49] stichnot: stuartm: for tv_play.cpp in particular, I would not say that the current state is simple to understand/modify even for a relatively experienced developer
[17:23:27] stichnot: tv_play.cpp is, shall we say, yucky for many reasons, but I don't know what to do about it...
[17:23:42] stuartm: stichnot: can't really comment with the handling in tv_play.cpp since I'm not that familiar with it, I know it does things a bit differently to everywhere else
[17:23:48] Beirdo: and I'll grant you that after conversion, some of the methods could use collapsing into one
[17:24:18] stuartm: and probably suffers greatly from the overloading of keypresses and the like which was popular for a time
[17:24:26] Beirdo: yeah
[17:24:35] Beirdo: holy crap
[17:24:43] Beirdo: here's one that gets WAY faster
[17:24:52] Beirdo: http://code.mythtv.org/cgit/mythtv/tree/mytht . . . n-redo#n4572
[17:25:06] Beirdo: check out the number of actions in that table
[17:25:06] stichnot: I don't know the history, but it appears tv_play.cpp simply grew out of control over the years
[17:25:24] Beirdo: that's like what? 35 or so?
[17:25:25] stuartm: Beirdo: fwiw my reordering of things in the FILE QUERY protocol handling was precisely because of this issue
[17:25:30] Beirdo: log2(35) <<< 25
[17:25:34] Beirdo: 35 rather
[17:25:39] Beirdo: yeah
[17:26:00] Beirdo: it will be quite a bit faster with this, pretty sure it was, actually
[17:26:19] Beirdo: we went from 100ms-ish to 30us-ish on some of these
[17:26:44] stuartm: stichnot: aye, far too many keypresses – one area where I disagree slightly with sphery is on adding new keypresses for niche functionality, that just transfers the complexity/clutter from the settings to the code
[17:26:47] stichnot: 100ms? seriously? on what hardware?
[17:26:53] Beirdo: i7
[17:27:05] Beirdo: we had some that were horrid
[17:27:31] stichnot: give me an example. I'd like try it on my ION frontend.
[17:27:36] Beirdo: before merging (whenever that is), I'll run the timings again
[17:28:02] kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has joined #mythtv
[17:28:19] analogue (analogue!~analogue@cpepool6cmts2-150.sanbrunocable.com) has joined #mythtv
[17:28:22] Beirdo: I don't remember what section that was in, and right now the code likely isn't usable until I finish going and porting in things that I unintentionally removed in the merge
[17:28:31] Beirdo: it was a lot of messy conflict :)
[17:28:46] analogue: anyone got a quick one liner to dump the stack trace of a running mythtv-backend process w/o resorting to gdb?
[17:28:58] Beirdo: as I started this just before 0.25 release, shouldn't be too surprising
[17:29:05] Beirdo: analogue: no
[17:29:14] Beirdo: gdb is the tool
[17:29:29] Beirdo: attach to the pid
[17:29:36] Beirdo: then backtrace
[17:29:47] Beirdo: then quit gdb, and it carries on running
[17:29:55] analogue: beirdo: ok, tnx
[17:30:25] Beirdo: if you are fairly quick about it, it will be pretty much harmless other than stopping playback and recording for the duration
[17:30:53] Beirdo: stichnot: I should have this back to tested state in a day or so
[17:30:55] Beirdo: :)
[17:31:01] stichnot: Beirdo: if a relatively common keypress takes 100ms to react on an i7, it should be quite noticeable on an ION...
[17:31:33] Beirdo: oh, the frontend is a Core 2 Duo, sorry
[17:31:37] Beirdo: not thinking
[17:31:38] Beirdo: :)
[17:31:44] stichnot: pretty much the same difference :)
[17:31:52] Beirdo: yeah. the i7 is the backend
[17:33:46] analogue: ah, the magic gdb command: thread apply all bt full
[17:34:04] Beirdo: oooh look.
[17:34:16] Beirdo: DeleteMap::HandleAction
[17:34:21] Beirdo: another one to convert :)
[17:35:33] kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has quit (Quit: Coyote finally caught me)
[17:36:04] stichnot: I can tell you that's not a performance bottleneck :)
[17:36:37] Beirdo: yeah, but for completion :)
[17:36:47] Beirdo: not to worry
[17:36:56] Beirdo: that will take like 20min... after work
[17:37:17] Beirdo: tv_play.cpp took like an entire weekend IIRC
[17:37:25] Beirdo: what a pain that was :)
[17:37:50] Beirdo: and I expect to find some changes to port in too, the conflict on that file was huge
[17:38:51] kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has joined #mythtv
[17:39:28] stuartm: has anyone looked at that unofficial android app, any good?
[17:39:31] stichnot: thinking like stuartm's devil's advocacy, I wonder if there's a more elegant way than adding a bunch of new wrapper methods to each class in question
[17:41:45] stuartm: I actually liked the idea of enum/switch for keypress actions, maybe not so fast as QHash and callbacks but less invasive changes and similar enough to what's there now
[17:42:10] stuartm: think that will be the last rock I throw into the pool ...
[17:42:17] stichnot: :)
[17:42:42] clever: ive always wondered why things like lirc and 'telnet control' cant be given actions within the ui rather then keys
[17:43:05] clever: for example, an ipod app sending the keys from the default layout would cease to function (properly) if i happen to remap any key
[17:43:06] Beirdo: stichnot: there isn't :)
[17:43:47] stuartm: clever: I thought that's exactly how the telnet stuff worked, but I've never once looked at or used it so ...
[17:43:52] Beirdo: stuartm: that would be just as invasive. You'd have to change all of the text-based crap to enums anyways
[17:44:02] clever: stuartm: the telnet stuff for the most part, just simulates key presses
[17:44:11] stuartm: clever: ah, sucky
[17:44:19] clever: yep
[17:44:22] stichnot: Beirdo: for example, what if the wrapper methods were moved into a separate friend class or subclass, so that new developers aren't tempted to use the wrapper methods directly?
[17:44:25] clever: lirc does the same thing, but atleast the user can edit that easily
[17:44:50] stichnot: clever: I've thought the same on several occasions...
[17:44:52] stuartm: clever: lirc could give actions, several different approaches have been tried over the years, none met the approval of Isaac although he liked the idea in principle
[17:45:10] stuartm: stichnot: that just gets even messier
[17:45:18] Beirdo: stichnot: good god. That would be a thorough pain. I did try something like that with the subclass, but then you need a pile more glue to make it work
[17:45:19] clever: i like the method that mplayer uses
[17:45:23] clever: everything (lirc, keyboard, joystick) is mapped to commands
[17:45:46] kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has quit (Quit: Coyote finally caught me)
[17:45:57] Beirdo: and as this is based off a templated class, it actually keeps the cruft down fairly well
[17:45:58] clever: then you have no need to find a free key on the keyboard to assign your new lirc button and keybindings wont mess up anything
[17:46:02] stichnot: stuartm, Beirdo : I haven't thought it through, please put away your rotten tomatoes :)
[17:46:07] Beirdo: not perfectly, I'm sure :)
[17:46:18] Beirdo: oh trust me, I had the same thoughts :)
[17:47:15] danielk221: Beirdo: It this introducing more methods into the TV class? (all those doXXX methods) ?
[17:47:18] Beirdo: I wish I could have templated the keyPressEvent handling too :)
[17:47:28] Beirdo: danielk221: yup
[17:47:29] stuartm: if you patch adds more LOC to achieve the same ends then often (but not always) something has gone horribly wrong and you need to step back to re-evaluate
[17:47:52] Beirdo: the LOC is lower or about the same
[17:48:45] stuartm: Beirdo: that was a non-specific 'your' not referring to you, I was responding in general terms to stichnot's suggestion
[17:48:58] Beirdo: yeah, I get ya :)
[17:49:06] kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has joined #mythtv
[17:49:26] stichnot: stuartm, clever: in the network control interface, I thought of adding "action x y z" which would behave similar to "key a b c"
[17:50:02] danielk221: Beirdo: There must be some way to avoid that. We don't want to add complexity to the TV class of all classes. Maybe we can just register the existing functions for some of these where they actually ignore the action string.
[17:50:03] stichnot: which would be nice for debugging/development when I don't happen to have a keybinding for an action of interest
[17:50:06] clever: yeah, having a way to trigger actions directly seems like it would simplify things
[17:50:23] clever: and also make it immune to any changes in keybindings
[17:51:02] Beirdo: danielk221: well, as I said, post-conversion, there's likely to be the possibility to collapse things down, especially if the handler is only calling a current method that's only used for handling
[17:51:16] stuartm: after I re-wrote chunks of mythvideo in the mythui port, Anduin went through it and abstracted everything, one class became ten, everything was wrapped in namespaces, callbacks and endless subclasses – the LOC sky-rocketed even though nothing had actually changed and the net result was that no-one except Anduin could follow the code any more
[17:51:24] Beirdo: and there is no real way to avoid it at the moment
[17:51:31] danielk221: Beirdo: Yeah, I understand it is a work in progress.
[17:51:34] stuartm: oh and templates, lots of templates
[17:51:39] Beirdo: not that a way won't get thought of soon :)
[17:51:51] Beirdo: stuartm: templates can be your friend :)
[17:51:59] Beirdo: or your enemy!
[17:52:40] Beirdo: danielk221: I will give it a second pass, especially in tv_play to try to coalesce things more
[17:53:17] Beirdo: I may even add another item in the table for a parameter to pass into the handler
[17:53:48] Beirdo: as that will collapse things like left, right, up, down, pgup, pgdn, etc into one handler with the arg being the amount to jump
[17:53:58] Beirdo: as in the end they use the same core routine anyways
[17:54:10] danielk221: Beirdo: for the ActionDefStruct<TV> type stuff I think if that is folded up into the "REG_KEY(BLAH" -> "reg_key<TV>(BLAH" It won't add any complexity for the programmer adding stuff (i.e. it will still be just one line that needs to be updated).
[17:54:57] Beirdo: I don't know that we can, they are two slightly separate things, but that's worth looking at for sure
[17:55:05] danielk221: Beirdo: while you're at it, it would be a good idea to create an explicit tree of contexts. Right now that's all hidden in the code..
[17:55:22] danielk221: Which make the key binding editor frankly scary to use.
[17:55:34] stichnot: danielk221: what do you mean by tree of contexts?
[17:56:05] stichnot: actually I think I understand
[17:56:07] stuartm: stichnot: keypress contexts, it's not immediately clear what's used where etc
[17:56:18] Beirdo: yeah, it's really not clear at all
[17:56:24] danielk221: stichnot: When you for instance start editing some actions are remapped.
[17:56:47] Beirdo: that (so far) is still basically buried in the code
[17:57:15] Beirdo: however, with a table of all actions that we use to build the hash, they are at least all together
[17:57:38] Beirdo: rather than spread over hundreds of lines of code
[17:57:51] danielk221: Beirdo: Yeah, you don't need to tackle it, but since you will be getting familiar with the action code, you'll be well placed to do it..
[17:57:57] Beirdo: so we are at least closer to being able to concisely say what's in what context
[17:58:02] Beirdo: yup
[17:58:07] Beirdo: makes sense
[17:58:30] Beirdo: and I'm sure we'll have some WTF moments where we want to pull crap out too
[17:59:33] Beirdo: I also redid the RecType enums to be classes, BTW. It was getting messy and unwieldly in a few places (especially with translations)
[17:59:45] danielk221: Beirdo: If you have WTF questions I may be able to help. It's been a while since I looked at the action code, but at one point I understood it pretty well.
[17:59:54] Beirdo: minimal code changes required once I got the operators in :)
[18:00:17] Beirdo: sure thing. There's likely to be some :)
[18:00:48] Beirdo: and I'll probably fix a typo or two (TOGGEL...)
[18:01:20] Beirdo: makes me shudder to see those. Blame my dad (a languages teacher) for that
[18:01:35] danielk221: RecordingTypes ? As long as the int values don't change that shouldn't be a problem.
[18:01:44] Beirdo: yeah, the values haven't changed
[18:02:06] Beirdo: and I even put in the whopping warning comment that got added recently
[18:02:28] danielk221: One of the C++ features I like is that you can now give enum's a type :)
[18:02:29] Beirdo: change these values and die (basically)
[18:03:07] danielk221: Heh, I may have added that. Those values are now part of the external facing myth services API..
[18:03:14] Beirdo: yeah
[18:03:20] Beirdo: a very good comment to have there
[18:03:46] Beirdo: I like that the static_cast<RecordingType>(blah) is now just RecordingType(blah)
[18:03:52] Beirdo: less verbiage
[18:04:18] Beirdo: and toString(recType) -> recType.toString()
[18:04:28] Beirdo: fairly simple actually
[18:04:52] Beirdo: the core of it was a bit painful. more templating, and templates can really be a PITA
[18:04:56] natanojl (natanojl!~jonatan@c83-252-237-63.bredband.comhem.se) has quit (Ping timeout: 244 seconds)
[18:05:09] Beirdo: saves a hell of a lot of repeated code though
[18:06:07] Beirdo: anyways, all for 0.27 at the earliest at this point :)
[18:06:38] Beirdo: so I'll have at least one more potentially fun merge from master before then
[18:08:21] amejia (amejia!~andres@129.174.97.130) has joined #mythtv
[18:08:21] amejia (amejia!~andres@xbmc/staff/amejia) has joined #mythtv
[18:08:21] amejia (amejia!~andres@129.174.97.130) has quit (Changing host)
[18:21:37] sraue (sraue!~stephan@xbmc/staff/sraue) has quit (Ping timeout: 240 seconds)
[18:33:42] sraue (sraue!~stephan@xbmc/staff/sraue) has joined #mythtv
[19:05:57] lcase (lcase!~lcase@146.0.107.138) has joined #mythtv
[19:13:14] lcase (lcase!~lcase@146.0.107.138) has quit (Quit: lcase)
[19:13:26] sutula (sutula!sutula@nat/hp/x-bklegjbncjhhrhdq) has quit (Excess Flood)
[19:13:47] sutula (sutula!sutula@nat/hp/x-dpgfxivgaytirhqq) has joined #mythtv
[19:14:17] DarthFrog (DarthFrog!~rob@S01060014bfba779e.vn.shawcable.net) has joined #mythtv
[19:14:24] DarthFrog: Good day.
[19:15:11] cattelan_away (cattelan_away!~cattelan@c-66-41-26-220.hsd1.mn.comcast.net) has joined #mythtv
[19:16:27] stoffel (stoffel!~quassel@pD9E4348D.dip.t-dialin.net) has quit (Read error: Connection reset by peer)
[19:17:14] DarthFrog (DarthFrog!~rob@S01060014bfba779e.vn.shawcable.net) has left #mythtv ("Konversation terminated!")
[19:29:11] jmusits (jmusits!~jmusits@66-109-48-242.tvc-ip.com) has quit (Quit: leaving)
[19:34:42] Steve-Goodey (Steve-Goodey!~steve@host86-129-35-147.range86-129.btcentralplus.com) has joined #mythtv
[19:50:59] dmfrey (dmfrey!~dmfrey@webdefence.cluster-h.websense.net) has quit (Quit: Ex-Chat)
[20:00:16] seld (seld!~seld@h170n6-rny-a12.ias.bredband.telia.com) has quit (Ping timeout: 252 seconds)
[20:03:25] seld (seld!~seld@h170n6-rny-a12.ias.bredband.telia.com) has joined #mythtv
[20:20:42] Steve-Goodey (Steve-Goodey!~steve@host86-129-35-147.range86-129.btcentralplus.com) has quit (Quit: Konversation terminated!)
[20:46:36] SteveGoodey (SteveGoodey!~steve@host86-129-35-147.range86-129.btcentralplus.com) has quit (Remote host closed the connection)
[20:50:59] SteveGoodey (SteveGoodey!~steve@host86-129-35-147.range86-129.btcentralplus.com) has joined #mythtv
[21:01:50] Jordack (Jordack!~jordack@h69-131-44-221.plmomi.dedicated.static.tds.net) has quit ()
[21:05:42] kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has quit (Quit: Coyote finally caught me)
[21:09:00] kwmonroe (kwmonroe!~kwmonroe@32.97.110.60) has joined #mythtv
[21:12:03] RoboJ1M (RoboJ1M!~myth@80.175.9.247) has left #mythtv ()
[21:16:30] SteveGoodey (SteveGoodey!~steve@host86-129-35-147.range86-129.btcentralplus.com) has quit (Quit: Konversation terminated!)
[21:33:30] zombor (zombor!~zombor_@kohana/developer/zombor) has quit (Remote host closed the connection)
[23:36:23] gregL (gregL!~greg@cpe-74-76-125-87.nycap.res.rr.com) has quit (Read error: Connection reset by peer)
[23:49:37] sraue (sraue!~stephan@xbmc/staff/sraue) has quit (Ping timeout: 240 seconds)
[23:53:22] gregL (gregL!~greg@cpe-74-76-125-87.nycap.res.rr.com) has joined #mythtv
[23:54:01] stichnot (stichnot!~chatzilla@mythtv/developer/stichnot) has quit (Ping timeout: 255 seconds)

IRC Logs collected by BeirdoBot.
Please use the above link to report any bugs.