WeTracker is a project to create an online, collaborative music creation suite.
npm install
npm run start
Visit the website for more up to date information and semi-regular blog posts, and documentation.
A collaborative web based music creation tool based on the Tracker heritage.
Home Page: http://pgregory.github.io/wetracker/
License: MIT License
WeTracker is a project to create an online, collaborative music creation suite.
npm install
npm run start
Visit the website for more up to date information and semi-regular blog posts, and documentation.
Need to find a way to flush the sound buffers when stopping playback and starting a new, or replaying the current song from the start.
When playing instruments with the virtual keyboard, the instrument's volume and panning envelopes should be operated.
When loading a song with 16 bit samples, the waveform in the instrument editor looks completely wrong, and the sound when played is wrong.
Implement the basic sequence view component.
the master volume control... is it linear or log? it should be log (as in, gain = Math.exp(k*(max - position)) )
Reported by @a1k0n
Currently whenever a key is released, the playing note is stopped, even if another note has been triggered since, making it difficult to play notes effectively.
When a song uses effects to fade the volume down at the end, it is not properly reset when it restarts.
http://modland.com/pub/modules/Fasttracker%202/Agent%20Outbush/mind%20opener.xm
removing tracks from sequence when playing leaves instruments playing (maybe related to #12)
Songs with 9xx commands don't work, the effect is ignored.
If you hit the rewind butting while playing, without pausing first, it resets the song, but the pattern editor view no longer keeps tracking.
Allow the user to draw directly in the sample waveform, for creating synthetic sounds like chiptune sounds.
Requested by @a1k0n
When loading a song from .xm format that has an empty name, try to use the filename as the default name.
If an event has an arpeggio effect with an offset of 'C', i.e. 0C0, and the initial note is C-7 or higher, the player excepts as it's trying to find a sample in the map that is out of range as C-7 is 84, and 84+12 = 96, while the sample map table is only 96 entries.
http://modland.com/pub/modules/Fasttracker%202/Algar/the%20joess%20(remedy%202003%20edit).xm
Really short samples (like in any chiptune, esp. anything by zalza) are kinda hard to see -- it seems to be filling the last sample all the way to the end, but it would be nice if it "zoomed in" on the sample length.. although it must already be doing some sort of zooming. I don't know.
Reported by @a1k0n
If you load a song while another one is playing, it plays immediately and the play controls aren't really responsive. in fact there's no real "stop" button i guess. even creating a new song doesn't stop the background playing one you load another one.
Reported by @a1k0n
Note: workaround is to pause playback, hit rewind, then play again, the UI resets itself then.
When playing back a song, if the current tab loses focus, either as a tab or as a window, the timers lose priority and the playback stutters, becoming useless.
When a song is played that has multiple 0xD effects on a single row, they get sequentially executed, when the first should really break the play and jump to the next pattern at the indicated row.
Illustrated by song http://modland.com/pub/modules/Fasttracker%202/Dreammaster/the%20x-files.xm
When holding a key for the virtual keyboard, something goes awry in the system, Chrome gets stuck in a mode where it is drawing CPU constantly, even thought the key is released. There doesn't seem to be anything in the WeTracker code causing this, as the VKB is only triggering a note on the key down, and then forcing no repeat, so I'm presuming it's something in the KeyboardJS code that is getting caught up.
The pattern editor timeline only renders up to 99 lines, patterns regularly have 128 or more.
Support the concept of user login.
Currently, when paused, any looping sounds continue to play. Would be nice if it faded down the volume and then back up when restarting.
When an event has zero in the volume effect channel, the notification message causes an exception. Zero should be ignored according the .xm formal documentation anyway. http://modland.com/pub/documents/format_documentation/FastTracker%202%20v2.04%20(.xm).html
Sample song showing the issue: http://modland.com/pub/modules/Fasttracker%202/-%20unknown/back%20to%20basic.xm
When playing the song linked below, the player excepts with an invalid value for the panning envelope on a certain track/instrument.
http://modland.com/pub/modules/Fasttracker%202/Alienzoul/cosmic%20hysteria.xm
If the player encounters an effect > 36, it tries to print an error, but excepts.
http://modland.com/pub/modules/Fasttracker%202/-%20unknown/crimson.xm
backspace in pattern editor also deletes the "--- -- - --" background
Reported by @a1k0n
When there is a D00 effect in a pattern to break and jump to the next pattern in the sequence, it doesn't seem to load. Only affects Dxx commands with a zero param.
Add additional information to identify the file format version in the serialised JSON song to allow for backwards compatible song versioning as the format evolves.
If you click "New Song" while a song is playing, instruments currently playing continue forever.
Add the ability to enter and edit note fx data.
See screenshots below, first one shows the cursor at the rightmost column of track 1, then a move to the right with the cursor right key hides the cursor, then a further press of the cursor right key and it shows again on the first item of track 2.
Delete to remove item, shift delete to delete entire event.
When the user changes the grid layout in any of the views, record the state in some persistent way and restore when the user returns.
Use an inline text editor to allow the user to edit the name of instruments directly in the instrument list.
Sometimes the monitor for a channel seems to get stuck on the last waveform displayed, maybe when the instrument is disconnected.
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.