blokdust / blokdust Goto Github PK
View Code? Open in Web Editor NEW:musical_keyboard: A free to use web-based music making app. Make sounds, build instruments and share your creations.
Home Page: https://blokdust.com
License: MIT License
:musical_keyboard: A free to use web-based music making app. Make sounds, build instruments and share your creations.
Home Page: https://blokdust.com
License: MIT License
Could use a similar UI to the sequencer interaction block
move to subdomain after release (will become hub for dev updates, wiki, and any additional community stuff if we decide to add that).
make it possible to drag to select multiple blocks
Currently only works properly with Noise and Tone
Anyone can do this one, just wikipedia search effect descriptions & add in blockCreator.ts
I think this is an issue with the Y normalisation - I'd suggest we use the same global units for both positioning and drawing, no units need to be affected by screen height, only screen width.
Add settings such as MaxOperations and the image path for PixelPalette to config.json. This should be a JSON.Stringified Config.ts
Uncaught TypeError: Failed to set the 'value' property on 'AudioParam': The provided float value is non-finite
make it possible to record the positions of blocks over time between right clicks over a span of 10 secs.
Clicking the block itself should only trigger the playback of the recording to be consistent with other sources. Therefore we need an extra button to start/stop recording.
if (this.IsDisposed) return;
OR... check if there's a better way
A mouseup on a slider could create an Update_Param command. Alternatively, we could create an Update_Params command when the dialogue is closed.
We define a global pulseLength which is the small amount of time a note is sustained when triggered via particle or other non-continuous power source
after deleting a block, auto select the next one for deletion
maybe use intersect.js to do line collision checking
Use ChangePropertyOperation.ts
This example shows block position changes
// if the block has moved, create an undoable operation.
if (!Point.isEqual(this.SelectedBlock.Position, this.SelectedBlock.LastPosition)){
var op:IUndoableOperation = new ChangePropertyOperation<IBlock>(this.SelectedBlock, "Position", this.SelectedBlock.LastPosition.Clone(), this.SelectedBlock.Position.Clone());
App.OperationManager.Do(op);
}
When the OperationManager exceeds MaxOperations, call Dispose on the Operation being popped off the start of the array.
The Dispose method is implemented for each Operation as a way of clearing down any in-memory objects. For example, DeleteBlockOperation stores this._Block, which should be deleted from memory.
Uncaught Exception: Library already registered: 'Fayde.Drawing'.
TEST:
make two Tonesource blocks, and one LFO block.
Position the LFO so it's connected to both sources.
Both Sources will be affected by the LFO.
Now move the LFO so that it's only connected to one of the Source blocks.
Neither Source is affected by the LFO despite one being visibly connected.
Click, Power & Interaction should trigger recording playback.
Params options:
Connect a source to a chopper or gain (which use Tone.Signals) and the volume increases.
When loading JSON it can inspect this version number in order to provide backward compatibility for deprecated blocks/schema.
Need to figure out how to set the base url to the .build directory where the compiled js is copied to.
I imagine there is a magical combination of these.
also stage dragging slowly can sometimes cause it to "fly off" on release (tween issue?)
Start media stream when powered.
deleting a microphone should disable it, undeleting should re-enable.
Note: we should try to keep things out of require-config.js (Tone.js is still in there until I figure out another way to set window.Tone = Tone). Instead put things in Fayde.json. This keeps all our libs separate from the main fayde ones (fayde.json is passed to require.js too).
Start us on the path of simple logic with a switch that toggles when powered. When "on" acts the same as a bower block.
switch to last in array? so that it draws last. Not sure what else depends on the ID so don't know if that creates any issues.
Also there's a minor bug where multiple blocks can answer true to isPressed if they're stacked on top of each other, only the top onebecomes dragable though
https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-ispointinpath
use this instead of block's radius.
So the app knows when to display/enable certain elements. Will be useful for preloading (ie we start at scene 0 and only move to scene 1 after all loading & initialisation is complete) and also transitioning from a splash screen to the main view.
Generates a typeError - modifier cannot find the audio properties it needs
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.