[mythtv] patch to read xawtv channels into myth

Erik Arendse mythtv-dev@snowman.net
Sat, 23 Nov 2002 21:51:29 +0100


--=====================_7557327==_
Content-Type: text/plain; charset="us-ascii"; format=flowed

Hi everybody,

I was getting fed up with the --manual input of mythfilldatabase (almost 
all my 30+ channels need finetuning, "channels" are not used here: our 
distributors just use about any frequency, and as they differ in every city 
there is no general internet resource for a grabber).

What was especially frustrating that I tuned xawtv by hand to receive all 
those channels, based on channelnummers plus finetuning. So I wrote this 
tiny tool (patch for mythfilldatabase.cpp) to parse the xawtvrc or ~/.xawtv 
files with channelinfo.

It's a bit primitive, you just can use 1 input of the card, while xawtv 
supports channels defined for all inputs. But I use it only for TV, so if 
anybody needs more inputs, write another patch :-)
The --help option explains what do do.

Erik
PS: Still amazes me how television is used in different ways in different 
countries. Doesn't stop with PAL/NTSC at all...
--=====================_7557327==_
Content-Type: application/octet-stream; name="patch-filldata-xawchannels"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch-filldata-xawchannels"

LS0tIGZpbGxkYXRhLmNwcC5vcmcJRnJpIE5vdiAyMiAxNjo0NDowMiAyMDAyCisrKyBmaWxsZGF0
YS5jcHAJU2F0IE5vdiAyMyAyMTozNjo1NCAyMDAyCkBAIC0xMyw2ICsxMyw4IEBACiAjaW5jbHVk
ZSA8cXNxbHF1ZXJ5Lmg+CiAKICNpbmNsdWRlIDxpb3N0cmVhbT4KKyNpbmNsdWRlIDxmc3RyZWFt
PgorI2luY2x1ZGUgPHN0cmluZz4KICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxzdGRs
aWIuaD4KICNpbmNsdWRlIDxzdGRpby5oPgpAQCAtODY0LDYgKzg2Niw4MyBAQAogICAgIGNsZWFy
T2xkREJFbnRyaWVzKCk7CiB9CiAKK0NoYW5JbmZvICp4YXd0dkNoYW5uZWwoUVN0cmluZyAmaWQs
IFFTdHJpbmcgJmNoYW5uZWwsIFFTdHJpbmcgJmZpbmUpCit7CisgICAgQ2hhbkluZm8gKmNoYW5p
bmZvID0gbmV3IENoYW5JbmZvOworICAgIGNoYW5pbmZvLT54bWx0dmlkID0gaWQ7CisgICAgY2hh
bmluZm8tPm5hbWUgPSBpZDsKKyAgICBjaGFuaW5mby0+Y2FsbHNpZ24gPSBpZDsKKyAgICBjaGFu
aW5mby0+Y2hhbnN0ciA9IGNoYW5uZWw7CisgICAgY2hhbmluZm8tPmZpbmV0dW5lID0gZmluZTsK
KworICAgIGNoYW5pbmZvLT5pY29ucGF0aCA9ICIiOworCisgICAgcmV0dXJuIGNoYW5pbmZvOwor
fQorCit2b2lkIHJlYWRYYXd0dkNoYW5uZWxzKGludCBpZCwgUVN0cmluZyB4YXdyY2ZpbGUpCit7
CisgICAgZnN0cmVhbSBmaW4oeGF3cmNmaWxlLmFzY2lpKCksIGlvczo6aW4pOworICAgIGlmICgh
ZmluLmlzX29wZW4oKSkgcmV0dXJuOworCisgICAgUVZhbHVlTGlzdDxDaGFuSW5mbz4gY2hhbmxp
c3Q7CisKKyAgICBRU3RyaW5nIHhhd2lkOworICAgIFFTdHJpbmcgY2hhbm5lbDsKKyAgICBRU3Ry
aW5nIGZpbmU7CisKKyAgICBzdHJpbmcgc3RyTGluZTsKKyAgICBpbnQgblNwbGl0UG9pbnQgPSAw
OworCisgICAgd2hpbGUoIWZpbi5lb2YoKSkKKyAgICB7CisgICAgICAgIGdldGxpbmUoZmluLHN0
ckxpbmUpOworCisgICAgICAgIGlmICgoc3RyTGluZVswXSAhPSAnIycpICYmICghc3RyTGluZS5l
bXB0eSgpKSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHN0ckxpbmVbMF0gPT0gJ1snKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICgoblNwbGl0UG9pbnQgPSBzdHJMaW5l
LmZpbmQoJ10nKSkgPiAxKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKCh4YXdpZCAhPSAiIikgJiYgKGNoYW5uZWwgIT0gIiIpKQorICAgICAgICAgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgICAgICAgICBDaGFuSW5mbyAqY2hpbmZvID0geGF3dHZDaGFu
bmVsKHhhd2lkLCBjaGFubmVsLCBmaW5lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5s
aXN0LnB1c2hfYmFjaygqY2hpbmZvKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBj
aGluZm87CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgeGF3aWQg
PSBzdHJMaW5lLnN1YnN0cigxLCBuU3BsaXRQb2ludCAtIDEpLmNfc3RyKCk7CisgICAgICAgICAg
ICAgICAgICAgIGNoYW5uZWwgPSAiIjsKKyAgICAgICAgICAgICAgICAgICAgZmluZSA9ICIiOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKChu
U3BsaXRQb2ludCA9IHN0ckxpbmUuZmluZCgnPScpICsgMSkgPiAwKQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIHdoaWxlIChzdHJMaW5lLnN1YnN0cihuU3BsaXRQb2ludCwxKSA9PSAi
ICIpCisgICAgICAgICAgICAgICAgeyArK25TcGxpdFBvaW50OyB9CisKKyAgICAgICAgICAgICAg
ICBpZiAoIXN0cm5jbXAoc3RyTGluZS5jX3N0cigpLCAiY2hhbm5lbCIsIDcpKQorICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgY2hhbm5lbCA9IHN0ckxpbmUuc3Vic3RyKG5T
cGxpdFBvaW50LCBzdHJMaW5lLnNpemUoKSkuY19zdHIoKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cm5jbXAoc3RyTGluZS5jX3N0cigpLCAiZmluZSIs
IDQpKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgZmluZSA9IHN0ckxp
bmUuc3Vic3RyKG5TcGxpdFBvaW50LCBzdHJMaW5lLnNpemUoKSkuY19zdHIoKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoKHhh
d2lkICE9ICIiKSAmJiAoY2hhbm5lbCAhPSAiIikpCisgICAgeworICAgICAgICBDaGFuSW5mbyAq
Y2hpbmZvID0geGF3dHZDaGFubmVsKHhhd2lkLCBjaGFubmVsLCBmaW5lKTsKKyAgICAgICAgY2hh
bmxpc3QucHVzaF9iYWNrKCpjaGluZm8pOworICAgICAgICBkZWxldGUgY2hpbmZvOworICAgIH0K
KworICAgIGhhbmRsZUNoYW5uZWxzKGlkLCAmY2hhbmxpc3QpOworfQorCisKIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyICphcmd2W10pCiB7CiAgICAgUUFwcGxpY2F0aW9uIGEoYXJnYywgYXJndiwg
ZmFsc2UpOwpAQCAtODcxLDYgKzk1MCw5IEBACiAgICAgaW50IGZyb21maWxlX2lkID0gMTsKICAg
ICBpbnQgZnJvbWZpbGVfb2Zmc2V0ID0gMDsKICAgICBRU3RyaW5nIGZyb21maWxlX25hbWU7Cisg
ICAgYm9vbCBmcm9tX3hhd2ZpbGUgPSBmYWxzZTsKKyAgICBpbnQgZnJvbXhhd2ZpbGVfaWQgPSAx
OworICAgIFFTdHJpbmcgZnJvbXhhd2ZpbGVfbmFtZTsKIAogICAgIHdoaWxlIChhcmdwb3MgPCBh
LmFyZ2MoKSkKICAgICB7CkBAIC05MDcsNiArOTg5LDIyIEBACiAgICAgICAgICAgICBjb3V0IDw8
ICIjIyMgYnlwYXNzaW5nIGdyYWJiZXJzLCByZWFkaW5nIGRpcmVjdGx5IGZyb20gZmlsZVxuIjsK
ICAgICAgICAgICAgIGZyb21fZmlsZSA9IHRydWU7CiAgICAgICAgIH0KKyAgICAgICAgZWxzZSBp
ZiAoIXN0cmNtcChhLmFyZ3YoKVthcmdwb3NdLCAiLS14YXdjaGFubmVscyIpKQorICAgICAgICB7
CisgICAgICAgICAgICBpZiAoKChhcmdwb3MgKyAyKSA+PSBhLmFyZ2MoKSkgfHwKKyAgICAgICAg
ICAgICAgICAhc3RybmNtcChhLmFyZ3YoKVthcmdwb3MgKyAxXSwgIi0tIiwgMikgfHwKKyAgICAg
ICAgICAgICAgICAhc3RybmNtcChhLmFyZ3YoKVthcmdwb3MgKyAyXSwgIi0tIiwgMikpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgcHJpbnRmKCJtaXNzaW5nIG9yIGludmFsaWQgcGFy
YW1ldGVycyBmb3IgLS14YXdjaGFubmVscyBvcHRpb25cbiIpOworICAgICAgICAgICAgICAgIHJl
dHVybiAtMTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnJvbXhhd2ZpbGVfaWQgPSBh
dG9pKGEuYXJndigpWysrYXJncG9zXSk7CisgICAgICAgICAgICBmcm9teGF3ZmlsZV9uYW1lID0g
YS5hcmd2KClbKythcmdwb3NdOworCisgICAgICAgICAgICBjb3V0IDw8ICIjIyMgcmVhZGluZyBj
aGFubmVscyBmcm9tIHhhd3R2IGNvbmZpZ2ZpbGVcbiI7CisgICAgICAgICAgICBmcm9tX3hhd2Zp
bGUgPSB0cnVlOworICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoYS5hcmd2KClb
YXJncG9zXSwgIi0taGVscCIpKQogICAgICAgICB7CiAgICAgICAgICAgICBjb3V0IDw8ICJ1c2Fn
ZTpcbiI7CkBAIC05MjUsNiArMTAyMywxMiBAQAogICAgICAgICAgICAgY291dCA8PCAiICAgICAg
ICAgICAgICAgICgtMSBtZWFuaW5nIGZyb20gdG9kYXkgb24gYWxsIGZ1dHVyZSBlbnRyaWVzKVxu
IjsKICAgICAgICAgICAgIGNvdXQgPDwgIiAgIDx4bWxmaWxlPiAgPSBmaWxlIHRvIHJlYWRcbiI7
CiAgICAgICAgICAgICBjb3V0IDw8ICJcbiI7CisgICAgICAgICAgICBjb3V0IDw8ICItLXhhd2No
YW5uZWxzIDxzb3VyY2VpZD4gPHhhd3R2cmNmaWxlPlxuIjsKKyAgICAgICAgICAgIGNvdXQgPDwg
IiAgICgtLW1hbnVhbCBmbGFnIHdvcmtzIGluIGNvbWJpbmF0aW9uIHdpdGggdGhpcylcbiI7Cisg
ICAgICAgICAgICBjb3V0IDw8ICIgICBSZWFkIGNoYW5uZWxzIGFzIGRlZmluZWQgaW4geGF3dHZy
YyBmaWxlIGdpdmVuXG4iOworICAgICAgICAgICAgY291dCA8PCAiICAgPHNvdXJjZWlkPiAgICA9
IGNhcmRpbnB1dFxuIjsKKyAgICAgICAgICAgIGNvdXQgPDwgIiAgIDx4YXd0dnJjZmlsZT4gPSBm
aWxlIHRvIHJlYWRcbiI7CisgICAgICAgICAgICBjb3V0IDw8ICJcbiI7CiAgICAgICAgICAgICBj
b3V0IDw8ICItLWhlbHBcbiI7CiAgICAgICAgICAgICBjb3V0IDw8ICIgICBUaGlzIHRleHRcbiI7
CiAgICAgICAgICAgICBjb3V0IDw8ICJcbiI7CkBAIC05NTEsNyArMTA1NSwxMSBAQAogICAgICAg
ICByZXR1cm4gLTE7CiAgICAgfQogCi0gICAgaWYgKGZyb21fZmlsZSkKKyAgICBpZiAoZnJvbV94
YXdmaWxlKQorICAgIHsKKyAgICAgICAgcmVhZFhhd3R2Q2hhbm5lbHMoZnJvbXhhd2ZpbGVfaWQs
IGZyb214YXdmaWxlX25hbWUpOworICAgIH0KKyAgICBlbHNlIGlmIChmcm9tX2ZpbGUpCiAgICAg
ewogICAgICAgICBncmFiRGF0YUZyb21GaWxlKGZyb21maWxlX2lkLCBmcm9tZmlsZV9vZmZzZXQs
IGZyb21maWxlX25hbWUpOwogICAgIH0K
--=====================_7557327==_--