this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Continue lexicon, check in generated files

+321 -3
+1 -1
package.json
··· 5 5 "type": "module", 6 6 "scripts": { 7 7 "dev": "vite", 8 - "prebuild": "lex build --lexicons ./src/lexicons", 8 + "prebuild": "lex build --override --lexicons ./src/lexicons", 9 9 "build": "tsc && vite build", 10 10 "preview": "vite preview" 11 11 },
+5
src/lexicons/app.ts
··· 1 + /* 2 + * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT. 3 + */ 4 + 5 + export * as beatproto from './app/beatproto.js'
+5
src/lexicons/app/beatproto.ts
··· 1 + /* 2 + * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT. 3 + */ 4 + 5 + export * as instrument from './beatproto/instrument.js'
+215
src/lexicons/app/beatproto/instrument.defs.ts
··· 1 + /* 2 + * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT. 3 + */ 4 + 5 + import { l } from '@atproto/lex' 6 + 7 + const $nsid = 'app.beatproto.instrument' 8 + 9 + export { $nsid } 10 + 11 + /** A record representing an instrument, made up of a graph structure of audio and effect nodes */ 12 + type Main = { 13 + $type: 'app.beatproto.instrument' 14 + 15 + /** 16 + * Audio and effect nodes 17 + */ 18 + nodes?: ( 19 + | l.$Typed<OscillatorNode> 20 + | l.$Typed<AdsrNode> 21 + | l.$Typed<FilterNode> 22 + | l.$Typed<AmplifierNode> 23 + | l.Unknown$TypedObject 24 + )[] 25 + edges?: Edge[] 26 + } 27 + 28 + export type { Main } 29 + 30 + /** A record representing an instrument, made up of a graph structure of audio and effect nodes */ 31 + const main = l.record<'tid', Main>( 32 + 'tid', 33 + $nsid, 34 + l.object({ 35 + nodes: l.optional( 36 + l.array( 37 + l.typedUnion( 38 + [ 39 + l.typedRef<OscillatorNode>((() => oscillatorNode) as any), 40 + l.typedRef<AdsrNode>((() => adsrNode) as any), 41 + l.typedRef<FilterNode>((() => filterNode) as any), 42 + l.typedRef<AmplifierNode>((() => amplifierNode) as any), 43 + ], 44 + false, 45 + ), 46 + ), 47 + ), 48 + edges: l.optional(l.array(l.ref<Edge>((() => edge) as any))), 49 + }), 50 + ) 51 + 52 + export { main } 53 + 54 + export const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main), 55 + $build = /*#__PURE__*/ main.build.bind(main), 56 + $type = /*#__PURE__*/ main.$type 57 + export const $assert = /*#__PURE__*/ main.assert.bind(main), 58 + $check = /*#__PURE__*/ main.check.bind(main), 59 + $cast = /*#__PURE__*/ main.cast.bind(main), 60 + $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main), 61 + $matches = /*#__PURE__*/ main.matches.bind(main), 62 + $parse = /*#__PURE__*/ main.parse.bind(main), 63 + $safeParse = /*#__PURE__*/ main.safeParse.bind(main), 64 + $validate = /*#__PURE__*/ main.validate.bind(main), 65 + $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main) 66 + 67 + type OscillatorNode = { 68 + $type?: 'app.beatproto.instrument#oscillatorNode' 69 + id: string 70 + mode?: 'sawtooth' | 'sine' | 'triangle' | 'square' | l.UnknownString 71 + 72 + /** 73 + * Floating point number 74 + */ 75 + detune?: string 76 + 77 + /** 78 + * Floating point number 79 + */ 80 + frequency?: string 81 + } 82 + 83 + export type { OscillatorNode } 84 + 85 + const oscillatorNode = l.typedObject<OscillatorNode>( 86 + $nsid, 87 + 'oscillatorNode', 88 + l.object({ 89 + id: l.string(), 90 + mode: l.optional( 91 + l.string<{ knownValues: ['sawtooth', 'sine', 'triangle', 'square'] }>(), 92 + ), 93 + detune: l.optional(l.string()), 94 + frequency: l.optional(l.string()), 95 + }), 96 + ) 97 + 98 + export { oscillatorNode } 99 + 100 + type AdsrNode = { 101 + $type?: 'app.beatproto.instrument#adsrNode' 102 + id: string 103 + 104 + /** 105 + * Floating point number 106 + */ 107 + attack?: string 108 + 109 + /** 110 + * Floating point number 111 + */ 112 + decay?: string 113 + 114 + /** 115 + * Floating point number 116 + */ 117 + sustain?: string 118 + 119 + /** 120 + * Floating point number 121 + */ 122 + release?: string 123 + } 124 + 125 + export type { AdsrNode } 126 + 127 + const adsrNode = l.typedObject<AdsrNode>( 128 + $nsid, 129 + 'adsrNode', 130 + l.object({ 131 + id: l.string(), 132 + attack: l.optional(l.string()), 133 + decay: l.optional(l.string()), 134 + sustain: l.optional(l.string()), 135 + release: l.optional(l.string()), 136 + }), 137 + ) 138 + 139 + export { adsrNode } 140 + 141 + type FilterNode = { 142 + $type?: 'app.beatproto.instrument#filterNode' 143 + id: string 144 + mode?: 'lowpass' | 'highpass' | 'bandpass' | l.UnknownString 145 + } 146 + 147 + export type { FilterNode } 148 + 149 + const filterNode = l.typedObject<FilterNode>( 150 + $nsid, 151 + 'filterNode', 152 + l.object({ 153 + id: l.string(), 154 + mode: l.optional( 155 + l.string<{ knownValues: ['lowpass', 'highpass', 'bandpass'] }>(), 156 + ), 157 + }), 158 + ) 159 + 160 + export { filterNode } 161 + 162 + type AmplifierNode = { 163 + $type?: 'app.beatproto.instrument#amplifierNode' 164 + id: string 165 + 166 + /** 167 + * Floating point number 168 + */ 169 + gain?: string 170 + } 171 + 172 + export type { AmplifierNode } 173 + 174 + const amplifierNode = l.typedObject<AmplifierNode>( 175 + $nsid, 176 + 'amplifierNode', 177 + l.object({ id: l.string(), gain: l.optional(l.string()) }), 178 + ) 179 + 180 + export { amplifierNode } 181 + 182 + type Edge = { 183 + $type?: 'app.beatproto.instrument#edge' 184 + from: NodeOutlet 185 + to: NodeOutlet 186 + } 187 + 188 + export type { Edge } 189 + 190 + const edge = l.typedObject<Edge>( 191 + $nsid, 192 + 'edge', 193 + l.object({ 194 + from: l.ref<NodeOutlet>((() => nodeOutlet) as any), 195 + to: l.ref<NodeOutlet>((() => nodeOutlet) as any), 196 + }), 197 + ) 198 + 199 + export { edge } 200 + 201 + type NodeOutlet = { 202 + $type?: 'app.beatproto.instrument#nodeOutlet' 203 + nodeId: string 204 + param?: string 205 + } 206 + 207 + export type { NodeOutlet } 208 + 209 + const nodeOutlet = l.typedObject<NodeOutlet>( 210 + $nsid, 211 + 'nodeOutlet', 212 + l.object({ nodeId: l.string(), param: l.optional(l.string()) }), 213 + ) 214 + 215 + export { nodeOutlet }
+89 -2
src/lexicons/app/beatproto/instrument.json
··· 15 15 "type": "array", 16 16 "items": { 17 17 "type": "union", 18 - "refs": ["#oscillatorNode"] 18 + "refs": [ 19 + "#oscillatorNode", 20 + "#adsrNode", 21 + "#filterNode", 22 + "#amplifierNode" 23 + ] 19 24 }, 20 25 "description": "Audio and effect nodes" 26 + }, 27 + "edges": { 28 + "type": "array", 29 + "items": { 30 + "type": "ref", 31 + "ref": "#edge" 32 + } 21 33 } 22 34 } 23 35 } ··· 31 43 }, 32 44 "mode": { 33 45 "type": "string", 34 - "enum": ["sawtooth", "sine", "triangle", "square"] 46 + "knownValues": ["sawtooth", "sine", "triangle", "square"] 35 47 }, 36 48 "detune": { 37 49 "type": "string", ··· 40 52 "frequency": { 41 53 "type": "string", 42 54 "description": "Floating point number" 55 + } 56 + } 57 + }, 58 + "adsrNode": { 59 + "type": "object", 60 + "required": ["id"], 61 + "properties": { 62 + "id": { "type": "string" }, 63 + "attack": { 64 + "type": "string", 65 + "description": "Floating point number" 66 + }, 67 + "decay": { 68 + "type": "string", 69 + "description": "Floating point number" 70 + }, 71 + "sustain": { 72 + "type": "string", 73 + "description": "Floating point number" 74 + }, 75 + "release": { 76 + "type": "string", 77 + "description": "Floating point number" 78 + } 79 + } 80 + }, 81 + "filterNode": { 82 + "type": "object", 83 + "required": ["id"], 84 + "properties": { 85 + "id": { 86 + "type": "string" 87 + }, 88 + "mode": { 89 + "type": "string", 90 + "knownValues": ["lowpass", "highpass", "bandpass"] 91 + } 92 + } 93 + }, 94 + "amplifierNode": { 95 + "type": "object", 96 + "required": ["id"], 97 + "properties": { 98 + "id": { 99 + "type": "string" 100 + }, 101 + "gain": { 102 + "type": "string", 103 + "description": "Floating point number" 104 + } 105 + } 106 + }, 107 + "edge": { 108 + "type": "object", 109 + "required": ["from", "to"], 110 + "properties": { 111 + "from": { 112 + "type": "ref", 113 + "ref": "#nodeOutlet" 114 + }, 115 + "to": { 116 + "type": "ref", 117 + "ref": "#nodeOutlet" 118 + } 119 + } 120 + }, 121 + "nodeOutlet": { 122 + "type": "object", 123 + "required": ["nodeId"], 124 + "properties": { 125 + "nodeId": { 126 + "type": "string" 127 + }, 128 + "param": { 129 + "type": "string" 43 130 } 44 131 } 45 132 }
+6
src/lexicons/app/beatproto/instrument.ts
··· 1 + /* 2 + * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT. 3 + */ 4 + 5 + export * from './instrument.defs.js' 6 + export * as $defs from './instrument.defs.js'