- Make script (probably Python) to extract saved annotations from database to json
- Make script (probably Python) to import saved annotations from json into database
- Add HTTPS
- Fix error raised when submitting login:
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
- Get own server working
- Upload to GitLab
- Add instructions to README
- Add users (make it so you need auth to view files, only give us accounts)
- Add support for multiple files
-
When undo implemented and dirty functionality re-added, merge into main
-
Probably need to update database to save properties from non-pipeline groups instead of only group name
-
Undo functionality
- Dirty functionality (warning user when they have unsaved changes and they try to close page) - just set dirty to true whenever an undo or redo is added and false whenever user saves
- When something undone, remove " - Saved" from header
- When undo array is empty, add " - Saved" to header
-
Add more things to settings to configure sizes of different things
- Make user settings save to database (user's global settings, per-file settings), with global settings used for files without saved settings
-
Right now, Segment.copy() hard sets the copied Segment's properties. Somehow make specifiable?
-
Make save annotations save renamable property in database
-
When playing group, show segment currently playing
-
Combinable segments? (take the startTime of first one, endTime of second one, and make into one combined segment)
-
Undo and redo button (actions: add segment, remove segment, move segment, rename segment, drag start, drag end, remove group, add to label)
-
Make use of change password pug and route somewhere
-
Re-add saving moved segments (segments moved between speakers)
-
Make TreeItem.toggle() and its subclasses' toggle() return boolean like toggleTree() does
-
If possible, button to hide the segment drag things - actually this could be done by making all segments un-editable (but remembering which ones were editable) and then re-making segments editable (using segment.update({ editable: }) to change editable)
-
Change XMLHttpRequests in init.js to use fetch function for consistency
-
Change settings button to use a popup (not a dropdown)
-
Make left column (tree column) fill webpage height
-
Make size of top header (thing with "back to file selection" and username) smaller
-
Rewrite code to relabel custom segments when saving them if necessary (look at comment in that section)
-
Fix custom segment re-numbering when saving
-
Reorder class methods and properties by functionality (I think they're already mostly ordered logically but make sure)
-
Rearrange import statements at top of files to be ordered somewhat by importance (i.e. import globals first, then classes, then utils, then icons)
-
Separate into multiple files
-
Document functions
-
Admin account flip between all annotations that you can view
-
Fix custom segment saving / loading? (will save 'Custom Segment 1' and then after loading, adding a custom segment will be 'Custom Segment 1')
-
Fix the segment's own label appearing in the segment's popup
-
Add reset button (with confirmation popup, I think javascript has a built-in prompt for said popup) that removes all saved segments
-
Show segment start time and end time when hovering over its tree text
-
Make segment popup radio buttons appear on separate lines
-
Move custom segments to label instead of copying
-
Fix drag for the end of a segment is off screen when adding segment at the end of file
-
Change default custom segment duration (lower from 10 to maybe like 5?)
-
Add toFixed() to changeDuration
-
When sorting labels, should it resort when a segment in it is dragged?
-
Fix loading not setting duration
-
Changeable playback speed
-
Fix labels so it sorts chronologically again
-
Determine way to show id of segment when hovering over it
-
Renamable labels
-
Notes input text box in bottom right to write things down
-
Add space between play, loop, and remove buttons
-
Remake labels removable
-
Make updateDuration function
-
Movable custom segments
-
Fix renaming
-
Make renderGroup take group, segments, and snr instead of an array of the three
-
Sort segments within labeled speakers
-
Custom labeling
-
Rename custom segments
-
Make custom segments save-able
-
Make the "Custom-Segments" tree branch hidden when there are no custom segments
-
Play/loop button on segment groups
-
Calculate true speaker
-
Show SNR and duration when cursor hovers over group
-
Duration on segment groups
-
Leave "Segments" checked by default, but make all nested groups unchecked (and hidden on peaks) by default
-
Add SNR to speakers
-
Intro page with file selection, not on main page
-
Re-add custom segments
-
Add play buttons for segments in tree Add loop buttons in tree as well??
-
Add duration for segments
- Add counter to print the number of files proceessed
- Test the pipeline installation instructions
- Try different speaker separation
- Try different speaker separation
- Add to GitLab
- Make "help" more informative
- Export segments as json for GET request
- Save segments as name-segments.json and waveform as name-waveform.json