New mods to SplitStream [longish]

Roger Merchberger zmerch7 at y...
Sun, 3 Feb 2002 10:58:02 -0800 (PST)


I have made my first modifications to Splitstream, however, they're
only cosmetic changes.

I've tried to keep all original functionality in Splitstream
available in my "zss" version, however, some of the changes I've made
have temporarily gotten rid of the "--time-offset" usage. I will put
it back (the code's still there) but I just don't have the time just
yet to finish the argument checking enough to get it working again.

The changes I've made are mainly in the arguments passed to SS and
what they do. I've kept in the <STDIN> pass-thru (but "my version"
isn't well tested yet...) so you can pipe netcat to it for 1-step
usage. I've also tried to comment everything I did fairly well, so
that others might understand how I did things (probably wrong) in the
future. But, it's like I always say: "If it's stupid, but works... it
ain't stupid." :-) :-)

The main problem, and it's a personal problem as I'm a packrat, is I
keep all the output of all the shows that I transcode. When
Splitstream was in it's early stages, it would make pages & pages of
output that I'd have to cut & paste from a terminal window into
Notepad, which was rather a pain. I've added the ability for all
logging messages to go out to a logfile, and even if you use Joe's
invocation (which works the same) the output goes to <STDOUT> so you
can pipe the information you need wherever you want.

The other (minor problem with 100+wpm typing speed) is the number of
arguments that one needs to type to get it to work. To reduce typing,
I've always truncated the filenames to keep them shorter, like:

splitstream charm1.ty charm1.m2a charm1.m2v bcharm1.ty
or
splitstream star2.ty star2.m2a star2.m2v bstar2.ty

[[ Editor's note: Charmed is my *wife's* favorite show, and I do this
to keep her happy... and a happy wife is a happier me. ;^> - Oh, and
she likes Stargate, too. ]]

Sometimes they'll play 2 or 3 different Charmeds in a week, and
thanks to my serious lack of short term memory, I couldn't remember
*which* Charmed it was... and prepending every filename
Charmed_AKnightToRemember and Charmed_BlackAsCole makes for a darned
long command line... Well, no more.

With my zss version, you can type this:

zss Charmed_AKnightToRemember

and the program automatically assumes this:
input file is Charmed_AKnightToRemember.ty
video output is Charmed_AKnightToRemember.m2v
audio output is Charmed_AKnightToRemember.m2a
bad chunks go to bad-Charmed_AKnightToRemember.ty
*and* the crowning glory:
all of the program's output goes to Charmed_AKnightToRemember.log

You can also use:
zss - Charmed_AKnightToRemember

and the input file will be <STDIN> (usually piped in from netcat),
with all of the other filenames alike as above.

==============

*all* of the program's output was piped to stderr, which I found
rather odd as it's much more difficult to pipe/redirect stderr in
DOS/Win. I've changed the program so that the usage & any error
messages WRT files that cannot be opened go to stderr, and if you use
my invocation of zss that everything else goes to a logfile -
otherwise if you use Joe's original invocation syntax, it's piped to
stdout, so if you don't pipe it, it goes to the terminal window like
always. You can pipe it, however, to a file & any errors will still
show up on the terminal screen.

===============

The other change I made is purely cosmetic & personal -- I've always
preferred the K&R type indenting vs. the way that Joe had it, so I
"fixed" that. If Joe's upset that I made that change, he does have
permission to drive to my house & bludgeon me with a wet noodle,
right before I give him a few beers for making such a wonderful
program.

Remember, Joe's the one who did all the brainwork behind this
masterpiece, I'm just adjusting the user interface somewhat to fit my
own needs better, and if anyone else likes it... cool.

I hope folks like the changes and if you have any comments, just
lemme know!

Doh!!! You might want to know where they are:
http://www.30below.com/~zmerch/tivo/zss.exe (13K) - and the source:
http://www.30below.com/~zmerch/tivo/zss.cpp (24K)

Roger "Merch" Merchberger

__________________________________________________
Do You Yahoo!?
Great stuff seeking new owners in Yahoo! Auctions! 
http://auctions.yahoo.com