Skip to content

Instantly share code, notes, and snippets.

View OrangeChannel's full-sized avatar
😎
shitposting somewhere

Dave OrangeChannel

😎
shitposting somewhere
View GitHub Profile
@OrangeChannel
OrangeChannel / find-replace-bug.ass
Last active February 4, 2020 11:07
find-replace-bug
[Script Info]
; Script generated by Aegisub master r8903+1 g1042226, line0
; http://www.aegisub.org/
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
YCbCr Matrix: None
[V4+ Styles]
@OrangeChannel
OrangeChannel / vscompare.py
Last active March 6, 2023 07:08
VapourSynth comparison script. Allows for easy upload to slowpics.org, or local diff checking for an infinite number of clips, in 5 different modes. 'comp' function can be used in VSEdit's preview window, to visually compare clips.
"""Creates easy frame comparisons between multiple VapourSynth clips."""
__all__ = ['prep', 'comp', 'save']
__author__ = 'Dave <orangechannel@pm.me>'
__date__ = '30 November 2019'
import os
from contextlib import contextmanager
from functools import partial
from math import floor, sqrt
from random import randint, sample
@OrangeChannel
OrangeChannel / aae-export.py
Last active September 22, 2019 21:51
Export Blender motion tracking markers to Adobe After Effects 6.0 compatible files. Works with Aegisub-Motion.
# Copyright (c) 2013, Martin Herkt
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
@OrangeChannel
OrangeChannel / vsbookmark.py
Last active July 12, 2020 02:58
VSEdit Bookmark generator. Useful for scenefiltering https://guide.encode.moe/encoding/scenefiltering.html
"""VSEdit bookmark generator."""
__all__ = ['generate', 'convert']
__author__ = 'Dave <orangechannel@pm.me>'
__date__ = '30 November 2019'
import vapoursynth as vs
import re
core = vs.core
@OrangeChannel
OrangeChannel / frame-to-timestamp.py
Last active July 12, 2020 02:58
Useful for creating chapter files based on 0-indexed frame numbers
#!/usr/bin/python
"""
Chapter timings generator
"""
import math
from fractions import Fraction
frame_no = input('Frame number(s) (\'34 7004 13451\'): ')
frames = list(map(int, frame_no.split()))
import shlex
header = r'<?xml version="1.0"?>' + '\n' + r'<!-- <!DOCTYPE Tags SYSTEM "matroskatags.dtd"> -->'
header += '\n<Tags>'
editionuids = input('input the edition uids (2906622092 4906785091): ')
uids = list(map(int, editionuids.split()))
names = shlex.split(input('input the edition names (\'normal\' \'no credits\'): '))
outfile = str(input('desired file name (example.xml): '))
@OrangeChannel
OrangeChannel / bitrate_filesize.py
Last active July 12, 2020 02:57
Calculator functions for finding desired bitrate or estimated filesize.
"""Bitrate and filesize calculator."""
__all__ = ['bitrate', 'filesize']
__author__ = 'Dave <orangechannel@pm.me>'
__date__ = '30 November 2019'
from string import ascii_uppercase
def bitrate(size: str, seconds: int = None, frames: int = None,
framerate: float = 24000 / 1001):
#!/usr/bin/python
"""
OGM chapter timings generator that opens into toolnix GUI
"""
import math, shlex, subprocess
from fractions import Fraction
path_to_mkvtoolnix_gui = 'mkvtoolnix-gui'
@OrangeChannel
OrangeChannel / radruns.py
Created January 15, 2020 05:12
Finalized
import itertools
import random
from fractions import Fraction
import functools
intact = [Fraction(76, 100), Fraction(22, 100), Fraction(2 , 100)]
exceptional = [Fraction(70, 100), Fraction(26, 100), Fraction(4 , 100)]
flawless = [Fraction(60, 100), Fraction(34, 100), Fraction(6 , 100)]
radiant = [Fraction(50, 100), Fraction(40, 100), Fraction(10, 100)]
"""Functions to help setup poker tournaments."""
__author__ = 'Dave <orangechannel@pm.me>'
__date__ = '4 February 2020'
from itertools import product
# Constants:
CASE = 100
MAX_PLAYERS = 10