Coder Social home page Coder Social logo

nodea's People

Contributors

mienaikoe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

jackson- sixbeeps

nodea's Issues

Looping

Looping a phrase is useful in many ways. Please make this per-loadout.

Pivot Plan

Develop a Pivot Plan for app so I know what to do if it gets big or just fizzles out or anything in-between.

Gitify

Give users ability to fork someone else's music project, and create something with it.
There's a lot of potential for a social aspect here. Investigate some ways to have users pull in their friends, ways for people to make friends or bands.
Also, ways to monetize since this will cost a lot of server and db space.

Fix the Held Note bug

If you hold a key down on the keyboard to play a note and switch tracks while still holding down the key, the note will continue to play even after you release the key.

Undo

Tie Ctrl-Z to an undo function. Have every action define an anonymous function for undoing what it just did, and keep them in an array. Trim it to make sure it doesn't explode the memory.

Drum Machine

Enhance Sampler:
-Give 3 options: preset, url, uploaded libraries (up to ~3mb)
-Make chromatic presets respond to note names
-Give instrument names to possible notes on non-chromatic presets
-Give a confirmation to url
-Give a dropdown and a usage bar for uploaded libraries

Sample/Machine Buildout

Make and add in some good samples and organize them into machines.

Optional: Redesign sampler so it allows use and storage of samples on localstorage. However, make sure ppl know there's a 4mb limit on localstorage, and notify them how much storage they have left. Probably just give them a percentage bar on the Sampler Box.

Select Box

Have the ability to select a range of notes that fall entirely within a rectangle specified by the user via a select box on the note list.

Oscillator

Pan Out Oscillator to be more powerful.
-Allow 3 Oscillators at once and volume ratios for each.
-Include an LFO for frequency

Snap

Allow Snapping to user-defined division on:
-Note Movement
-Recording
Any existing notes that don't align will not be snapped automatically when entering this mode. There will be a different button for that.

Synth Machine

Please provide a machine:

  • It should be able to reset any property on all the oscillator circuits it has
  • It should have preset settings for various synthesizers and a dropdown selector for these presets.

Clean Up Top Keys

These keys should have some way to be be activated by keyboard.

On a side note, I'd rather see symbols instead of Japanese characters. There's so much going on in the screen already, what's there should be meaningful to the average user.

Equalizer

Create Equalizer Effect. Include in an EQ Envelope.

Redesign

  • Ask friends to weigh in
  • Create one-sentence notes about good things and bad things
  • Work with paid designer to come up with a revamp
  • Implement

Status/Info bar

Add bar to display information about selected note section.

Example: I click on a section of note I recorded. This bar displays information such as what the note is, what effects are active on it, how long it plays, etc.

Tabs on Side

-Put numbers tabs on Machine side
-Put letter tabs on Circuit Side
-Remove number tabs between controls and circuit nodes.

Branding Consult

Please discuss and develop comps for branding and socializing nodea. The discussion should include general comps or plans for managing songs, sharing songs, artist profiles, and any other pages that may seem important. If a 3rd party system is better suited for these tasks, then discuss how we might interface with this 3rd party seamlessly.

Deployment

Determine if gh-pages is enough, or if having a node server would be nice. Also look into businesses that offer this, and pricing/reliability of each.

Optimization

Optimize Code to take up less memory and processing power.

Note Lifetime

User should be able to choose whether note is played in full or only until finger is lifted. The recorded note will be as long as the played-in-full sample, instead of just the duration of keydown. This should be on a per-key basis.

Live Music

  • Make Jam Rooms.
  • Add a recording Machine.
  • Isolate user to one machine
  • allow up to 10 machines/users
  • Use Peering to create a small mesh for a song
  • Disable Editing during record.
  • Private/Public Room.
  • Facebook/Tweet when person creates or enters room.
  • Determine whether the latency is acceptable. Determine how to block people with certain latency, and optimize a person's search results for low latency amongst mesh members.

Reverb Chaining Bug

When adding Reverb as a non-first effect in the chain, getting weird effects that change the way the entire machine sounds.

Clear Loadout Button

Add a button to clear a loadout's notes
Add another button to clear a loadout's circuits.

Minification

Add in some sort of js minification scheme into the codebase. Preferably at code deploy time, to avoid adding minned js into the codebase.

UX/Design Consult

Please discuss and develop comps for a minor redesign of nodea. The redesign should build off of the current prototype, and should be able to be quickly implemented by a frontend developer. In the comps, please Include specifics on interaction behaviors, including visual aids if necessary. Any changes in this iteration should involve minimal javascript and html changes. If it's not obvious whether this will be the case, include the change anyway, and make a note of each one so I can review them.

Also, please discuss components you would rather completely redesign if given the time. Talk about why they don't work well as they are, and how you would either change them, remove them, or replace them with something else. A second design may be needed if there's significant backing and a good plan for the first run of the project.

Before starting, please give a time estimate and a few milestones you'd like to set on the project. And we should agree on price before starting too.

Bar count not static

If I create a song of 20 bars, then reduce my bar count to 10, the visual lines are removed, but the music remains on the screen.

Also, if I let "play" go beyond the bar count I have selected, it creates new empty bars instead of looping around or stopping.

Compression

Create Compressor Effect. Should also tie in side-chaining from other circuits.

More Instrument Samples

Please provide a machine:

  • It should be able to set any property of the Samplers inside it
  • It should have presets for various instruments or kits and a dropdown selector for this.

Delay

Make an Effect with a DelayNode. Allow Up To 3 Separate Delay Lines, each with their own Pan and Gain.

Cut - Copy - Paste

Add the ability to Cut and Copy a selection of notes, and paste them elsewhere.

Panning

Have ability to Adjust Pan and Volume on a Noda.

Loadouts

Tie number keys to different loadouts and make their visual design like tabs that span the entire width of the keybox. To make loadout switches seamless, all circuits and notes for each loadout should be loaded beforehand, with the loadout switch simply doing these tasks:

  1. Tying keydown to a different set of nodas.
  2. Setting loadout's notelist to Display:block, while hiding the other loadout's notelist.
  3. Stopping playback on old loadout and starting playback of new loadout. Do this on next downbeat after selecting loadout. User should be notified that their loadout-change request has been heard, and the ui is just waiting for the downbeat. This should be done automatically when old loadout reaches end. If this last one ends up being too difficult to time right, I could save for followup release.

Easiest way to do all of this is to make a new Loadout class. It will dismantle a large bit of the code in studio.js

Also, make some default ones. You can lay them out in a scale like fashion too:
c, d, e-, e. f | g, a-, a, b, c

Copy/paste

CTRL-C only works for one note even if multiple are selected.

CTRL-V sometimes spawns the new copy offscreen.

Refine time display area

Ability to move around without actually playing notes? Such as being able to drag around the music.

Numbers of a sort, so I know how far I am from the start.

Youtube Snippets

Allow someone to import a youtube snippet by posting embed code, having a backend service parse out the bytearray for this snippet, and saving it to a blobstore.
Potential issues with IP....

Demo Song #1

Ask friends to make demo songs with it
Make your own demo song
Feature demo songs somewhere

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.