simonthormeyer / terry Goto Github PK
View Code? Open in Web Editor NEWMusic creation playground. See demo at https://terry.beuth-media.de/. Start with the interactive tutorial!
Home Page: https://terry.beuth-media.de/
Music creation playground. See demo at https://terry.beuth-media.de/. Start with the interactive tutorial!
Home Page: https://terry.beuth-media.de/
Als BenutzerIn möchte ich meine Projekte in einer Datenbank speichern, sowie in zuvor erstellten Projekten stöbern.
Beschreibung
Das Projekt soll mit einem User-Kürzel sowie einem Projektnamen in die Datenbank abgespeichert werden.
Man soll schon vorhanden Projekten sehen und in ihnen mit Filtern Suchen können.
Filter: user_ID, project_name, user_ID && project_name
Voraussetzungen / blocked by
Akzeptanzkriterien
Tasks
Story Points
/estimate 13
As a user I want to be able to loop the melodies and settings that I put in, so that I can hear my input repeated as a loop and so that I can save my input and therefor stack layers of inputs over one another.
Description:
Acceptance criteria:
Als BenutzerIn möchte auf eine Eingabeflaeche klicken koennen, damit ein Ton erzeugt wird.
Beschreibung
Eine klickbare Fläche soll es dem/der BenutzerIn ermöglichen, durch Klicken Töne zu erzeugen, die je nach Position eine andere Frequenz haben.
Dazu sollen erstmal Sinus-Töne einer bestimmten Frequenz ausgegeben werden und dann (wenn möglich) mithilfe von Tone.js Klaviertöne.
Akzeptanzkriterien
Tasks
Story Points
/estimate 13
Als Entwickler wollen wir Docker-Container verwenden, damit wir Betriebssystem-unabhängig und ohne manuelles Installieren von Packages programmieren und arbeiten können.
description of the story
Wir wollen Docker-Container benutzen, damit wir unabhängig von Betriebssystemen programmieren können und nicht die zu verwendenden Packages manuell installieren müssen.
blocked by
acceptance criteria
tickets or tasks
story points
13
Als Entwickler möchte ich ein Entwurf fuer den Looper haben um eine Uebersicht ueber Schnittstellen und speicherbaren Parametern erhalten.
Beschreibung
Ein Diagramm was die einzelnen komponenten beschreibt und nachvollziehbar
Akzeptanzkriterien
Tasks
Story Points
/estimate 13
Wir als Entwicklerteam möchten die Abgabe der Aufgabe 1 abgeben, sodass die Dozenten einen Einblick in unsere Arbeit und unsere Ideen bekommen.
Beschreibung:
Die Aufgabe 1 muss schriftlich abgegeben werden und bei Moodle hochgeladen werden.
Außerdem findet am Donnerstag um 14:30 Uhr ein Abnahmegespräch mit den Dozenten statt.
Akzeptanzkriterien:
Als EntwicklerIn möchte ich im Frontend eine klare, komponentenbasierte Struktur haben, damit ich beim Programmieren den Überblick behalten kann.
description of the story
Zu Beginn der Programmierung müssen wir die Vorraussetzungen, Ordnerstrukturen und erforderlichen Tools anlegen und vorbereiten.
blocked by
acceptance criteria
tickets or tasks
yarn create-react-app
?)story points
/estimate 13
As a User, I want to see the loops on the screen, to interact with them.
description of the story
when I loop my sound I want to see the result on the screen. every loop should show as a new Element. The loops can be muted and stopped.
https://codepen.io/jeremenichelli/pen/gGWPme
https://css-tricks.com/building-progress-ring-quickly/
blocked by
acceptance criteria
looper.stop()
tickets or tasks
create a new component for the visiuall loops
recognise every loop creation
make the loop look like the prototype
implement looper pause and mute functions
story points
13 (1 Week)
Als Entwickler möchte ich die Eingabe auf ein Isomorphes model mappen, um ein nicht lineare Eingabe zu erhalten.
description of the story
Die Eingabe aus dem View bzw. React wird auf isomorphes Modell gemappt und ein Notennname ausgegeben.
blocked by
#1
acceptance criteria
Tickets or Tasks
Story Points
Als Benutzer möchte ich Harmonie-Parameter verändern können, um die verwendeten Töne und die Stimmung einstellen zu können.
is blocked by: #1
Beschreibung:
Ein Punkt auf der Eingabefläche kann verschoben werden, um die Tonauswahl und damit die Stimmung der ausgegebenen Musik einstellen zu können.
Akzeptanzkriterien:
Geschätzter Aufwand:
Story-Points: 13
Erstellung von Container-, Komponenten- und Modulstruktur.
Zugehoerige Storys:
Akzeptanzkriterien:
As an User, i want to export my project as a wave or mp3 file, to save my project on my computer.
description of the story
It should render my hole Project into a file.
blocked by
acceptance criteria
tickets or tasks
story points
when the menu is pressed the canvas reacts to it but shouldn't
fixes bug from ticket #16
Arbeitsschritte
klickbare menuleiste mit icons erstellen
Beschreibung:
klickbare menuleiste mit icons erstellen und den Click weiterleiten an tone.js, damit dort die Musiklogik passiert
To Do:
Zugehoerige Storys:
#28
part of: #18
oben links: x, y: 0, 0
unten rechts: x, y: 1, 1
duplicate of #74
Als Benutzer will ich die Loops muten und löschen können, um mit der Überlagerung von musikalischen Layern experimentieren zu können
Beschreibung:
Ein Looper soll gemutet und wieder end-mutet sowie gelöscht werden können.
Akzeptanzkriterien:
Part of
#9
Als Benutzer will ich das der Systemzustand visuell abgebildet ist, damit ich visuelles wie Feedback für meine Eingaben bekomme.
description of the story
Beim Klicken auf das Canvas soll es sowohl ein Audio-Feedback, also die Ausgabe eines Klavier-Tones in einer durch die Klickposition bestimmten Frequenz, als auch ein visuelles Feedback, durch einen auf dem Canvas erscheinenden Punkt, geben.
blocked by: #1
acceptance criteria
tickets or tasks
story points
1 Woche
As a teacher I want to have a final delivery, so that I can evaluate the final product.
Description
Due to the complexity of this very user story, it might be useful to mark it as an epic. The final delivery shall be provided via moodle and consists of the following:
Acceptance Criteria
Story Points
/estimate 26
As a Developer, I want create my own synth engine to tailor the sound to my specific needs
description of the story
To enable a bigger variety in sound and unique sound profile to our product we would like to implement our own synth engine, based on Harmonic Synthesis.
acceptance criteria
tickets or tasks
Frontend Struktur wird verschriftlicht und/oder verbildlicht und in ein WIki eingefügt.
Termin-Planung in WIKI einbinden!
Beschreibung:
Wir wollen Docker-Container benutzen, damit wir unabhängig von Betriebssystemen programmieren können und nicht die zu verwendenden Packages manuell installieren müssen.
Akzeptanzkriterien:
Zugehoerige Storys:
#2
Docker-Compose fuer Frontend und Backend erstellen
Arbeitsschritte:
Ist Teil der User Story #10
As a developer i want a storeable state of my project, so that i have an overview of the Data and Logic of the App.
description of the story:
Due to keep an overview of the data and settings that we create and edit, we need rational and efficient logic.
In addition, users should be able to save their settings and inputs in a future version.
In preparation, we always need an efficiently storable state of the entries made with our app.
acceptance criteria
tasks
story points:
13
Abgabe des Prototypen
Beschreibung:
Akzeptanzkriterien:
Einigung auf ein Layout des Prototyps
prototype as mock-up e.g:
sketches / clickable prototype
first design / rough architecture
technical preconditions
Zugehoerige Storys:
#3
Kommentierterter Prototype
https://drive.google.com/file/d/1gm64TbXG5aPSyDNHDO_jUL-H9dWNx2wp/view?usp=sharing
Unkommentierter Prototype
https://drive.google.com/file/d/1oO8idFTPRXZNc1QxvRWskopoi5zPI_lV/view?usp=sharing
Konzept für das Mappen der Frequenzen für verschiedene Modi auf das Canvas erstellen.
Beschreibung:
Verschiedene Modelle für unterschiedliche Tonleitet-Typen und Bildschirmgrößen
Akzeptanzkriterien:
Zugehoerige Storys:
#1
Eine REST-Api Schnittstelle mit Flask-Framework programmiert.
ist Teil der User-Story #40
Arbeitsschritte
Beschreibung des Tickets
ist Teil der User-Story #7
Arbeitsschritte
As a developer, I want to see looper-component to interact with the canvas, so that I can capture events.
duplicate of #9
description of the story
The Looper can take events and/or collect the triggerd Events.
blocked by
acceptance criteria
tickets or tasks
story points
Als Benutzer möchte ich ein Menü mit Buttons für die Interaktion in der WebApp haben, weil ich play, record, loop und random musik spielen möchte.
description of the story
blocked by
acceptance criteria
Tickets or Tasks
klickbare Menuleiste mit Icons anlegen #27
Story Points
1 Woche
clicking sound. This is because a rerender is triggered every time the state of App component changes (which includes the click coordinates). Every time a new MusicCtrl Object is created, which causes the artifacts when done often in a short period of time.
This also occurs when Components render while a sound is played. So unnecessary renders should be avoided whenever possible
Beschreibung des Tickets
Wenn ich auf dem Canvas clicke soll ein punkt erscheinen
ist Teil der User-Story #6
Arbeitsschritte
Beschreibung:
Die vom Canvas erhaltenen relativen Koordinaten in Noten-Namen umwandeln.
ist Teil der User-Story #18
Akzeptenzkriterien:
Als Benutzer will ich ein Soundbett ein- und ausschlaten können, um bestimmen zu können, ob ich einen musikalischen Hintergrund haben möchte oder nicht.
description of the story
Als musikalische Grundlage und Bass-Layer soll es eine Drone, ein Soundbett geben, was den Grundton der Musik vorgibt.
Diese Drone soll ein- und ausschaltbar sein.
blocked by
acceptance criteria
tickets or tasks
Soundbett mit Button verbinden #46
story points
As a user, I want to use dots to change the parameters of the sound because it gives me creative freedom.
Description of the story
On the canvas there are dots that can be moved around.
blocked by
acceptance criteria
tickets or tasks
story points
20
Die Komponente des Loopers wird als Klasse implementiert.
ist Teil der User-Story #50
Arbeitsschritte
https://docs.google.com/document/d/1t5F3iXlOfkLrJ-d09OTA2bPz7eDFXjoogB9E4JbV9X4/edit?usp=sharing
Clean up messy code in App.js by making state and some functions available globally from an extra file
ist Teil der User-Story #2
Arbeitsschritte
As a teacher I want to have a prototype delivery, so that I get an impression of the final product.
Description
The prototype delivery shall consists of various artifacts - provisioning via link is preferred. One idea could be to have one document in a git repository. This document acts as a single source of truth and provides the locations to all the other artifacts.
Acceptance Criteria
Story Points
/estimate 13
Due date
Sonntag, 17. Mai 2020, 23:59
Assignment on moodle
Das Abgebedokument beinhaltet alle fuer die Abgabe notwendigen Dokumente und inhalte.
Beschreibung:
Das bereits für Aufgabe 1 verwendete Dokument (https://docs.google.com/document/d/1rFpuK0hUWbMjHuNeOqzXvZoD6TFPlypB6jHsowrnEGQ/edit?usp=sharing) updaten und für die Abgabe des Prototypen herrichten:
Akzeptanzkriterien:
Zugehoerige Storys:
#3
der "Punkt" soll wie ein schoenes aufblinken aussehen
ist Teil der User-Story #6
Arbeitsschritte
Beschreibung des Ticket
I would like the click to look different depending on the sound to recognize visually what is changing.
Arbeitsschritte
Vorschlag, wie es funktionieren könnte ist auf diesem Branch:
- Klick -
Erklärung: CanvasClick übergibt sich selbst an einen Looper, sobald dieser erstellt wird. Der Looper nutzt dann die Funktion mit dem Parameter 'playback = true', um einen Klick an dieser Stelle zu simulieren.
ein Canvas das klickbar ist auf dem Bildschirm.
Beschreibung:
Akzeptanzkriterien:
Zugehoerige Storys:
#1
Docker-Files für das Frontend erstellen
Part of User Story #10
Beschreibung des Tickets
ist Teil der User-Story #7
Arbeitsschritte
Description of the Ticket:
there are 3 dots on the canvas that can move
Is part of story #69
ToDo's:
As an User, I want to have an overlay or a dialog for saving and downloading my project.
overlapping with #4
description of the story
The app contains an option that shows the ways to persistent the project.
The buttons are clickable and they are in the same style like the other app-elements.
blocked by
acceptance criteria
tickets or tasks
story points
Als EntwicklerIn will ich eine Verbindung vom Frontend zum Backend über eine Rest-Schnittstelle haben, um Musikprojekte in einer Datenbank speichern zu können.
description of the story
Eine grundlegende Restschnittstelle besteht und koennte theoretisch angesprochen werden.
blocked by
acceptance criteria
Tickets or Tasks
Story Points
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.