-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Todos for 1.8.0
Janek edited this page Jul 8, 2020
·
1 revision
- Update sound file test script in src/test/soundFileFormats to include M4A file generation
- Test MP3/OGG/FLAC/WAVs of varying sample rates and report results here
- Add MIDI controller mappings from the forums to the branch.
- Test MIDI mappings for correct functionality for as many currently supported controllers as we can
- Update the Wikipedia entry
- Update user manual
Unresolved bugs targeted for this release
Remaining blocker bugs for 1.8.0 final
Scaling ASSERTs - Haven't seen them in ages... still a problem?EngineBufferScaleLinear audio degradation (Phil, partially fixed)EngineBufferScaleST repeated buffers, sync loss (partially fixed. Still loses sync when looping.)-
"scratch" control is asymmetric - https://bugs.launchpad.net/mixxx/+bug/519892- fixed in fixes_scratch -
fixes_scratch merge- in beta2 -
Sort out reference counting for TIOs in library caching layer (basesqltablemodel.cpp?)(RJ rocks!) Featured Artists agreement + stats
Very important remaining tasks for beta2:
Scratching crash since r2407Fix bugs introduced by ssplugin merge:
* <del>Build error on Win32</del>
* <del>[[https://bugs.launchpad.net/mixxx/+bug/586774|Wrong track duration]]</del> - fixed except for VBR MP3s which are worked around for now (they show as '?' until first loaded)
* <del>[[https://bugs.launchpad.net/mixxx/+bug/586755|Crash creating new library]]</del>
* <del>Merge sadness_ssplugin</del> and <del>test build plugins for each platform</del>
* <del>Merge features_sqlite into trunk</del>
* <del>Merge features_scriptTimers (with its MIDI thread fixes)</del>
* <del>M4A Plugin + Downloader (done)</del>
* <del>Update LibraryTableModel's rows when TrackDAO is accessed, without resetting it.</del> - in features_sqlite branch
Very important remaining tasks for beta1:
Missing columns in playlist/crate/autodj views https://bugs.launchpad.net/mixxx/+bug/500474Schema versioning1.7.0 to 1.8.0 XML->DB Library importer (Patch from Zach)Playlist blurbCrate image blurb- Fix as many crashes as possible
* <del>SoundTouch timestretch</del>
* <del>Reader ASSERT(s)</del> (haven't seen these in a while, might have been the same bug as below - Albert)
* <del>MIDI script engine crash</del> (https://bugs.launchpad.net/mixxx/+bug/493793)
* <del>Crate/Playlist/MissingTracks need working location column.</del>
* <del>Analyze view text is not readable on dark skins.</del>
* <del>Escape Prepare view searches, use fetchMore(), search in the GUI thread</del>
Complete the rewrite for basic -- but stable -- functionality
- Track DB
* <del>Needs blacklisting of removed songs.</del>
* <del>1.7.0 to 1.8.0 XML->DB Library importer (Zach)</del>
* Searching across library features
* <del>Make sure search is case-insensitive everywhere</del>
* <del>Search is saved and restored per-model</del>
* Playlist models store the search per-playlist
* <del>Searches occur in background thread.</del>
* Drag-n-drop across library features
* Make sure you can drop tracks from any place (browse, external track source, mixxx library) into a Mixxx playlist and the <del>play queue</del> Auto DJ queue
* Win/Mac/Linux drag of files from OS file browser into Mixxx?
* Make explicit the cases in which a file outside the Mixxx library is added to the Mixxx library.
* Show an indicator of where you are about to drop a file in the track-table or sidebar. This is a bug in Qt: https://bugreports.qt.nokia.com/browse/QTBUG-7107
* Context menus across the whole library
* Make sure context choices for tracks are appropriate to current state.
* Menus for sidebar items
* UI Feedback
* <del>When a track is missing from the library (Missing Songs model done)</del>
* <del>When a track failed to load</del>
* When your results are filtered (i.e. a search is active)
* When you are about to add a track to your Mixxx library. Make any warnings disable-able via mixxx.cfg.
* Browse Mode
* <del>Use a file-system model that polls in a background thread</del>
* <del>Searches and sorting for the filesystem view</del>
* <del>Always show .. as a choice</del>
* <del>Always sort folders before files</del>
* Needs header that shows you your current path
* Sorting doesn't work in Size column (kb/mb treated as the same)
* Playlists
* <del>Playlist table headers show raw column names</del>
* <del>Playlists need duration delegate</del>
* <del>Dragging a file thats in a playlist to its own playlist results in many added copies.</del>
* <del>Drag-and-drop reordering</del>
* <del>Invisible playlists so that e.g. the Auto-DJ playlist do not show under playlists.</del>
* <del>Play Queue/AutoDJ</del>
* <del>Make enable/disable button change text when its on/off so you know its state.</del>
* Make 95% crossfade threshold configurable via preferences.
* Library Rescan
* <del>Basic fast hashing rescan</del>
* <del>Modify Library table to make orphan detection easier later (add extra track_locations table)</del>
* <del>Add mixxx_deleted to Libray table and fs_deleted cols to track_locations table</del>
* <del>Use mixxx_deleted to blacklist files "removed" from the Mixxx library.</del>
* <del>Cancel rescan functionality (just needs to be fixed)</del>
* Tagging (not file metadata tagging)
* <del>DAO for tags</del>
* <del>Feature for tags</del>
* <del>Drag-n-drop to sidebar</del>
* <del>Tag table model</del>
* <del>Context menu for track table</del>
* <del>Context menus for tags in sidebar</del>
* <del>Feature overview page</del>
* <del>Prepare view</del>
* Delegate for showing tags in library table
* Track Sources
* <del>iTunes playlist TrackModel</del>
* <del>iTunes needs duration delegate</del>
* <del>Rhythmbox Need Date delegate</del>
* <del>Sorting doesn't work in XML-sourced Playlists</del>
* Polish
* <del>Sidebar icons for each feature</del>
* Tooltips for sidebar items
* <del>MIDI Control of Library</del>
* <del>Track-table column header context menu to show/hide columns</del>
* Cue/Loop Storage in the DB - (this is really a mini-project in itself)
* <del>Write a CueDAO/Cue service.</del>
* <del>Make TIO's have a list of Cue's</del>
* <del>Make TrackCollection save a TIO's Cue's on track save (via CueDAO)</del>
* <del>Ditch EngineBufferCue</del>
* <del>Extend EngineBuffer to allow outside addition of EngineControls</del>
* <del>Write CueControl, created by Player, added to EngineBuffer as an EngineControl</del>
* <del>Restore track-editor, make it show hotcues</del>
* Add custom widgets for hotcues -- not happening: skins will have to have hacked buttons instead
* <del>Waveform / waveform overview loops and cues</del>
* <del>Update skins</del>
* Minor Bugs
* <del>Duration Delegate should format seconds as %02d.</del>
* <del>Sorting is not case insensitive (e.g. on Title)</del>
Complete the looping feature, merge to trunk.- Update controller mappings with hot cue and looping controls
-
SCS.3d- done BCD-3000Hercules MK2Hercules RMXM-Audio XponentNumark Total ControlReloop Digital Jockey 2
- Solve packaging issues
-
Solve Windows X64 libfaad2 dll building issues (embedded asm vs intrinsics) - may be able to split the assembly code into its own file and assemble that separately- Successfully worked around it by disabling the (5 lines (!) of) assembly code and using the supplied C/C++ code Fix SoundSourceM4A decoder issues
- Bundle libsndfile's trunk code into Mixxx for FLAC fixes? (Since there's no scheduled release date for the fixed libsndfile)
- Collect enhanced controller mappings from forum posts for wider testing
- Fix compilation on Windows x64 to correctly use SoundTouch optimizations (or not depending on optimize flag) - Sean
- Update user manual
-
Can someone with some pull PLEASE tell C-Net to update their Mixxx download page?! 82 downloads a week for Mixxx 1.5.0.2 does not make us look good.- Adam took care of it
- Upload 1.8.0 final to C-Net and update our home page link there (still points to SF)
- Update our FreshMeat page
Remaining tasks here are just polish and are not required for release.
Move all PortMIDI calls to one thread (the script engines can not directly call send*Msg anymore.) See this.Save multiple device files correctly, deleting previous .midi.xml files in .mixxx/
* Save the meta-data (<del>controller ID</del>, author, description, etc...)
* First make a GUI object that lets the user modify the author and description
* <del>Find a more appropriate place to save the files other than the MidiDeviceManager destructor</del> Now done (only) when OK is clicked in the prefs
* <del>Need a way to keep track of duplicate devices so separate files can be saved: Have DlgPreferences::slotApply() call MidiDeviceManager::saveMappings() which does them all in one shot (and can thereby keep track of them)</del>
* <del>Load those files correctly</del>
* <del>Load files for attached devices regardless of if they're activated or not.</del>
* Replace MidiCategory with MidiStatusByte permanently (see mididevice.cpp line 195.)
* MIDI Scripting: <del>Pass the <group> value from the XML to the script as an additional parameter (at the end of the list so existing scripts are not affected.)</del> - Done by Phil
* <del>Add MIDI script timers</del>
* <del>Implement alpha-beta smoothing filter in the Engine (currently in scratch.* functions in the common script file) with fixed-interval updates. (I.e. if no new data arrives in the interval, assume the control is stopped and feed that data to the smoothing function.)</del> - Done in the MidiScriptEngine for relative controls in 1.8.0
* GUI changes:
* <del>Replace "Activate" button with an "Enabled" check box</del>
* <del>Display enabled devices in the tree in bold text</del>
* <del>Auto-change "Output" drop-down based on auto-selected output device in MidiDevice(Manager) when the device is enabled</del> - Albert
* <del>Make "Output" drop-down take effect when changed</del> - not happening in 1.8. Output drop-down is disabled for now.
* Persistent mapping preset drop-down (don't return to "..." unless Clear All is pressed. If the user tweaks the mapping, say "<custom>" or something.)
* Also clear the list of MIDI scripts when Clear All is pressed
* Do not commit changes to the MIDI mapping tables unless OK is pressed in the preferences window. (I.e. allow pressing the Cancel button or the X on the preferences window to restore the MIDI mappings to their previous states.)
Mixxx is a free and open-source DJ software.
Manual
Hardware Compatibility
Reporting Bugs
Getting Involved
Contribution Guidelines
Coding Guidelines
Using Git
Developer Guide
Creating Skins
Contributing Mappings
Mixxx Controls
MIDI Scripting
Components JS
HID Scripting