Skip to content

Instantly share code, notes, and snippets.

View gist:ed8961a4d1536cc72815c9af52b1a1f1
song_request_count | song_filename
--------------------+-----------------------------------------------------------------------------------------------------
1605 | /icecast/game-all/Portal/StillAlive.mp3
1384 | /icecast/game-all/~Blizzard/Starcraft/Terran - One.mp3
1328 | /icecast/ocr-all/SidMeiersCivilizationIV/DestinedforGreatness.mp3
1321 | /icecast/chip-all/Bubble Bobble/02 Main Theme.mp3
1312 | /icecast/game-all/~F-Zero/F-Zero/004 - Big Blue.mp3
1290 | /icecast/game-all/~Halo/Halo 2/001 - Halo Theme Mjolnir Mix.mp3
1282 | /icecast/game-all/~Donkey Kong/Donkey Kong Country 2/017 - Stickerbush Symphony (Bramble Blast).mp3
1278 | /icecast/game-all/~Metal Gear/Metal Gear Solid 2/1.mp3
View fallback-used.log
2021/04/06 13:59:54 >>> LOG START
2021/04/06 13:59:53 [main:3] Liquidsoap 1.4.3
2021/04/06 13:59:53 [main:3] Using: bytes=[distributed with OCaml 4.02 or above] pcre=7.4.6 sedlex=2.3 menhirLib=20201216 dtools=0.4.2 duppy=0.8.0 cry=0.6.5 mm=0.5.1 ogg=0.5.2 vorbis=0.7.1 opus=0.1.3 mad=0.4.5 dynlink=[distributed with Ocaml] lame=0.3.4 samplerate=0.1.5 taglib=0.3.6 camomile=1.0.2
2021/04/06 13:59:53 [dynamic.loader:3] Could not find dynamic module for fdkaac encoder.
2021/04/06 13:59:53 [lang.deprecated:2] WARNING: "request.dynamic" is deprecated! Please use "request.dynamic.list".
2021/04/06 13:59:53 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2021/04/06 13:59:53 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2021/04/06 13:59:53 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2021/04/06 13:59:53 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2021/04/06 13:59:54 [decoder:3] Method "MAD"
View gist:68a064644b802eb5c9bd2b68bd96f339
set("log.file",true)
set("log.file.path","/home/rmcauley/liquidsoap-daemon/log/" ^ r4_dest_mount ^ "-run.log")
set("init.daemon",true)
set("init.daemon.pidfile",true)
set("init.daemon.pidfile.path","/home/rmcauley/liquidsoap-daemon/pid/" ^ r4_dest_mount ^ "-run.pid")
%include "/home/rmcauley/liquidsoap-daemon/script/_crossfade.liq.util"
def r4_backend() =
result = get_process_output("cd /opt/rainwave && pipenv run ./rw_get_next.py --sid "^r4_sid)
View gist:e5edb58b4175da4118fb61e5ef5cbfcc
<h2>Terms of Service</h2>
<ul>
<li>
By using Rainwave you agree to enjoy the music we stream, free of
worries about ad trackers or identifiable information.
</li>
</ul>
<h2>Privacy Policy</h2>
<ul>
View blargh.py
class AlbumRating(models.Model):
album = models.ForeignKey(Album, models.CASCADE, db_index=False)
user = models.ForeignKey(User, models.CASCADE, db_index=False)
rating_complete = models.BooleanField(
blank=True, null=True, db_column="album_rating_complete"
)
rating_user = models.FloatField(
blank=True, null=True, db_column="album_rating_user"
)
View gist:437f947788786a3948e202952fb7703c
function blah(props) {
return <div onClick={props.doThing}>{props.id}</div>
}
const mapStateToProps = state => ({id: state.thing.id});
const mapDispatchToProps = dispatch => ({
doThing: () => {
callMyApi('doThing', {iWantMappedProps.id});
},
View unicodechecke.sh
failed="no"
find . -name '*.py' -not -path "./.env/*" -not -path "./node_modules/*" -print0 |
while IFS= read -r -d $'\0' line; do
if [ -s $line ]; then
grep -L "from __future__ import unicode_literals" $line
if [ "$?" -ne "0" ]; then
failed="yes"
fi
fi
done
@rmcauley
rmcauley / smallart.txt
Created May 5, 2017
Small album art sizes on Rainwave
View smallart.txt
05-05 08:01:13 - CRITICAL - [scan ] Error scanning /home/icecast/chip-only/~~Original Chiptunes/Backloggery/42299925.jpg
05-05 08:01:14 - CRITICAL - [scan ] Error scanning /home/icecast/chip-only/~~Original Chiptunes/My Girl, The Princess/folder.gif
05-05 08:01:17 - CRITICAL - [scan ] Error scanning /home/icecast/chip-only/~~Original Chiptunes/8-Bit Empire/folder.jpg
05-05 08:01:17 - CRITICAL - [scan ] Error scanning /home/icecast/chip-only/~~Original Chiptunes/Grayscale Project/graylogo.gif
05-05 08:01:18 - CRITICAL - [scan ] Error scanning /home/icecast/chip-only/~~Original Chiptunes/Unconditional Acceleration/folder.png
05-05 08:01:22 - CRITICAL - [scan ] Error scanning /home/icecast/chip-only/~~Original Chiptunes/Artillery/folder.png
05-05 08:01:28 - CRITICAL - [scan ] Error scanning /home/icecast/chip-only/~~Original C
View gist:b4dae3754abf26c886b05b0b4a3abcd4
var iOSAppMode = window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.rainwavePlay;
if (iOSAppMode) {
self.play = function () {
window.webkit.messageHandlers.rainwavePlay.postMessage();
};
self.stop = function () {
window.webkit.messageHandlers.rainwaveStop.postMessage();
};
View gist:07d5df741d495dade717ef8034a4c3f1
set("log.file",true)
set("log.file.path","/tmp/basic-radio.log")
set("log.stdout",true)
set("log.level",5)
set("harbor.bind_addr","0.0.0.0")
def my_request_function() =
result = get_process_output("../resources/php/executeable/liquidsoap.php")
# Create and return a request using this result
request.create(result)