Skip to content

Instantly share code, notes, and snippets.

View kniknoo's full-sized avatar

Nicholas Rake kniknoo

View GitHub Profile
use_bpm 95
with_fx :compressor, slope_above: 0.6, threshold: 0.4, amp: 1.5 do
live_loop :amen_break do
with_fx :bitcrusher, sample_rate: rrand_i(100, 40000), bits: [2, 4, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16].choose do
use_sample_defaults beat_stretch: 8, num_slices: 32, release: 0.5, sustain: 0#, rate: [-1, 1].choose
r = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31]
#sample :loop_amen_full, slice: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30].ring.tick
sleep 0.25
(line, 2, 6).choose.times do
#sample :loop_amen_full, slice: r.choose, beat_stretch: rrand(8.05, 8.1) #unless one_in(11)
#buffer 6-3 (robo_blues)
clear
reset
skulpt = "skulpt_synth_midi_1"
drumbrute = "arturia_drumbrute_impact_midi_1"
mono_int = "monologue_midi_2"
r3_int = "r3_midi_2"
#N5EX 5/off
midi_pc 4, port: mono_int, channel: 14 #Monologue 5
#MS50 01
@kniknoo
kniknoo / perlin.rb
Last active October 12, 2020 22:57
Version of perlin adapted from wikipedia and used for dragonruby
class PerlinNoise
attr_accessor :noise_map
def initialize(res, pixel, factor: [0.05, 0.05], mode: 'smooth', vectors: 'random')
@noise_map = []
@res = res
@pixel = pixel
@factor = factor
@mode = mode
@vectors = vectors
# frozen_string_literal: true
# TODO: Finish Sprites. beyond basics. Add relevant methods such as calcstringbox for labels "width"
# Base Class, doesn't do much on its own.
class DragonObject
attr_accessor :x, :y, :r, :g, :b, :a, :primitive_marker, :color
def initialize(x:, y:, color:)