Skip to content

Instantly share code, notes, and snippets.

@Myaamori
Myaamori / build.gradle.kts
Created October 21, 2020 14:38
Patches with SubKt
import myaa.subkt.tasks.*
import myaa.subkt.tasks.Mux.*
import myaa.subkt.tasks.Nyaa.*
import java.awt.Color
import java.awt.Font
import java.time.*
plugins {
id("myaa.subkt")
}
@Myaamori
Myaamori / fay2fax.py
Last active October 16, 2020 00:52
Maybe working fay 2 fax
import sys
import numpy as np
frz, fax, fay = map(float, sys.argv[1:])
rad = np.deg2rad(-frz)
q1 = np.array([[np.cos(rad), -np.sin(rad)], [np.sin(rad), np.cos(rad)]])
a = np.array([[1, fax], [fay, 1]])
$ ls *.ass
in.ass
$ cat in.ass
[Script Info]
; Script generated by Aegisub 9044-makepkg-8b0aaaf7e
; http://www.aegisub.org/
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
import myaa.subkt.tasks.*
import myaa.subkt.tasks.Mux.*
import myaa.subkt.tasks.Nyaa.*
import java.awt.Color
import java.time.*
plugins {
id("myaa.subkt")
}
plugins {
id("myaa.sub") version "0.1"
}
subs {
readProperties("sub.properties")
release = arg("release") ?: get("defaultRelease")
episodes = getList("episodes")
batches = getMap("batches", "episodes")
val opShifts = mapOf(
"02" to "0:04:06.55".assToDuration()
)
val edShifts = mapOf(
"02" to "0:23:39.48".assToDuration()
)
val merge by tasks.registering(Merge::class) {
from("02/eizouken_02.ass") {
g++ -I/home/x/playground/subs/automation/Aegisub/src/ -I.. -I/home/x/playground/subs/automation/Aegisub/src/include -I/home/x/playground/subs/automation/Aegisub/libaegisub/include -I/home/x/playground/subs/automation/Aegisub/build -pthread -pthread -I/usr/include -Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing -pipe -g -std=c++11 -Wno-c++11-narrowing -Wno-unused-local-typedefs -O3 -I/usr/lib/wx/include/gtk3-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -x c++-header /home/x/playground/subs/automation/Aegisub/src/agi_pre.h
In file included from /usr/include/wx-3.0/wx/memory.h:15,
from /usr/include/wx-3.0/wx/object.h:19,
from /usr/include/wx-3.0/wx/accel.h:18,
from /home/x/playground/subs/automation/Aegisub/src/agi_pre.h:118:
/usr/include/wx-3.0/wx/string.h: In constructor ‘wxString::wxString(wxUniChar, size_t)’:
/usr/include/wx-3.0/wx/string.h:1224:25: warning: implicitly-declared ‘constexpr wxUniChar::wx
#0 0x00005555556fbd97 in std::vector<std::unique_ptr<float, std::default_delete<float []> >, std::allocator<std::unique_ptr<float, std::default_delete<float []> > > >::end() const ()
#1 0x00005555556faa23 in std::vector<std::unique_ptr<float, std::default_delete<float []> >, std::allocator<std::unique_ptr<float, std::default_delete<float []> > > >::empty() const ()
#2 0x00005555556fa84e in DataBlockCache<float, 10, AudioSpectrumCacheBlockFactory>::KillMacroBlock(DataBlockCache<float, 10, AudioSpectrumCacheBlockFactory>::MacroBlock&) ()
#3 0x00005555556f928f in DataBlockCache<float, 10, AudioSpectrumCacheBlockFactory>::Age(unsigned long) ()
#4 0x00005555556f8806 in AudioSpectrumRenderer::AgeCache(unsigned long) ()
#5 0x00005555556f235e in AudioRenderer::Render(wxDC&, wxPoint, int, int, AudioRenderingStyle) ()
#6 0x00005555556c094b in AudioDisplay::PaintAudio(wxDC&, TimeRange, wxRect) ()
#7 0x00005555556c057c in AudioDisplay::OnPaint(wxPaintEvent&) ()
#8 0x00007ffff6d594c1 in wxEvtHandler::ProcessEvent
import argparse
import pathlib
import vapoursynth as vs
from vapoursynth import core
parser = argparse.ArgumentParser()
parser.add_argument('--use-scxvid', action='store_true', help="use Scxvid instead of WWXD to detect scene changes")
parser.add_argument('--use-slices', action='store_true', help="when using Scxvid, speeds things up at the cost of differences in scene detection")
parser.add_argument('--sushi', action='store_true', help="sushi compatible (pseudo-XviD 2pass stat file) format")