Skip to content

Alpha Release Task List

Roger B. Dannenberg edited this page Nov 5, 2020 · 81 revisions

The following are what we decided are necessary for an initial release:

Key:

  • 🔴 - a problem - critical for release. Needs work. Feel free to add additional problems.
  • 👿 - a problem - not critical for release. Feel free to add additional problems.
  • ❓ - use this when a problem (🔴) has been fixed. A indication that RBD should test.
  • 👍 - Roger agrees this problem is fixed (icon reserved for RBD).
  • ⏳ - module waiting for general fixes before further testing (but feel free to test now and report module-specific problems)
  • 💚 - marks preferred option or solution.
  • Feel free to add your own markers/tags. Here's a list.

Screen Layout

  • Owner: Amit
  • Requirements:
    • Working Icons only

    • 🔴 [This issue will probably be resolved when patches are saved and restored. The interface seems to do all the right things by saving your patch and allowing login or registration, but it looks like patches are not restored.] If you create a project without logging in, then log in, your project is deleted. That's just rude. Either

      • disable project creation unless you are logged in, OR
      • 💚 preserve project while unlogged-in user registers or logs in, then allow the project to be saved
    • 🔴(❓ - this doesn't seem to have changed at all and current behavior matches this report -RBD) Project is deleted if you move off the project edit page. That's rude. Require confirmation to exit the page if project has been modified. Current warning says "Leaving project editor..." -- of course I am, but so what?, then "Please don't forget to save" but options are OK (default, as in OK, I won't forget to save it, I assume you'll give me that opportunity) and Cancel (cancel what?). CHANGE TO:

      1. "WARNING: if you continue without saving your project, you will lose current changes." and the buttons should say "Go back and save." (Default) and "Continue anyway".
      2. Even better, the buttons could say "Save project" (Default), "Continue without saving", and "Go back", where "Save project" would "Go back" and "Project:Save" in one step.
      3. Option 3 is to use more conventional but clear options "Stay on Page" (Default) and "Leave Page", with matching words in the warning: "WARNING: if you leave this page without saving your project, you will lose current changes."
    • 👍 Projects page has "Export" button. Should we have an "Import" button? [in dropdown menu]

    • Project Editor GUI details (for floating mode):

      • 🔴 If we cannot fix floating mode, we don't need two modes for Alpha release, but one has to be good.
      • 🔴 Floating view has only a tiny drag icon you have to use. (And the drag behavior is different in the two views: column view has the open hand icon where you can drag and anything that's not a control serves as a point you can drag; floating view must drag by the little arrows in the corner, and when you hover there you see an index finger icon instead of a hand icon.)
      • 🔴 Floating view editing region has strange behavior and a visible border. Maximum width should expand to width allowed by window. Region has big right margin (try dragging something to the far right.) Nested scroll bars are strange.
    • Project Editor GUI details (for column mode):

      • 🔴 If we cannot fix column mode, we don't need two modes for Alpha release, but one has to be good.

      • ❓ The top of columns could be aligned with the top of the window and the top of the module palette -- why the space at top? Here's my suggestion:

      • 👍 cannot expand vertically by much -- really unusable if you want a larger window

      • 👍 why do we have any panel at all instead of just using the main window where the icons are?

      • 👍 why can't this window be the entire browser window (except for the menu bar?) Can we make the window resize when you drag a module beyond the border? If not, let's just have a fixed sized window for Alpha, or one step better would be put a drag-able handle on the bottom of the window that you could use to make the edit area taller.

      • 👍 Column view has large margins between modules.

      • 👍 Column view: columns disappear if you make the window narrower with no scroll bar to find them.

      • 👍 Icons at the top left (currently not at the top).

      • 👍 Tooltips float off screen -- especially bad for icons on the left edge of screen.

      • 👍 Many icons are for modules that are not implemented. Need to remove non-functional icons. See Alpha Release Modules for list of modules: https://github.com/rbdannenberg/soundcool/wiki/Modules-Status-Table

      • 👍 "About Us" needs work. Every name has "description" below it. Not sure what our roles should be, but let's fix it.

      • 👍 GranSynth module minimize, close and out buttons are in the wrong places.

      • 👍 SignalGen module minimize causes a crash: Create Signalgen. Create Player. Create Speaker. Minimize Signalgen. Minimize Speaker. Delete Speaker. Click Signalgen minimize button. This should maximize the Signalgen, but instead, the project editor crashes.

      • 👍 Project Menu: Change "Floating view: On" to "Column View"; change "Floating View: Off" to "Floating View" (OK, thanks for implementing what I asked for, but it still seems wrong. I think we need something like "[ ] Column View" with a clear checkbox that is checked when in column view. If checkbox is hard to implement, just replace "Floating View" with "□Column View" and replace "Column View" with "✔Column View" (Maybe you can find better characters -- I was looking for just an empty box and a matching box with an X or check.) If checkbox is hard to implement, just replace "Floating View" with "□Column View" and replace "Column View" with "✔Column View" (Maybe you can find better characters -- I was looking for just an empty box and a matching box with an X or check.) [consider X and ✔ to be equivalent -- right now you can switch from X to ✔ but that's very confusing and non-standard]

      • 👍 Why is Soundcool icon not on the far left?

      • 👍 When I put speaker at the top of column, gransynth below it, and connect gransynth to speaker, they swapped places(!)

      • 👍 I got two tooltips for the same icon to appear at the same time in different font sizes. Might be related to changing from column mode to floating view and back.

    • Project Menu Requirements:

    • Projects tab should open a drop-down menu:

      • 👍 New -- creates an empty editor window
      • 👍 Open -- opens what is currently called "ProjectMenu," a list of projects with Actions choices of Edit, Share, Copy, and Delete
      • 👍 Save -- saves the current project from the editor. If user is not editing a saved project, the user is prompted for a name and description.
      • ❓ Save As... -- prompts for a name and description (default to current name with " copy 1", " copy 2", etc. appended) and then saves under the new name.
      • 👍 Export -- allows user to download a .json representation of the project. This can be imported using the Import menu item.
      • ❓ Import -- prompts to upload a .json file representation of a project and adds it to the list of projects. (Or else, remove for Alpha release) This seems to be already implemented in the 'sharing' dropdown menu.
      • 👍 Use Floating View/Use Column View -- changes the view mode to/from floating or columns. (works, but confusing labels)
      • 👿 It would be nice to have recent projects appear in the drop-down menu to allow a single selection to open a recently edited project.
    • 👿 Export patch: Instead of tabs, use 2 spaces in JSON

    • 🔴 Project:New -- if you connect SignalGen to Speaker, make a sound, and select Project:New, the sound does not stop.

OSC documentation

  • Owner: Amit, Roger
  • 🔴 OSC does not seem to work now. See also Issue #84 for additional work.

Modules in general

  • Owner: Kristin + Amit
  • Requirement:
    • 👍 patching should work -- Try hooking up a player to Mixer input and then disconnecting it.
    • 🔴 patching should be saved and should restore
      • See Jorge's email 6:21AM ET Oct 5 for more things to test.
    • 👍 delete buttons should all work - make a new project. Create one of every module. Delete the modules one-by-one. Project will crash. (What did the Dalai Lama say to the hot dog vendor? "Make me one with everything." 😁)

Delay

  • ⏳ (not able to completely test yet)

Direct Input

  • ⏳ (not able to completely test yet)

Pan

  • ⏳ (not able to completely test yet)

Sample Player

  • ⏳ (not able to completely test yet)

Oscilloscope

  • ⏳ (not able to completely test yet)

Spectroscope

  • ⏳ (not able to completely test yet)

Signalgen

  • ⏳ (not able to completely test yet)

Transposer

  • ⏳ (not able to completely test yet)
  • I think there are some poppings (when tried with audio), but not sure if it's expected since there are grains we are operating on.

Player

  • ⏳ (not able to completely test yet)
  • Owner: Kristin
  • ❓ x0.01, x1, x2 buttons need outline to show they are buttons. - We have plenty of room to show text, so let's show x0.01 instead of x0 to be correct.
  • 👍 No meter display.

Mixer

  • ⏳ (not able to completely test yet),
  • 👍 Patching seems to be broken.
  • Owner: Kristin
  • 🔴 No meters on inputs.

Speaker

  • 👍 (not able to completely test yet), Patching seems to be broken.
  • Owner: Roger
  • Status: Good.
  • Audio Configuration: nothing required for Alpha, Ankit looking into what's possible within Web Audio. UPDATE: not much is possible. Probably we want to fix sample rate to 44100. Devices cannot be selected. One thing we could control is suggested latency. The semantics are implementation-dependent, so let's wait and see if we have any high-latency problems or low-latency glitches before trying to "fix" it with user control.

Runs on local server

  • Owner: none
  • ⏳ Status: This is complete when everything else is complete. It's mentioned here just to remind everyone that we are not implementing a cloud service (yet).

Installer

  • Owner: Amit & Roger
  • 👍 Status: Done (Need final test when we have something ready to ship)
  • Requirements:
    • package that installs monolithic binary to run Soundcool server on local host
    • scripts and documentation for Roger to check out and document
      1. verify_requirments_linux.sh: It will check if the system is missing any requirements
      2. setup.sh: It covers the complete setup of soundcool project(e.g. mysql,.env, node_modules, etc.)
      3. launch.sh: It launches the soundcool application

Note: Make sure that the system meets the requirements before running setup.sh Everyone, please use the script and report the errors or improvements it can have. Also, Let me know if you think that we need a script for other functionalities. IMO a script to automatically clean and update the database is necessary.

Local storage for sounds and projects

  • Owner: Roger
  • 👍 Status: Roger wants to test and review documentation. Maybe we're done.

Clone this wiki locally