Skip to content

Instantly share code, notes, and snippets.

@tin2tin
tin2tin / __init__.py
Created May 12, 2025 10:21
Audio async render queue
bl_info = {
"name": "AI Audio Generation Queue",
"author": "Your Name (and contributors to the original code)",
"version": (1, 0, 24), # No functional change for this issue, version kept
"blender": (3, 4, 0),
"location": "Video Sequence Editor > Sidebar (N-Panel) > AI Tools",
"description": "Adds audio generation jobs to a queue, processes them asynchronously, and adds results to the VSE.",
"warning": "Alpha version. Requires manual installation of AI model dependencies. Check console for errors.",
"doc_url": "https://your-documentation-link-here.com",
"category": "Sequencer",
# ruff: noqa: F401, F821
# Above allows ruff to ignore F401: unused import (some imports are conditional)
# F821: undefined name (bpy is defined when run in Blender)
bl_info = {
"name": "F5/E2 TTS Synthesis", # Restore original name
"author": "Based on SWivid/F5-TTS Gradio Demo (Modified)",
"version": (1, 0, 12), # Increment version for fixes
"blender": (4, 1, 0), # Adjust Blender version if needed (current script aims for >=4.1)
"location": "Sequence Editor > Sidebar > F5/E2 TTS",
@tin2tin
tin2tin / __init__.py
Last active March 10, 2025 15:58
3d lut importer Work in Progress
bl_info = {
"name": "VSE LUT to Curve Modifier",
"blender": (3, 0, 0),
"category": "Sequencer",
"description": "Import .cube LUT and apply RGB curves with optional desaturation via Hue Correction",
"author": "tintwotin",
"version": (1, 10),
"location": "Sequencer > Add > Effects > LUT (Cube File)",
}
@tin2tin
tin2tin / __init__.py
Created February 11, 2025 23:58
Strip picker
import bpy
from bpy.props import StringProperty
class TEST_PT_layout_panel(bpy.types.Panel):
bl_label = "VSE Strip Picker"
bl_category = "Test Panel"
bl_space_type = 'PROPERTIES'
bl_region_type = 'WINDOW'
bl_context = "scene"
@tin2tin
tin2tin / MiniMax_File_ID_dfownloader.py
Created January 24, 2025 06:54
A downloader for csv-files containing file IDs.
import csv
import requests
def debug_print(*args):
print(*args)
def fetch_video_result(file_id, api_key, output_file_name):
debug_print("File ID:", file_id)
debug_print("Out file name:", output_file_name)
debug_print("---------------Video generated successfully, downloading now---------------")
@tin2tin
tin2tin / __init__.py
Created January 16, 2025 10:45
Threading
import bpy
import subprocess
import threading
import re
# Function to parse progress from subprocess output
def parse_progress(line):
"""
Parses progress information from a line of output.
@tin2tin
tin2tin / __init__.py
Created January 15, 2025 09:18
Export a Frame for Each Shot
bl_info = {
"name": "Export a Frame for Each Shot",
"author": "tintwotin",
"version": (1, 0),
"blender": (3, 00, 0),
"location": "Strip > Export a Frame for Each Shot",
"description": "",
"warning": "",
"doc_url": "",
"category": "Sequencer",
@tin2tin
tin2tin / __init__.py
Created November 24, 2024 04:54
Update text strip content, when changing text-block
import bpy
# Store the last synced text block content to detect changes
LAST_SYNCED_TEXT = {"content": None, "name": None}
# Add properties to the Text Strip
def add_text_strip_properties():
bpy.types.Sequence.text_sync_enabled = bpy.props.BoolProperty(
name="Sync with Text Block",
description="Enable syncing with a specific text block",
@tin2tin
tin2tin / __init__.py
Last active November 18, 2024 22:28
OCR for the Text Editor
bl_info = {
"name": "OCR Add-on",
"blender": (3, 0, 0),
"category": "Text Editor",
"author": "Your Name",
"version": (1, 0, 0),
"location": "Text Editor > Sidebar",
"description": "Add-on for OCR with specified models"
}
@tin2tin
tin2tin / __init__.py
Created September 29, 2024 20:31
Does operator exist?
import bpy
def operator_exists(idname):
# Split the idname string into the operator type and the operator function
idname_parts = idname.split(".")
if len(idname_parts) != 2:
return False # The idname is not properly formatted
operator_type, operator_func = idname_parts