
MythStream non-PERL parsers
=================================================================
Written by : Eric Giesselbach 2006
Home       : http://home.kabelfoon.nl/~moongies/streamtuned.html
License    : GNU GPL
=================================================================

-------------------------------------------------
v0.18 release:
Binary parsers not tested, but are expected work fine. No relevant
changes made to the binary parser interface, only to PERL's.

Several useful parsers are not available in binary form. If someone wants
to help adding binary parsers send me a mail. This plugin is getting too
big to do it all alone. Some fans of both MiniMyth and MythStream out there?
-------------------------------------------------


1.  Intro
2.  Installation
3.  Further development


Intro
=====
MythStream has three parser interfaces:
PERL  - calls: perl <perl script parser> <parameter> <parameter>
EXEC  - calls: <binary parser> <parameter> <parameter>
SHELL - calls: sh -c "<any executable parser <parameter> \"<parameter>\" >"

PERL is default.


Installation
============
To activate one of the non-PERL interfaces in mythstream uncomment/comment
the corresponding lines in settings.pro before compiling mythstream:

  #DEFINES += PARSER=PERL
  #DEFINES += PARSER=SHELL
  DEFINES += PARSER=EXEC

Only one interface can be used at a time.

---

There are some binary parsers available in the alt_parsers directory.
To install comment/uncomment the proper line in mythstream.pro before
compiling mythstream.

---

Notes:

- If you compiled mythstream before activating these options, run
    make distclean
    
- During make install, the parsers are installed along with their perl
  versions to /usr[/local]/share/mythtv/mythstream/parsers/
  
- MythStream transfers parsers to the ~/.mythtv/mythstream/parsers
  directory on first run. After that you have to transfer them manually.
  
- To (re)compile the parsers without mythstream run qmake alt_parsers.pro
  and make install in the alt_parsers directory
  
- If a parser below ~/.mythtv/mythstream/parsers/ is deleted, mythstream
  will fallback to the parser in the /usr/... directory. If that fails, it
  will use the default parser for the used interface (default[.pl|.sh]).



Development
===========

If you want to have all parser interfaces available at runtime so you can
mix parsers, I suggest you add parser discovery to harvester.cpp (e.g. search
for available filename extensions and perl/other scripting capability).

If this should become default for all users, it requires more complex install
logic (detection of scripts and security, check the basic shell
escaping in harvester.cpp).













