[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 |