Generating Listings w/ PrevueCLI

PrevueCLI is a free command-line utility written with Swift by AriX that allows you to convert curday.dat files to CSV listings, as well as convert XMLTV based program information to a readable format by the Prevue software. While this program has been discontinued, this will continue to remain usable.

The last version of PrevueCLI supports Windows (10), macOS (Mojave), and Linux (amd64) hosts.

Using PrevueCLI

To run PrevueCLI, start by first downloading the version specified for your host. Then, extract it, open up your command-line/terminal and navigate into the directory. Once done, enter 'PrevueCLI' to open up the application. You should get a list of program functions:

A tool for emulating Prevue Guide and friends
Copyright 2020 Ari Weinstein


PrevueCLI send <.prevuecommand file>: Sends the commands in the specified .prevuecommand file
PrevueCLI convertCurdayDatToListings <curday.dat file> <directory to save .csv listings files>: Converts a curday.dat file to the channels.csv and programs.csv listings format (can unpack PowerPack 2.0 if necessary)
PrevueCLI convertXMLTVToListings <xmltv file> <directory to save .csv listings files>: [max channel number]: Converts an XMLTV file to the channels.csv and programs.csv listings format. If no max channel number is specified, the default is 100.
PrevueCLI convertCommandFileToBinary <.prevuecommand file> <binary commands file>: Converts the commands in the specified .prevuecommand file to their satellite data representation
PrevueCLI convertBinaryToCommandFile <binary commands file> <.prevuecommand file>: Converts commands in satellite data format to a .prevuecommand file
PrevueCLI printCommandSchema: Prints all of the supported commands and their syntax details
PrevueCLI printJulianDay: Prints today's Julian day (0-255)
PrevueCLI help: Prints this help

Linux users may need to run 'chmod 755 ./PrevueCLI' before launching it, otherwise you'll get a "Permission denied" error. Also: *Unix users may need to put a ./ at the beginning of each filename (such as ./curday.dat, ./xmltv.xml, and of course ./PrevueCLI) otherwise you will get an error.

Converting listings from curday.dat

It's like the equivilent of manually editing the curday.dat file so listings can be viewed on a specific day of your choosing, in a way. This can also be fairly helpful for figuring out what flag does what, since a lot of it is implemented in the 12-13-99 listings cache.

To do this, grab the curday.dat file from the Prevue Guide disk (or you can get it here), drop it in the same folder as PrevueCLI (or you can make a batch script that'll let you drag and drop the file onto PrevueCLI) and run this command:

PrevueCLI:> PrevueCLI convertCurdayDatToListings curday.dat ./curday  
If you get an error about PrevueCLI not able to locate the folder, create the folder and try again. If on *Unix, type 'mkdir ./curday'.

Converting listings from an XMLTV file

XMLTV is an XML-based file format for describing TV listings. If you'd like to learn more about how they work and stuff, check out the official XMLTV wiki here. These files can be used to generating listings for Prevue thanks to PrevueCLI's implementation of it.

If you do not have an XMLTV file, please go through any of the following tutorials:

To start, with your XMLTV.XML file in the same directory as PrevueCLI (or by using the drag-and-drop method mentioned earlier), type:

PrevueCLI:> PrevueCLI convertXMLTVToListings xmltv.xml ./listings 999 
The '999' is the maximum number of channels you want in the guide. If you are using the EPG Jr. sometime in the future, please keep this number at 100. If you get an error about PrevueCLI not able to locate the folder, create the folder and try again. If on *Unix, type 'mkdir ./listings'.

If done properly, a new message should appear saying 'Finished parsing (# of) channels.' PrevueCLI should then exit.

Creating a .prevuecommand file

PrevueCLI sends commands and listings via a .prevuecommand file, basically a renamed text document. To view an example of how a file is structured, open the 'Test.prevuecommand' file with the text editor of your choice.

A few of these commands need to be taken into consideration when making your file:

  • TCPDataDestination - This is used for connecting to the emulator over TCP/IP.
  • BoxOnCommand - Tells all boxes to start listening
  • ConfigurationCommand - Sends a configuration. About the most notable portion to modify is the 'timezone' value.
  • NewLookConfigurationCommand - New look configuration, lets you change the display type on Esquire 7.8.3.
  • CurrentClockCommand & CurrentDSTCommand - Gets the current time and sends it.
  • ListingsCommand - Send listings from the created (or sample) CSV files
  • BoxOffCommand - Tells all boxes to stop listening.

Once done, your command should look something like this:

Since all of ConfigurationCommand is not shown here, you can just copy and paste the specific commands to a new file and populate that way. The channelsFilePath and programsFilePath should be the directories where your listings files are in. By default they are set to "Sample Listings", however you are free to change these to whatever you set the folder name as.

Once done, save the file with a .prevuecommand extension.

Sending listings to the software

[c] Copyright 2021 PajamaFrix -- pajamafrix.neocities.org