-
Notifications
You must be signed in to change notification settings - Fork 1
/
issues
152 lines (140 loc) · 5.33 KB
/
issues
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
/ How this issue tracking file works:
- most recent entries are added on top
- entries can be broken down, which is expressed by indentation
- prepending the following prefixes has the following meaning:
- "D[(<comment>)]: " = done
- "WIP[(<name>)]: " = work started by <name> at <date>
*/
- Backlog
- copy local session to global session on publish cid available
- V5
- D: remove cid from recent session buttons, make date larger
- D: create blob when importing from file => so that publishing is possible
- D: fix bug, that sometimes recording/playback stop unexpectedly (escape during loop record)
- D: hide keyboard shortcuts on mobile
- V4
- D: ipfs interface interface
- D: pinata integration
- D: await browser node (especially for "load session" - causes error there)
- D: public node: support https
- D: Three possible ipfs nodes
- D: public node (via ipfs-http-client)
- D: configurable node (via ipfs-http-client)
- hint to configure cors headers
- should allow <a-jam-ipns>.*
- D: browser node
- D: Use all 3 options if configured for pinning
- D: Use for requesting: configurable node > public node > browser node
- D: Allow switch for browser node > public node
- D: store setting in local storage
- D: Set up a free ipfs node that a-jam connects to
- once a-jam get's bigger, prevent abuse
- use nginx in front of ipfs & authenticate requests
- D: have a job, that notes down all pins and removes all pins that are older than y
- D: Dark mode (or simply dark style over all - no choice)
- V3
- Architectural
- D(decided against): Vuex
- D: Vue Router (to enable browser back and forth buttons, bookmarks...)
- D: Segregate track data and audio nodes
- D: use "defineComponent" instead of classes
- Features
- D: Export master audio
- D: Loop playback
- D: generate a new recording in every loop, choose the best loop afterwards!
- Convenient Merge Tools
- on page trackinfo, click "merge session"
- Show recent sessions
- click one => Merge
- Track names if <> => "old << new"
- Session name "old << new"
- import track from another session => button under the tracks
- shows recent session
- click one => shows tracks from this other session
- click one => loads this track into the current session
- D: import audio
- by cid
- from file
- D: Mute, Solo tracks
- Select playback time
- Create start flags
- Track Settings
- D(in V2): Offset
- Filter
- Reverb
- Delay
- ...
- Improve Loading times and availability
- Pinning Service(s) integration
- Configure pinning service in settings
- Promt for pinning service on publish
- IPFS
- try to connect to a local node before spawning a js-ipfs node https://github.com/ipfs/js-ipfs/tree/master/packages/ipfs-http-client#getting-started
- pin a foreign project on local ipfs node on load
- enable automatic in settings (default: auto)
- manually in session settings
- Ask ipfs community for help with connecting to session origin
- Post list of connection failures
- Jam session config object versions and migrations
- D: Sharing links only one line high (it's enough), maybe make them wider? 100% - 2em? left: 1em
- Do some manual work and hardcode some offsets for different browsers
- chrome, chromium, brave
- firefox
- safari
- mobile
- chrome, brave
- firefox
- safari
- try to cover 90% of all used browsers
- this make wide adoption possible, it's a major hurdle
- D: enhance "tracks"-layout and timebar etc. by using a wrapper div and abs posistioning
- wrapper
- scrolling content
- abs positioned stuff
- Playback delay:
- add the 5 ms on playback, not on the track (possible: delay and offset are both set)
- => this will make sure the track offset equals the default track offset (instead now: track offset = default + 5)
- D: Choose recording device in the settings and/or on first recording: mediaDevices.enumerateDevices
- D: Hotfixes
- D: implement a "save-input" button, that
- fixes body width on focus
- releases the fix on blur
- so that on mobile bringin up the keyboar would not affect the layout
- alternative: fix width on menu entry
- D: ajam => a-jam title
- D: pre release
- D(removed reconstruction from end time + introduced default rec offset): Reduce latency (firefox e.g.)
- D: make default recording offset configurable
- D: enable remove track
- D: documentation improvement
- add ipfs explanation and link to ipfs.io to readme
- D(not possible, need help from ipfs expert): ipfs enhancements
- add /p2p of publishing node to publishing link and connect to it for loading
- connect /p2p address of davids raspberry => hardcode it
- D: V2
- D: recent projects
- D: track adjustments:
- should work immedeately
- volume
- panning
- D: play time & total time at the bottom
- D: initial project maxduration = 10s => make it clear, what happens when recording
- D: show recording placeholder while recording
- thinner, without label, red
- D: stop all audio sources on session leave
- D: pre release:
- remove small margin that causes scrolling in session view
- add pics to the issue
- release
- send to Radu
- D: V1
- programming:
- edit track names
- show share links: "click to copy":
- cid
- ipfs-link
- gateway
- load from ipfs
- publishing
- upload on ipfs
- name it