Skip to content

Latest commit

 

History

History
96 lines (87 loc) · 5.47 KB

TODO.md

File metadata and controls

96 lines (87 loc) · 5.47 KB

TODO

Other

  • Make script (probably Python) to extract saved annotations from database to json
  • Make script (probably Python) to import saved annotations from json into database

Node

  • 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

Interface

  • 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

Pipeline

  • 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