[09:31] *** vmlemon_ has joined #kamaelia
[11:54] < aa_> MS-: ok, my brb was 26 hours long, but I am trying now. I understand the concept of how to close the input stream for a unix process, but I am not sure how to tell SimpleHTTPClient() to send to that control inbox when it is done sending to the inbox inbox. (without getting my hands dirty! I probably could do it with dirty hands)
[13:12] *** vmlemon_ has joined #kamaelia
[13:12] < vmlemon_> Hi
[14:11] *** vmlemon_ has joined #kamaelia
[14:32] < vmlemon_> Hi
[15:00] < MS-> aa_: SimpleHTTPClient was written by a gsoc student who wrote it as an adhoc thing, it might be a bit crap in the shutdown department :)
[15:00] < MS-> vmlemon_: hi
[15:01] < MS-> Oh, I see
[15:01] < MS-> reading:
[15:01] < MS-> http://code.google.com/p/kamaelia/source/browse/trunk/Code/Python/Kamaelia/Kamaelia/Protocol/HTTP/HTTPClient.py
[15:01] < MS-> This component downloads the pages corresponding to HTTP URLs received
[15:01] < MS-> on "inbox" and outputs their contents (file data) as a message, one per
[15:01] < MS-> URL, to "outbox" in the order they were received.
[15:01] < MS-> basically, it spits out the *entire* file in one chunk
[15:03] < MS-> Oh that's surprising, it uses the carousel component
[15:03] < MS-> It should, given what it does, but still surprising.
[15:05] < MS-> aa_: I'm not sure what you're trying to do, but "SimpleHTTPClient" is misnamed really
[15:05] < MS-> But then Ryan wasn't great at naming IMO.
[15:06] < MS-> It's *correct* name would be something representative of "Reusable HTTP Client"
[15:06] < MS-> since that's what it is
[15:07] < MS-> It seems much more complex than it needs to be as well
[15:07] < MS-> But that's a sign of youth IMO
[15:07] < aa_> hah
[15:09] < vmlemon_> UberHyperComplexServer? ;)
[15:14] < vmlemon_> RecycleableHTTPClient? ;)
[15:30] < MS-> Something like that
[15:48] *** Lawouach has joined #kamaelia
[16:49] < MS-> http://twitter.com/kamaeliacheckin created
[16:54] *** Rigolo has joined #kamaelia
[16:55] < Rigolo> good evening ...
[17:22] *** Uraeus has joined #kamaelia
[17:55] *** Chong- has joined #kamaelia
[18:14] < Rigolo> anybody here that can help me with a python-dvb3 installation (on a clean mythbuntu 8.10 beta)?
[18:29] *** Chong- has joined #kamaelia
[18:32] < Chong-> Has anyone met Maximum number of clients reached : unable to open display ":0.0" problem?
[18:32] < Rigolo> not me ... but I'm just starting out with Kamaelia today :-)
[18:33] < Chong-> Rigolo: hi, it's not a problem with Kamaelia but with linux
[18:33] < Chong-> Rigolo: BTW, welcome to Kamaelia :-)
[18:33] < Rigolo> okee ... I was wondering already because it looks like a X error message
[18:35] < Chong-> yes. Searched internet, found some solutions but not work for me :(
[18:35] < Chong-> Basically, it prevents you from opening more apps
[18:35] < Rigolo> what distribution?
[18:36] < Chong-> openSUSE, kde
[18:37] < Rigolo> mmm more of a ubuntu or gentoo person .. no experiance at all with openSUSE
[18:37] < Chong-> But when I searched internet, I found users of red hat, ubuntu + gnome also had met the same problem
[18:37] < Rigolo> okee :-)
[18:38] < Chong-> Rigolo: thanks anyway :-)
[18:39] < Rigolo> looks like a very recent bug ... and not limited to kde only
[18:41] < Chong-> yes.
[18:41] < Rigolo> acording to some bug reports on ubuntu intrepid it looks like the screensaver might be causing this
[18:41] *** MS- reads backlog
[18:42] < Chong-> but I have not installed intrepid
[18:42] < MS-> Chong-: Your problem is an X server problem
[18:42] < Chong-> evening MS-
[18:42] < Chong-> MS-: do you know how to solve it?
[18:42] < MS-> Chong-: Never had the problem, but it's clear it's an X Server one
[18:43] < MS-> restarting the x server would probably help
[18:43] < MS-> lsof may give you some hints as well
[18:43] < MS-> But you'd need to know what you're looking for
[18:43] < MS-> Rigolo: What problem are you having with the dvb bindings?
[18:43] < Chong-> I have restarted pc several times, it did not work
[18:44] < MS-> Chong-: Could be stale files in /tmp in that case
[18:44] < Rigolo> can not compile them ... also posted a message to the google group
[18:44] < MS-> Cool, I'll take a look
[18:44] < Rigolo> got my python book yesterday :-)
[18:45] < MS-> ah, I see, it's probably due to pyrex changes
[18:45] < Rigolo> I would not be surpricec if python-dvb3 is not working anymore on recent kernels because of the v4l-dvb change of somewhere mid this summer.
[18:46] < MS-> Cool - I've read the first edition of that (I make a point of reading up various books :), and I think it's one of the best python books myself.
[18:47] < MS-> Rigolo: Oh, that's "great" - I wasn't aware of that
[18:47] < Rigolo> MS-: good to hear ... I noticed it as being a very recent one, already up to date for version 3 etc
[18:47] < Rigolo> MS-: they also have introduced a new API ... called version 5 .. but that is mainly for the latest and greatest dvb cards (think dvb-s2 etc)
[18:48] < MS-> I see
[18:48] < Rigolo> is anyone maintaining python-dvb3 .. or is it a stalled project?
[18:48] < MS-> Oh it's maintained primarily by myself and Matt Hammond
[18:49] < MS-> Basically though, we only look at changing things when we hear that it's broken with particular versions, primarily because the code works
[18:49] < Rigolo> but the sourceforge files are still from 2006? or did I download something incorrect (version 0.0.4)
[18:49] < MS-> The code is stable
[18:49] < MS-> Sounds like kernel changes are going to force changes though, which is a pain
[18:50] < MS-> The bindings have been used in a system running continuously for around 2 years solid fwiw
[18:50] < MS-> (to the extent we actually forgot the system was running :-) )
[18:50] < MS-> Which is a nice uptime, which is also why we view the bindings as stable
[18:51] < MS-> OK, I'm going to post some q's to the list, but ask them here as well
[18:51] < Rigolo> well .. that is good to hear .. so that proves stability in the basic code I would guess ... unless the code was not used during those 2 years
[18:51] < Rigolo> fine
[18:51] < MS-> primarily so that the answers get recorded in the archives
[18:51] < Rigolo> I will also respond to the list then .. to keep everyone up to date :-)
[18:51] < MS-> No, the code was demuxing constantly
[18:51] < MS-> cool
[18:53] < Rigolo> btw .. the function that changed in v4l-dvb was the dvb_register_adapter() function ... not sure if you are hit by that change .. there is now an extra parameter
[18:53] < Rigolo> could be too low level for these bidings
[18:57] < MS-> OK, sent
[18:57] < Rigolo> reading it now :-)
[18:58] < MS-> dvb_register_adapter isn't referenced in our bindings fwiw (just grepped :) )
[18:58] < Rigolo> okee ...
[18:59] < MS-> I suspect that's something hardware drivers have to do, rather than user side
[18:59] < Rigolo> but it might be usefull to readup on the new S2API (http://linuxtv.org/wiki/index.php/S2API)
[18:59] < Rigolo> well... I was hit with that change because I use open-sasc-ng
[18:59] < MS-> much appreciated
[19:00] < Rigolo> (not sure if you guys like to discuss softcam's etc)
[19:02] < MS-> Ahhh, I see.
[19:02] < MS-> The phrase didn't make much sense - but it's useful to know. I'd be tempted to figure that out
[19:04] < MS-> I've not bothered building something like Myth at home, primarily because I watch mainly Sky, Sci-Fi, etc
[19:05] < Rigolo> send my reply btw
[19:05] < Rigolo> where can I get an older version of pyrex?
[19:07] < Rigolo> I'm working on setting up mythtv with my dvb-c provider. I have 4 dvb-c cards in my machine and with the latest version of mythtv you can use all 4 and then even record multiple channels within the same transport stream
[19:08] < MS-> Oh, sorry, I'll put a copy up
[19:08] < Rigolo> but .. most of the channels are encrypted. Using a hardware cam would have set me back at least 400 Euro's for 4 CAM's and then I need 4 additional smartcards from my provider
[19:08] < MS-> (there's a copy on sourceforge in an old "megabundle" of kamaelia)
[19:08] *** MS- nods
[19:09] < MS-> For DVB-T the bindings are good enough (which is where they've mainly been used of course)
[19:09] < MS-> Though they were first used with DVB-S for radio stations
[19:09] < Rigolo> well ... dvdb is dvb they say < grin>
[19:10] < Rigolo> mmm extra d in dvdb should not be there :-)
[19:10] < MS-> http://www.kamaelia.org/release/deps/
[19:10] < Rigolo> let me get that megabundle and extract pyrex from there
[19:11] < Rigolo> okee ... got it from there ... that is a brandnew tar :-)
[19:12] < Rigolo> okee .. I assume I do a sudo python setup.py install from the pyrex dir?
[19:12] *** Uraeus has joined #kamaelia
[19:13] < MS-> yep
[19:13] < Rigolo> done .... no errors it looks like ..
[19:13] < Rigolo> going to try python-dvb3 now
[19:13] < MS-> Good to hear :)
[19:14] < Rigolo> is there a "make clean" like command that I need to do first on the python-dvb3 dir? or os that not needed (because my previous compile went wrong)
[19:16] < MS-> python setup.py --help-commands
[19:16] < MS-> is your friend :-)
[19:16] < MS-> and specifically
[19:16] < MS-> python setup.py clean
[19:16] < MS-> or rm -rf directory, re-untar directory :)
[19:17] < Rigolo> I think that one is easier ... did the clean but still problems ..
[19:17] < MS-> Interesting, sounds like the S2API is moving to an API style that the Amiga used to use.
[19:17] < MS-> Was a very nice way of working with an API
[19:18] < Rigolo> would not be surprised if these developers where old amiga users/programmers :-)
[19:18] < MS-> Me neither :)
[19:18] < Rigolo> mmm an other error
[19:18] < MS-> Did you say you're using Ubuntu 8.10 ?
[19:18] < Rigolo> yes ... latest beta/rc
[19:19] < Rigolo> really using mythbuntu
[19:19] < Rigolo> but is the same .. only a slightly different base install
[19:19] < Rigolo> xfce instead of gnome and much less packages
[19:20] < MS-> I use open suse, but if there's a live CD/DVD anywhere, I can always put that in a VirtualBox, and test things there. (though probably won't have a chance to test until some point in the week)
[19:20] < MS-> esp if pointed at an appropriate live CD/DVD :)
[19:20] < MS-> Won't be able to test the actual hardware that way, but probably be able to sort build issues.
[19:20] < Rigolo> 32 or 64 bits?
[19:20] < Rigolo> torrent of direct download?
[19:21] < MS-> It's possible, thinking about it, that Matt uses 8.10 since he moved to ubuntu
[19:21] < MS-> I prefer direct download personally, 32 bit
[19:21] < Rigolo> 8.10 is still in beta ... it will be out in a few days though
[19:21] < Rigolo> http://mythbuntu.org/download/?file=mythbuntu-8.10-beta-desktop-i386.iso
[19:21] < Rigolo> that is the .iso for mythbuntu ...
[19:21] < MS-> Much appreciated
[19:22] < Rigolo> can you also experiment with mythtv :-)
[19:22] < MS-> Timing is everything it seems:
[19:22] < MS-> "Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later."
[19:22] < Rigolo> what mirror server?
[19:23] < MS-> I'll have a fiddle with this. It's something that I'd really like to keep working with current releass
[19:23] < Rigolo> there are more then one
[19:23] < MS-> http://us-ca2.cdimages.mythbuntu.org/mythbuntu-8.10-beta-desktop-i386.iso
[19:23] < Rigolo> try that link again .. there is a roulation I think
[19:23] < MS-> Ah, OK
[19:23] < Rigolo> I just got a australian one .. (very slow of course)
[19:23] < MS-> Yep, redirect to aus
[19:24] < MS-> How big is that ISO BTW? (noticed I'm low on disk space at the moment :)
[19:24] < MS-> Oh, nm
[19:24] < MS-> 590MB
[19:24] < MS-> that's fine
[19:25] *** Chong- has joined #kamaelia
[19:25] < Rigolo> you where quicker ....
[19:25] < Rigolo> but .. I get a : error: storage size od '__pyx_v_e' isn't known error
[19:26] < Rigolo> DMX_GET_EVENT undeclared (first use in this function)
[19:26] < Rigolo> od = of
[19:27] < Rigolo> (compiling on an other machine than this IRC session ... this is my daily use laptop)
[19:27] *** MS- nods
[19:27] < MS-> I'll check the "normal" build errors
[19:27] < MS-> pyrex is nice, but a bit more cleanliness in its code would be nice
[19:28] < Rigolo> there where a ton of warnings about some labels that were defined but not used
[19:28] < Rigolo> and you need to add some explicit braces somewhere :-)
[19:28] < MS-> yep, that's normal for pyrex unfortnuately
[19:29] < Rigolo> btw .. using GCC 4.3.2 to compile
[19:29] < Rigolo> (before you ask)
[19:29] < MS-> OK, this is the "normal" build error: http://pastebin.com/m521fb913
[19:30] < MS-> I'm using gcc version 4.2.1 (SUSE Linux)
[19:32] < MS-> yeah, that DMX_GET_EVENT error specifically makes me think that it's a problem with the bindings
[19:32] < MS-> Oh, maybe not
[19:32] < MS-> I'm blind - it is there:
[19:32] < MS-> # grep DMX_GET *
[19:32] < MS-> cdmx.pxd: DMX_GET_EVENT
[19:32] < MS-> cdmx.pxd: DMX_GET_PES_PIDS
[19:32] < MS-> cdmx.pxd: DMX_GET_CAPS
[19:32] < MS-> cdmx.pxd: DMX_GET_SOURCE
[19:32] < MS-> cdmx.pxd: DMX_GET_STC
[19:32] < Rigolo> and this is mine: http://pastbin.com/m7c748a89 (if I typed correctly)
[19:33] < MS-> Though this is interesting:
[19:33] < MS-> dmx.pyx:# if ioctl(self.fd, cdmx.DMX_GET_EVENT, &e) == -1:
[19:33] < MS-> dmx.pyx: if ioctl(self.fd, cdmx.DMX_GET_STC, &stc) == -1:
[19:33] < Rigolo> forgot an e :-)
[19:33] < MS-> Looks like Matt was making changes there
[19:33] < Rigolo> http://pastebin.com/m7c748a89
[19:34] < Rigolo> that is better :-)
[19:34] < MS-> oooh. I wonder
[19:34] < MS-> I'm checking from svn , not that bindary
[19:34] < MS-> binary / tar ball even
[19:34] < MS-> I wonder...
[19:35] < Rigolo> you never know ...
[19:35] < Rigolo> you get the svn version from google code somewhere?
[19:35] < MS-> python-dvb3 python-dvb3-0.0.4 January 23, 2006
[19:35] < MS-> vs:
[19:36] < MS-> r2723 | matth_rd | 2007-02-26 16:05:00 +0000 (Mon, 26 Feb 2007) | 5 lines
[19:36] < MS-> Merge of bugfixes in /trunk/Sketches/MH/python-dvb3/ for linux dvb API v3.0 -> 3.1 changes.
[19:36] < MS-> Matt
[19:36] < MS-> Aha
[19:36] < MS-> OK, cool
[19:36] < MS-> I've been using this version all summer BTW
[19:37] < Rigolo> okee .. where can I get that version then?
[19:38] < Rigolo> http://code.google.com/p/kamaelia/source/browse/#svn/trunk/Code/Python/Bindings/python-dvb3%3Fstate%3Dclosed
[19:38] < Rigolo> that one?
[19:38] < Rigolo> so checkout trunk .. and then take that subdir and compile/install from there?
[19:38] < MS-> This one: http://www.kamaelia.org/release/python-dvb3-0.0.5.tar.gz
[19:38] < MS-> :)
[19:39] < Rigolo> okee .. also fine
[19:39] < MS-> python setup.py sdist
[19:39] < MS-> is *great* :)
[19:40] < Rigolo> mmm some weird timestamp error when extracting that tarball ... time stamps are in the future it tells me :-)
[19:40] < MS-> Yes, these errors:
[19:40] < MS-> dvb3/dmx.c:1210: error: ‘DMX_SCRAMBLING_EV’ undeclared (first use in this function) dvb3/dmx.c:1215: error: ‘DMX_FRONTEND_EV’ undeclared (first use in this function) dvb3/dmx.c:1220: error: ‘DMX_SCRAMBLING_OFF’ undeclared (first use in this function) dvb3/dmx.c:1225: error: ‘DMX_SCRAMBLING_ON’ undeclared (first use in this function)
[19:40] < MS-> Are certainly caused due to API changes in DVB, I should've twigged, but that was from changes merged last year(!)
[19:41] < MS-> The clock on my machine is a few minutes fast :)
[19:41] < Rigolo> looks like it ..
[19:42] < Rigolo> looks better now ... it layed an egg it think :-)
[19:42] < MS-> :)
[19:43] < Rigolo> did it install it already ? or do I need to do some other magic python command?
[19:43] < MS-> what command did you use?
[19:43] < MS-> sudo python setup.py install
[19:43] < MS-> builds and installs
[19:44] < MS-> sudo python setup.py build
[19:44] < MS-> just builds
[19:44] < Rigolo> but ... will you reply to me on the list and tell me where to get pyrex 0.9.3.something .. and version 0.0.5 of dvb bidings
[19:44] < Rigolo> okee
[19:44] < MS-> yep, will do
[19:44] < MS-> I'll summarise the conversation on the list
[19:44] < Rigolo> I installed kamaelia already before all this with easy_install btw .. so theortically I can just use some cookbook example now?
[19:45] < MS-> In theory, yes. You'll need to change the various frequency & pid settings to local values
[19:45] < MS-> But yes :)
[19:46] < MS-> So that built cleanly? That's really useful to know :-)
[19:46] < MS-> If it works, I might actually be tempted to change over to Kubuntu 8.10 (I'm a KDE user)
[19:46] < MS-> As long as I don't have to use KDE 4 :)
[19:47] < Rigolo> I knew that ... so if I just take a simple dvb example to record a FTA channel to file and put that in a .py file I can run that with python dvb-c-record.py for example?
[19:47] < Rigolo> yes .. it compiled ... no errors only (1000's) warnings
[19:48] < MS-> You should be able to, yes
[19:48] < MS-> The DVB bindings are nice like that
[19:49] < MS-> The examples that come in the distro are here btw:
[19:49] < MS-> https://kamaelia.googlecode.com/svn/trunk/Code/Python/Kamaelia/Examples
[19:49] < MS-> http://kamaelia.googlecode.com/svn/trunk/Code/Python/Kamaelia/Examples
[19:49] < MS-> even
[19:49] < Rigolo> btw .. I only installed Kamaelia .. but I guess I also need that Axon thingy right?
[19:49] < MS-> Kamaelia 0.6.0 comes with Axon by default now
[19:49] < MS-> I figured out how to make that happen nicely :)
[19:49] < Rigolo> okee .. so no need to speratly install that
[19:49] < MS-> svn co http://kamaelia.googlecode.com/svn/trunk/Code/Python/Kamaelia/Examples
[19:49] < MS-> is probably quite useful
[19:50] < Rigolo> mmm my english is not getting better .. must be the brain still on daylight saving :-)
[19:50] < MS-> The cookbook examples tend to lag slightly behind the examples in SVN
[19:50] < MS-> which is probably not a bad thing
[19:51] < MS-> The two sets are slightly disjoint
[19:51] < MS-> http://kamaelia.googlecode.com/svn/trunk/Code/Python/Kamaelia/Examples/DVB_Systems/SingleChannelTransportStreamCapture.py
[19:51] < MS-> is possibly the simplest thing that works
[19:51] < MS-> I tend to use it when I need to record something in an emergency :)
[19:52] < MS-> primarily because it *is* so simple :)
[19:52] < Rigolo> but that is specific for dvb-t?
[19:53] < Rigolo> okee ... see it now .. so I need to figure out what to pass to feparams ...
[19:54] < Rigolo> one moment .. then I first create a channels.conf .. that has all the PID;s etc in it ..and the FREQ and all other info
[19:54] < MS-> That is specific for DVB-T - I've personally only used it for DVB-T. The original author (Paul Clifford) used it for DVB-S. So it should be fine if you have a channels.conf.
[19:55] < Rigolo> that is running at the moment ... I have saved an initial tuning file somewhere
[19:56] < Rigolo> I also have a channels.conf .. but that is a old one . and the resuffeld transport streams to make room for docsis 3
[19:58] < Rigolo> I get around 250 services ... 150 tv channels and the rest are radio and firmware update channels for the official STB's
[19:58] < Rigolo> but .. there are only 4 FTA channels
[19:58] < Rigolo> so I will use those first ..
[19:58] < MS-> That's a little surreal. I can see why a softcam is so important
[19:58] < MS-> FTA using DVB-T here is 30 or 40 channels (if you include radio)
[19:59] < MS-> Including a films channel
[19:59] < Rigolo> you get the whole basis analog cable also via dvb-c included in your analog subscription .. but you still need a card from them
[19:59] < Rigolo> so they say it is free .. but you need a card .. and they only support their official stb
[20:00] *** MS- nods
[20:00] < Rigolo> dvb-t here is even worse .. it is owned by KPN (the dutch BT)
[20:01] < Rigolo> only 27 stations .. all encrypted exept the 3 public stations (they were encrypted before they turned off analog OTA broadcasts)
[20:01] < Rigolo> where can I find some more info about what should go into the feparams?
[20:03] < MS-> I'm not sure, but my suggestion would be to have a rummage around in myth & vdr :)
[20:03] < Rigolo> my first guess was to start looking at frontend.pyx on googlecode :-)
[20:04] < Rigolo> I know the freq, bitrate, pids, FEC, inversion etc
[20:04] < Rigolo> now I need to correct syntax for dvb3.frontend
[20:04] < Rigolo> btw .. do I need to specify an adapter somewhere? (i have 4 to choose from)
[20:05] < MS-> I've only ever used one...
[20:07] < Chong-> MS-: I have remove all files/dirs in /tmp including .X11-unix, but the problem has not been solved
[20:07] < Chong-> run lsof | wc, result is 24833 223879 2404649; lsof | grep X11-unix | wc the result is 0 0 0
[20:08] < MS-> Rigolo: grep suggests this:
[20:08] < MS-> dvb3/dmx.pyx: filename = "/dev/dvb/adapter" + str(card) + "/demux0"
[20:08] < MS-> dvb3/frontend.pyx: filename = "/dev/dvb/adapter" + str(card) + "/frontend0"
[20:09] < Rigolo> okee .. my tuning Frequency is 618 Mhz, my Inversion is AUTO, my bitrate is 6875kHz, my FEC is none, using QAM_64 and I need PIDs 88 and 89 from transport stream number 10
[20:09] < Rigolo> okee .. so that card variable need to be set somewhere .. most likely somewhere when you call dvb3.frontend I guess
[20:09] < MS-> The downside of reliable components
[20:10] < MS-> When you come to need to change anything, it's been ages since you've needed to look :)
[20:10] < MS-> self.fe = dvb3.frontend.Frontend(self.card, blocking=0)
[20:10] < MS-> Which is in
[20:10] < MS-> class Tuner(threadedcomponent):
[20:10] < MS-> def __init__(self, freq, feparams={},card=0):
[20:10] < MS-> """x.__init__(...) initializes x; see x.__class__.__doc__ for signature"""
[20:10] < MS-> self.freq = freq
[20:10] < MS-> self.feparams = feparams
[20:10] < MS-> self.card = card
[20:10] < MS-> super(Tuner, self).__init__()
[20:11] < MS-> http://www.kamaelia.org/Components/pydoc/Kamaelia.Device.DVB.Tuner.html
[20:11] < Rigolo> mm but Tuners is a more high level component right?
[20:13] < MS-> Ah, yes. Hmm. DVB_Multiplex doesn't pass through any card number as yet
[20:13] < MS-> # Open the frontend of card 0 (/dev/dvb/adaptor0/frontend0)
[20:13] < MS-> fe = dvb3.frontend.Frontend(0, blocking=0)
[20:13] < MS-> OK, I'll do a minor fix for that
[20:14] < Rigolo> well .. I can use 0 for now .. not blocking for me now
[20:14] < Rigolo> but the structure for feparams is more difficult I guess
[20:15] < Rigolo> not sure if all Parameters that I need are defined in frontend.pyx
[20:15] < MS-> http://www.kamaelia.org/Components/pydoc/Kamaelia.Device.DVB.Tuner.html has the docs for the tuning parameters supported
[20:16] < Rigolo> yes .. but I do not need code_rate_HP and LP and guear_interval etc
[20:16] < MS-> I think if you don't include things, sensible defaults are chosen
[20:18] < Rigolo> mmm line 256 and further from frontend.pyx
[20:18] < Rigolo> if t is QPSKParameters:
[20:18] < Rigolo> return QPSKParameters(
[20:18] < Rigolo> frequency=p.frequency,
[20:18] < Rigolo> inversion=p.inversion,
[20:18] < Rigolo> symbol_rate=p.u.qpsk.symbol_rate,
[20:18] < Rigolo> fec_inner=p.u.qpsk.fec_inner
[20:18] < Rigolo> )
[20:18] < Rigolo> that is most of what I need ... now let's find where to put QAM_64
[20:19] < Rigolo> looks like the constellation parameter
[20:19] < MS-> OK, I've checked in a change to the DVB_Multiplex code to not deal with adapter0 in a hardcoded fashion
[20:20] < Rigolo> okee .. and other fix for 0.7.0 :-)
[20:20] < MS-> Indeed :)
[20:21] < Rigolo> looks like you also need to teel dvb3.frontend what type of feparams object your are giving it
[20:21] < Rigolo> see frontend.pyx line 254
[20:21] < Rigolo> object t
[20:22] < Rigolo> I need to give QPSKParameters there I guess
[20:22] < Rigolo> somehow ..
[20:22] < Rigolo> mm or is cfrontend doing a check to see what parameters are supported?
[20:23] < Rigolo> I see all the FE_CAN_something parameters
[20:24] < MS-> It looks like it's doing a check
[20:24] < MS-> dvb3/frontend.pyx
[20:24] < MS-> if ioctl(self.fd, cfrontend.FE_GET_INFO, &info) == -1:
[20:24] < MS-> raise IOError(errno, strerror(errno))
[20:24] < MS-> ie, try to get info and populate the info structure
[20:24] < MS-> it then queries it
[20:24] < MS-> if info.type == cfrontend.FE_QPSK:
[20:24] < MS-> self.t = QPSKParameters
[20:24] < MS-> elif info.type == cfrontend.FE_QAM:
[20:24] < MS-> self.t = QAMParameters
[20:24] < MS-> else:
[20:24] < MS-> self.t = OFDMParameters
[20:25] < Rigolo> okee .... so it decides for me what type to use ... so where can I specify the QAM_64 .. because constelation is a OFDM parameter .. not a QPSK parameter
[20:26] < Rigolo> mm or it uses QAMParameters: :-)
[20:26] < Rigolo> lets try this as feparams:
[20:30] < Rigolo> (building them now .. takes some time .. determining what to use)
[20:31] *** MS- nods
[20:32] < Rigolo> mmm symbol_rate .. what value to use? just put 6875000 there?
[20:32] < MS-> Oh. I think I see....
[20:32] < MS-> You need to (literally) put these in:
[20:32] < MS-> "frequency" :
[20:32] < MS-> "inversion" :
[20:32] < MS-> "symbol_rate" : ...
[20:32] < MS-> "fec_inner" : ...
[20:33] < Rigolo> feparams = { "inversion" :dvb3.frontend.INVERSION_AUTO, "symbol_rate" : dvb3.frontend.6875000, "fec_inner" : dvb3.frontend.FEC_AUTO, "modulation" :dvb3.frontend.QAM_64,
[20:33] < Rigolo> }
[20:33] < Rigolo> mmm
[20:33] < Rigolo> I did :-)
[20:33] < MS-> http://www.linuxtv.org/pipermail/linux-dvb/2007-July/018867.html
[20:33] < Rigolo> mm I guess I will just need to try :-)
[20:33] < MS-> I use the ones from the nl-Casema scan file in the dvb-apps repo (i.e. initial frequency 372000000, symbol rate 6875000, qam64).
[20:34] < MS-> Looks good :)
[20:34] < Rigolo> casema merged with 2 others to form Ziggo (my dvb-c provider)
[20:35] < MS-> sounds promising then :)
[20:35] < Rigolo> that initial frequency is used for scanning the other transponders
[20:36] < Rigolo> ziggo uses a Network ID as the actual Network ID that does not exists
[20:36] < Rigolo> they use network ID 1000 in the NITa table .. but you need to know your real network id (9003 in my case) and get the transponder details from NITo
[20:37] < Rigolo> not all dvb systems (read MythTV) do not understand this .... and support this
[20:37] < Rigolo> but .. I'm going to adjust that example .. and see what happens :-)
[20:41] < MS-> :)
[20:42] < Rigolo> it does not like my symbol_rate parameter
[20:44] < Rigolo> mmmm no idea what to put there ...
[20:44] < Rigolo> I might try it in kHz ...
[20:44] < Rigolo> nope .. also not correct
[20:45] < MS-> I wish I could help, but I really wouldn't know the right answer except from google searches
[20:45] *** Uraeus has joined #kamaelia
[20:45] < Rigolo> well .. the answer should be in frontend.pyx somewhere
[20:48] < Rigolo> line 144/145 return "< %s frequency=%d Hz, inversion=%s, symbol_rate=%d sym/s, fec_inner=%s, modulation=%s>" % (
[20:48] < Rigolo> what does %d mean?
[20:48] < MS-> %d means a number
[20:49] < Rigolo> okee ... so what if I replace dvb3.frontend.xx .. with just 6875000 >
[20:49] < Rigolo> ?
[20:50] < MS-> Worth a try -- can't hurt.
[20:50] < Rigolo> mmm no error there .. but an other one ... NameError: name 'dvb3' is not defined
[20:51] < Rigolo> mmm maybe we should import dvb.frontend?
[20:52] < MS-> you'll need to do
[20:52] < MS-> import dvb3
[20:53] < Rigolo> just that? or a line like: from dvb3 import frontend ?
[20:53] < MS-> Should just be that line
[20:54] < Rigolo> just see an example in dvb.core documentation
[20:54] < Rigolo> with import dvb3.frontend
[20:55] < Rigolo> mmm an otehr step further ...
[20:55] < Rigolo> now I get: modulation is an invalid keyword argument for this function
[20:55] < Rigolo> afer a traceback
[20:56] < MS-> Matt's docmentation is going to be canonical, since he's the one who's (by far) done the most with these bindings
[20:56] < MS-> Yes, I think that invalid keyword thing comes from...
[20:57] < Rigolo> http://pastebin.com/d44d22098
[20:57] < MS-> line 128
[20:57] < MS-> of frontend.pyx
[20:57] < Rigolo> looks in core.py
[20:57] < MS-> class QPSKParameters:
[20:57] < MS-> def __init__(self, frequency=0, inversion=0, symbol_rate=0, fec_inner=0):
[20:57] < MS-> oh?
[20:57] *** MS- looks
[20:58] < Rigolo> there it calls a tune_DVBT function ....
[20:58] < Rigolo> could be a small hint :-)
[20:58] < MS-> Ahhhhh
[20:58] < MS-> indeed
[20:58] < MS-> yes
[20:59] < MS-> It certainly would look like it
[20:59] < MS-> OK, so that would need changing
[20:59] < MS-> To use the QPSK version
[21:00] < Rigolo> looks like it
[21:00] < Rigolo> but then you need to be able define what you use ... dvb-s/dvb-c/dvb-t somewhere
[21:00] < MS-> I think that needs to have this:
[21:00] < MS-> http://pastebin.com/m3be412ad
[21:00] < Rigolo> or .... let the feparams define it?
[21:01] < MS-> feparams doesn't seem like a bad idea for the moment, at least temporarily
[21:01] < MS-> It looks like it can actually be autodetected
[21:02] < Rigolo> see .. bit by bit we make it work
[21:02] < Rigolo> :-)
[21:02] < MS-> I wonder if we can use that autodetection
[21:02] < MS-> indeed :)
[21:02] *** Rigolo suspects that he soon needs to do s svn checkout of kamaelia .. :-)
[21:03] < MS-> This brings me back to this again:
[21:03] < MS-> cdef class Frontend:
[21:03] < MS-> if ioctl(self.fd, cfrontend.FE_GET_INFO, &info) == -1:
[21:03] < MS-> raise IOError(errno, strerror(errno))
[21:03] < MS-> if info.type == cfrontend.FE_QPSK:
[21:03] < MS-> self.t = QPSKParameters
[21:03] < MS-> elif info.type == cfrontend.FE_QAM:
[21:03] < MS-> self.t = QAMParameters
[21:03] < MS-> else:
[21:03] < MS-> self.t = OFDMParameters
[21:03] < Rigolo> and I also see that the frequency can then be passed in feparams also ..
[21:04] < MS-> OK, so...
[21:04] < MS-> fe = dvb3.frontend.Frontend(self.card, blocking=0)
[21:04] < MS-> means fe.t contains the correct tuning parameters class
[21:04] < MS-> so
[21:04] < MS-> tune_DVBT(fe, self.freq, self.feparams)
[21:04] < MS-> can become
[21:04] < MS-> tune_DVBT(fe, self.freq, self.feparams)
[21:04] < MS-> tune_DVB(fe, self.freq, self.feparams)
[21:04] < MS-> rather, in theory
[21:04] < Rigolo> so feparams then has 2 additional parameters something like object type QPSK/OFDM/QAMP ... and Frequency in Hz also
[21:05] < Rigolo> okee ... your soolution is better ... :-)
[21:07] *** Rigolo needs something to drink ...
[21:07] < Rigolo> mmm and looks at the time ... time flys when you are having fun :-)
[21:08] < MS-> heh, indeed
[21:08] < MS-> OK, I've checked in a new version of Core.py
[21:08] < MS-> It should auto pickup the correct parameter type now
[21:09] < MS-> svn co http://kamaelia.googlecode.com/svn/trunk/Code/Python/Kamaelia
[21:09] < MS-> cd Kamaelia
[21:09] < MS-> sudo python setup.py install --force
[21:12] < Rigolo> okee
[21:12] < Rigolo> will try that now
[21:12] < Rigolo> will that automatically overwerite my easy_instal led version?
[21:12] < MS-> That I'm not sure about
[21:13] < MS-> Oh that could also be a PITA
[21:13] < Rigolo> so is there also a easy_uninstall?
[21:13] < MS-> No, that's the problem with easy_install
[21:14] < MS-> the only way I've found to get easy_install stuff out so far is by doing and an rm -rf inside site-packages of the appropriate files
[21:14] < MS-> AND
[21:14] < Rigolo> okee ... but there is if you do it via setup.py?
[21:14] *** Rigolo could just reinstall his whole machine ... :-)
[21:15] < MS-> and /usr/local/lib/python2.5/site-packages/easy-install.pth has to be re-editted to remove Kamaelia from there
[21:15] < MS-> You'd also need to install Axon, which is easiest from svn:
[21:15] < MS-> svn co http://kamaelia.googlecode.com/svn/trunk/Code/Python/Axon
[21:15] < MS-> cd Axon
[21:15] < MS-> sudo python setup.py install --force
[21:16] < Rigolo> mmmm
[21:16] < Rigolo> this channels is logged right?
[21:16] < Rigolo> so I can read this over tomorrow right?
[21:16] < MS-> Sure
[21:16] < Rigolo> where can I find these logs?
[21:16] < MS-> http://www.kamaelia.org/logs/kamaelia2008-10-26_log.html
[21:17] < MS-> http://www.kamaelia.org/logs/ - generally speaking
[21:17] < MS-> as per channel topic
[21:17] < Rigolo> okee ... then you need to update http://www.kamaelia.org/irc.html :-)
[21:17] < MS-> Thanks for your patience and feedback btw :)
[21:17] < MS-> Oh yes, so I do :)
[21:17] < MS-> ta
[21:17] < Rigolo> no problems ...
[21:18] < Rigolo> my idea is to take kakaelia and build a VDR kind of tool around it ...
[21:18] < Rigolo> (always AIM high :-) )
[21:18] < MS-> That should be doable BTW. :)
[21:18] < Rigolo> all the building blocks are there ... and you guys have done it already for dvb-t I guess :-)
[21:19] < MS-> Not live playback/pause etc, but yes
[21:19] < Rigolo> use a kamaelia powered backend ... and a web frontend to schedule recordings
[21:20] < Rigolo> well ... that live playback/pause should also be possible
[21:20] < Rigolo> as long as you treat every channel change as a new recording .. and then give the frontend the new filename ..
[21:20] *** MS- nods
[21:20] < MS-> Probably the easiest way of dealing with live playback/pause/etc
[21:21] < MS-> hm. actually I'll think on that :)
[21:21] < Rigolo> how about paralel recording of the same channel?
[21:21] < MS-> I was going to suggest injecting packets
[21:21] < MS-> Oh that's trivial
[21:21] < MS-> :)
[21:21] < Rigolo> okee .. so you can open 2 files to the same PIDs?
[21:22] < Rigolo> and control them independantly?
[21:22] < Rigolo> because that i needed when you want to record 2 programs that follow each other
[21:22] < Rigolo> give both recording a 5 minute overlap ...
[21:23] < MS-> We have a system that records and transcodes everything built using this
[21:23] < MS-> Uses EIT event information to switch things
[21:23] < MS-> When you consider though that we can have arbitrary shapes
[21:23] < MS-> making duplicates of the data coming out of a single PID is rather trivial...
[21:24] < Rigolo> okee .. but is the EIT accurate all the time?
[21:24] < MS-> In the UK when the EIT change is often frame accurate
[21:24] < MS-> http://www.slideshare.net/kamaelian/timeshift-everything-miss-nothing-mashup-your-pvr-with-kamaelia
[21:24] < Rigolo> okee ... here it is'nt
[21:24] < MS-> Goes through the architecture of Macro.py
[21:24] < MS-> which is in Examples/
[21:25] < MS-> But if you need overlap & duplicates those are as I say simple
[21:25] < Rigolo> I noticed that presentation already ... those are those slides with the building blocks?
[21:25] < Rigolo> and the web frontend right?
[21:25] < MS-> yep
[21:25] < Rigolo> okee
[21:25] < MS-> http://www.kamaelia.org/Components/pydoc/Kamaelia.Apps.Whiteboard.TwoWaySplitter
[21:25] < MS-> is a specialised 2 way splitter
[21:26] < MS-> http://www.kamaelia.org/Components/pydoc/Kamaelia.Util.Splitter has some more general splitters
[21:26] < Rigolo> what I will do is a reinstall of my machine ... (doing that anyway because I need to check the latest version of open-sasc-ng to see if it still builds)
[21:26] < MS-> And http://www.kamaelia.org/Components/pydoc/Kamaelia.Util.Fanout is another. (each has their own advantages really)
[21:26] < MS-> k
[21:26] < Rigolo> btw .. if you want to check out open-sasc-ng .. have a look here:
[21:27] < Rigolo> http://rigolo.googlepages.com/open-sasc-ng
[21:27] < Rigolo> my simple how-to for building open-sasc-ng ...
[21:27] < Rigolo> with a cardserver and a valid smartcard
[21:28] < Rigolo> then it should also work for Sky :-)
[21:28] < MS-> :-)
[21:28] < MS-> Much appreciated
[21:28] < Rigolo> at least .. if there is a way to decode their encoding .. not sure what they use ..
[21:28] < Rigolo> my providers uses irdeto2
[21:29] < Rigolo> then ... I go to bed .. almost midnight here .. and alarm clock goes again at 06:00
[21:29] < MS-> night then - once again thanks for the feedback :)
[21:30] < Rigolo> and to use the famous actor words: I'll be back
[21:30] < Rigolo> okee .. no problems ...
[21:30] < Rigolo> I like what I have seen so far .. and I can not even program in python yet
[21:30] < MS-> Cool :)
[21:30] < Rigolo> but it has a lot of potential and uses
[21:31] < Rigolo> like building a tool around a mythtv bug that prevents the use if mythtv for dvb-c in my area at the moment
[21:31] < Rigolo> that issue with the NITa and NITo
[21:31] < MS-> Indeed
[21:32] < MS-> When you consider that, as long as you have an adapter component, any kamaelia component can be used with almost any other, you get all sorts of possibilities
[21:32] < Rigolo> if I take the parsers .. I can extract all the details .. present a list to the used what network ID's are available and there names
[21:32] < Rigolo> then when he selects one .. we have all the information about frequencies, PID's transport streams etc .. and
[21:33] < Rigolo> then we can build a mysql insert statement in the mythtv database to populate that correctly
[21:34] < Rigolo> mm an other quick question ... how long do loop through a dvb stream before you start parsing the NIT tables?
[21:34] < Rigolo> because that was an other issue with mythtv .. it was not gettign enough packages .. so they did not get all tables
[21:35] < MS-> Ahh, I see
[21:35] < MS-> That's a question that really requires Matt to answer I'm afraid
[21:35] < MS-> he's much more knowledgeable about the various DVB tables
[21:36] < Rigolo> okee
[21:37] < Rigolo> because there are 10 or more other networks defined in the NITo tables where I think
[21:38] < Rigolo> well .. that must be it for today ...
[21:38] < MS-> well, good chatting :)
[21:38] < Rigolo> I will just stay in the channel ... put my self to away
[21:38] < Rigolo> enjoy the rest of your evening .. your still have one whole hour left :-)
[21:41] < MS-> :)
[21:41] < MS-> sleep well :)
[21:44] < Chong-> MS-: following your suggestion, I will put up the basic modules of Topology3D for review first
[21:45] < Chong-> So, I will create a new branch from trunk and then svn cp the basic modules of Topology3D to the branch. Is it ok?
[21:46] < MS-> Chong-: - much appreciated
[21:47] < MS-> The way to make a branch:
[21:47] < MS-> cd branches
[21:47] < MS-> svn cp ../trunk/Code/Python private_CL_NameOfYourBranch
[21:47] < MS-> svn ci private_CL_NameOfYourBranch -m "branch for merging .... short description of feature ..."
[21:48] < MS-> then make the changes you'd expect to be made inside that tree
[21:48] < MS-> (ie the changes you mention above)
[21:48] < MS-> But sounds good :)
[21:48] < MS-> I noticed that you've been doing some work on it, which is cool :)
[21:50] < MS-> BTW, if you're adding files into the main area (which you will be)
[21:50] < MS-> There should be an example for the components you've created
[21:50] < MS-> ie an example in Kamaelia/Examples
[21:50] < MS-> This can be as simple as taking the test harness from the end of your files and putting in a directory in there
[21:51] < Chong-> cool
[21:51] < MS-> Kamaelia/Examples/SoC2006/THF/MiniExamples
[21:51] < MS-> for example is exactly that kind of example
[21:51] < Chong-> MS-: I will take a look at it.
[21:52] < MS-> The reason is twofold - 1) examples are good 2) examples are essentially acceptance tests
[21:53] *** Chong- nods
[21:54] < Chong-> MS-: just in case you have not seen it, I have remove all files/dirs in /tmp including .X11-unix and restart computer, but the problem still has not been solved
[21:54] < MS-> I'm sorry to hear that
[21:54] < Chong-> run lsof | wc, result is 24833 223879 2404649; lsof | grep X11-unix | wc the result is 0 0 0, is 24833 too big?
[21:55] < Chong-> Now I can only open 4 apps totally :(
[21:56] < MS-> Did you see this: https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/263211
[21:56] < MS-> Thought, have you tried changing window manager ?
[21:56] < MS-> ie if you use KDE, tried switching to xfce or gnome ?
[21:57] < Chong-> yes. I have seen it. But it has not offered any solution
[21:57] < Chong-> kde
[21:57] < MS-> You can probably do that in your login manager in kdm/xdm
[21:57] < MS-> It'd narrow down the problem
[21:58] < Chong-> Thanks. I will have a try.
[23:35] *** Uraeus has joined #kamaelia
[23:43] *** Chong- has joined #kamaelia