From 91f92f5dc5e27c1cac4c651708c8fbca9904988f Mon Sep 17 00:00:00 2001 From: Viatrix Date: Sun, 21 Jun 2026 13:43:40 -0700 Subject: Initial commit --- README | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 0000000..0b4ee1f --- /dev/null +++ b/README @@ -0,0 +1,34 @@ +KEYGEN BY VIATRIX.COMPUTER FOR LIVEUPDATE CRESCENDO STREAMSITES + +streamkeygen.py generates a LiveUpdate Crescendo stream key. When the +appropriate key is placed on an internet site, Crescendo will stream the +MIDIs from the site in question. + +Example: + python3 ./streamkeygen.py http://example.com/midis/ +will create the stream.key file for all MIDIs within the +http://example.com/midis/ folder. + +HOW CRESCENDO CHECKS FOR STREAM KEYS + +Given the URL of a MIDI file, Crescendo will assemble a stream.key URL by: + +1. Removing the fragment (the hash-sign and everything after it) +2. Removing everything after the last slash +3. Appending "stream.key" + +Examples: +http://example.com/midis/song.mid → http://example.com/midis/stream.key +https://example.com/midis/song.mid → https://example.com/midis/stream.key +http://example.com/?midi=song.mid → http://example.com/stream.key +http://example.com/?midi=/song.mid → http://example.com/?midi=/stream.key + +The stream key must be byte-for-byte the correct one for the URL from +step (2). This means, for example, that the same stream key would not work +for http:// and https:// versions of the same website, or versions of the +same URL with different capitalization or percent-encoding. To circumvent +this, the easiest way is to make your s use an absolute URL: + +Because old browsers are finicky with text encoding, streamkeygen.py auto- +matically converts your URL to an ASCII-representable form, and prints a +notice if the URL used is different from the URL inputted. -- cgit