I was building some bezier interpolation code and half way through I settled on these jiggling creatures
A Pen by Matthew Willox on CodePen.
MAJOR | 0 4 7 | |
MINOR | 0 3 7 | |
DIMINISHED | 0 3 6 | |
AUGMENTED | 0 4 8 | |
MAJOR_SEVENTH | 0 4 7 B | |
MINOR_SEVENTH | 0 3 7 A | |
DOMINANT_SEVENTH | 0 4 7 A | |
DIMINISHED_SEVENTH | 0 3 6 9 | |
HALF_DIMINISHED_SEVENTH | 0 3 6 A | |
MAJOR_NINTH | 0 4 7 B 2 |
I was building some bezier interpolation code and half way through I settled on these jiggling creatures
A Pen by Matthew Willox on CodePen.
// SPDX-License-Identifier: UNLICENSED | |
pragma solidity ^0.8.0; | |
import "@openzeppelin/contracts/utils/Strings.sol"; | |
import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; | |
import "@openzeppelin/contracts/access/Ownable.sol"; | |
import "@openzeppelin/contracts/utils/Counters.sol"; | |
import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; |
import VuMeter from "./VuMeter"; | |
export const DEFAULT_CONFIG = [ | |
{ | |
filter: { | |
frequency: 250, | |
Q: 3, | |
type: "lowpass" | |
}, | |
compressor: { |
export default class VUMeterNode extends AudioWorkletNode { | |
constructor(context, updateIntervalInMS = 16.67) { | |
super(context, "vumeter", { | |
numberOfInputs: 1, | |
numberOfOutputs: 0, | |
channelCount: 1, | |
processorOptions: { | |
updateIntervalInMS | |
} | |
}); |
export default class PhaseScope extends AudioWorkletNode { | |
constructor(context, updateIntervalInMS = 16.67) { | |
super(context, 'phasescope', { | |
numberOfInputs: 2, | |
numberOfOutputs: 0, | |
channelCount: 1, | |
processorOptions: { | |
updateIntervalInMS | |
} | |
}); |
// SPDX-License-Identifier: UNLICENSED | |
pragma solidity ^0.8.0; | |
import "@openzeppelin/contracts/utils/Strings.sol"; | |
import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; | |
import "@openzeppelin/contracts/access/Ownable.sol"; | |
import "@openzeppelin/contracts/utils/Counters.sol"; | |
import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; | |
import "./IContent.sol"; |
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
/// @title Base64 | |
/// @author Brecht Devos - <[email protected]> | |
/// @notice Provides functions for encoding/decoding base64 | |
library Base64 { | |
string internal constant TABLE_ENCODE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; | |
bytes internal constant TABLE_DECODE = hex"0000000000000000000000000000000000000000000000000000000000000000" |
import { useXR, useController, useXRFrame } from '@react-three/xr'; | |
import { Vector3 } from 'three'; | |
import { useRef } from 'react'; | |
// mapping | |
// 1: Trigger | |
// 2: Grip | |
// 4: Stick Buttons |
import { useXR, useController, useXRFrame } from '@react-three/xr'; | |
import { Vector3 } from 'three'; | |
import { useRef } from 'react'; | |
export default function StrafeController({ | |
hand = 'right', | |
sensitivity = 0.05, | |
zeroY = true, |