Skip to content

Instantly share code, notes, and snippets.

BufferSoundFileView : SoundFileView {
var buffer;
*new { |parent, bounds, buffer|
^super.new.init(parent, bounds, buffer);
}
init { |parent, bounds, buffer|
buffer = buffer;
@julianrubisch
julianrubisch / buffer_extensions.sc
Created September 30, 2021 15:55
Supercollider Object Oriented Patterns - Part 3 : Subclassing Buffer
VBufferCollection {
var <buffers, views;
*new { |server, numBuffersOrPaths, numFrames=0, numChannels=1|
^super.new.init(server, numBuffersOrPaths, numFrames, numChannels);
}
init { |server, numBuffersOrPaths, numFrames=0, numChannels=1|
buffers = case
{numBuffersOrPaths.class == PathName && {numBuffersOrPaths.isFolder}} {
@julianrubisch
julianrubisch / buffer_extensions.sc
Created September 29, 2021 19:25
Supercollider OOP - Part 2: Pluggable Views
VBufferCollection {
var <buffers, views;
*new { |server, numBuffersOrPaths, numFrames=0, numChannels=1|
^super.new.init(server, numBuffersOrPaths, numFrames, numChannels);
}
init { |server, numBuffersOrPaths, numFrames=0, numChannels=1|
buffers = case
{numBuffersOrPaths.class == PathName && {numBuffersOrPaths.isFolder}} {
# config/routes.rb
Rails.application.routes.draw do
mount UserStats::Engine, at: "/user_stats"
# ...
end
@julianrubisch
julianrubisch / 0_perf.sc
Last active September 29, 2021 19:23
Supercollider OOP - Part 1: Classes
(
Server.killAll;
~num_buffers = 4;
~num_channels = 12;
~rec_end = ~num_buffers.collect { 0 };
~gtranspose = ~num_buffers.collect { 0 };
~density = ~num_buffers.collect { 0.0 };
~stretch = 1.0;
class LocaleReflex < ApplicationReflex
def switch
@locale = element.value
end
end
class ApplicationController < ActionController::Base
around_action :switch_locale
def switch_locale(&action)
// useIdle
away(event) {
consumer.subscriptions.add(this.presenceChannel);
}
back(event) {
this.presenceChannel.unsubscribe();
}
import { Controller } from "stimulus";
import { get } from "@rails/request.js";
import { PageSnapshot } from "@hotwired/turbo";
export default class extends Controller {
static values = { hoverTime: Number };
connect() {
this.element.addEventListener("mouseover", this.prefetch.bind(this));
this.element.addEventListener("touchstart", this.prefetch.bind(this));
}
<!-- app/views/boards/_board.html.erb -->
<ul class="..."
data-controller="board"
data-board-signed-resource-value="<%= board.to_sgid.to_s %>"
id="<%= dom_id(board) %>">
<!-- ... -->
</ul>
<!-- app/views/boards/_board.html.erb -->
<ul class="..."
data-controller="board"
data-board-signed-resource-value="<%= board.to_sgid.to_s %>"
id="<%= dom_id(board) %>">
<!-- ... -->
</ul>