View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005924 | MMW 5 | FileMonitor / Find Missing | public | 2009-09-01 00:46 | 2024-11-04 18:04 |
Reporter | peke | Assigned To | |||
Priority | urgent | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Product Version | 5.0 | ||||
Target Version | 5.1 | Fixed in Version | 5.1 | ||
Summary | 0005924: Framework: CUEPoint Support | ||||
Description | Library Framework for supporting: - CUESheet Playlist - Manual CUE Point for gapless Playback, Custom Crossfading types - AudioBooks 0005931, Podcast, DVD/Video/Movie Files as Chapters (Bookmark Points) 0006967 - Gapless, Crossfade (mixed) Audio CD Burning, Better Splitting tracks for multiple CDs Burning 0006210 To support all these features SQLite Songs Table should be updated to contain additional Columns: 1. ParrentTrack = INTEGER 2. CUEStartPos = LONGWORD (Start Time From 0006237) 3. CUEEndPos = LONGWORD (Stop Time From 0006237) 4. CrossfadeStartType = TEXT 5. CrossfadeEndType = TEXT Optional if Needed for faster and more accurate Seeking 6. OriginalLength = LONGWORD | ||||
Additional Information | https://www.mediamonkey.com/forum/viewtopic.php?t=103692 https://www.mediamonkey.com/forum/viewtopic.php?t=103693 https://www.mediamonkey.com/forum/viewtopic.php?f=30&t=97689 https://www.mediamonkey.com/forum/viewtopic.php?f=7&t=94064 http://www.mediamonkey.com/forum/viewtopic.php?f=26&t=85589 http://www.mediamonkey.com/forum/viewtopic.php?f=4&t=43953 http://www.mediamonkey.com/forum/viewtopic.php?f=1&t=46031 http://www.mediamonkey.com/forum/viewtopic.php?p=244899#p244899 http://www.mediamonkey.com/forum/viewtopic.php?f=2&t=36026 (CUE Lord Script) http://www.mediamonkey.com/forum/viewtopic.php?f=4&t=29850 http://www.mediamonkey.com/forum/viewtopic.php?f=4&t=67306 http://www.mediamonkey.com/forum/viewtopic.php?f=1&t=76176 https://www.mediamonkey.com/forum/viewtopic.php?f=33&t=99798 http://www.mediamonkey.com/support/staff/index.php?_m=tickets&_a=viewticket&ticketid=8211 KVU-294084 | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Fixed in build | 2807 | ||||
related to | 0006210 | closed | Ludek | MMW v4 | Audio CD disc spanning cannot split one track accross multiple discs |
related to | 0019744 | assigned | michal | MMW 5 | FLAC: CUESheet Tag is not added to extended tags |
parent of | 0006237 | closed | Ludek | MMW v4 | Properties: Add new 'Start Time' and 'Stop Time' fields |
parent of | 0006242 | closed | Ludek | MMW v4 | Scripting: Add new 'StartTime' and 'StopTime' GET/LET properties to ISDBSongData |
related to | 0001460 | feedback | rusty | MediaMonkey Addons | MediaMonkey Scheduler - MediaMonkey Professional |
related to | 0005931 | new | Ludek | MMW v4 | MM does not support chapter marks in m4b files (audiobooks) |
related to | 0006454 | new | rusty | MediaMonkey Addons | DJ Mixer Features (addon?) |
related to | 0006967 | assigned | michal | MMW 5 | DVD playback |
related to | 0006689 | assigned | jiri | MMW v4 | OnBeforePlay event needed |
related to | 0009816 | new | MMW v4 | Improve Bookmarks - Ability to Save Multiple Bookmarks Per Track | |
related to | 0016236 | new | MMW 5 | Preview waveform feature | |
related to | 0018201 | feedback | rusty | MMW 5 | Bookmarks: Handling of Multiple bookmark/s |
related to | 0018553 | closed | Ludek | MMW 5 | CUE: CUE loader do not work correctly |
related to | 0020105 | closed | Ludek | MMW 5 | CUE causes duplication of files on rescans |
related to | 0021227 | new | MMW 5 | Multi Bookmarks support in DB and Wave/Seek bar | |
related to | 0021228 | new | MMW 5 | Per track crossfade setting in track properties | |
related to | 0021306 | closed | Ludek | MMW 5 | First file doesn't get metadata from CUE |
related to | 0021323 | closed | Ludek | MMW 5 | CUE files aren't shown under Folders node |
|
SQLite Songs Table should be updated to contain additional Columns: 1. ParrentTrack = INTEGER 2. CUEStartPos = LONGWORD 3. CUEEndPos = LONGWORD 4. CrossfadeStartType = TEXT 5. CrossfadeEndType = TEXT Optional if Needed for faster Seeking 6. OriginalLength = LONGWORD |
|
For Easier understanding Audio CD structure will be used to compare usage even this can be used in other formats also (like DVD, M4B, Audio Books,...) Definitions of Columns and its basic usage: ParrentTrack: Parrent track will contain ID of Track that defines first CUEPoint (like first track on Audio CD), First CUEPoint will Contain have set this to ID = ParrentTrack. Exceptions/Special cases would be when value is -1(Default) = Use Global/Default settings (Mostly used with Crossfade Settings of MM) or 0 = Use custom options set for track CUEStartPos: This will contain track Start position in Milliseconds from start of track (Values: NotSet = Default/Unknown; if Set it will represent start pos) CUEEndPos: This will contain track End position in Milliseconds from start of track (Values: NotSet = Default/Unknown; if Set it will represent end pos) CrossfadeStartType: This Column will contain CUE/Crossfade type that will instruct player how to start playback of track (Example Types: Empty = Default; "$CFade[2000,0,<Setting ignored as player current volume is used>]" = Crossfade with previous track using Linear FadeIn track for 2 Sec with starting Volume 0 ending with Player Volume; "$CFade[-4000,30,<Setting ignored as player current volume is used>]" = Crossfade with previous track using Linear FadeIn track for 4 Sec that strats 4 Sec before CUEStartPos with starting Volume 30 ending with Player Volume at CUEStartPos;...) CrossfadeEndType: This will be same as CrossfadeStartType with only difference that will instruct player how to end track playback (Example Types: Empty = Default; "$CFade[2000,<Setting ignored as player current volume is used>,0]" = Crossfade with previous track using Linear FadeOut track for 2 Sec with starting at CUEEndPos using Volume ending with Volume 0; "$CFade[-4000,<Setting ignored as player current volume is used>,30]" = Crossfade with previous track using Linear FadeIn track for 4 Sec that strats 4 Sec before CUEEndPos with Player Volume and ending with Volume 33 at CUEEndPos;...) NOTE: CrossfadeStartTypes and CrossfadeEndTypes should be able to do some sort of REGEXP structure to enable future customization and expansion OriginalLength: This is optional and will instruct player original track length of physical file. NOTE: Songs -> SongLength will contain Milliseconds calculated using "(CUEEndPos-CUEStartPos)" |
|
Adding these fields into MM library structure without adding all features at start would be enough. Especially as it will make room for future expansion/control of bugs 0005931, 0006210, 0006237 0006242. Let me know if you need more description. NOTE with initial implementation we would only add it to MM library structure for future reference. |
|
Peke, could you describe what is exactly the relation to issues 0006237, 0006242? I have already added StartTime and StopTime fields to the songs table for the purposes. And what is the relation to 0006210? I have already implemented it without a need for CuePoint support. Do you mean a reverse process (of ripping such a splitted audio CD content)? |
|
As you noticed CUEStartPos and CUEEndPos are same as StartTime and StopTime fields from 0006237 you already added and are covered by 0006242 for scripting that would not need to be changed even CUEStartPos and CUEEndPos are more clear, but as they are same it is already solved/implemented "No change required". I updated bug relations. This structure is designed to better control solution in 0006210 I'll prepare direct example how it should fully look when implemented and how it is related to 0005931. |
|
I created small SQLite DB with proposed fields to better show retaions with 0006210 and 0005931 It can me opened in Firefox SQLite plugin. Let me clarify relations now: 0006210: In case that track that is larger than one CD and have chapters like track 1895-1899 and is larger than single audio CD MM should put span point for multiple CD burning on chapter point and make effect similar to phrase "To be continued..." and evade possibility to cut burning in the middle of word. 0005931: As seen in track ID 1895-1899 user can directly see what chapters Audio Book have and position player to begin of each chapter. This approach will also correctly show exact listening point on sites like Last.fm This is big and powerful feature in MM and it is needed to be approached with caution and slow implementation one feature at time. Adding 0006237 and 0006242 is great for start, next step would be to support 0005931 along with 0006210 and then after though tests we can go on more complex features like CUESheet, crossfading, ... |
|
Reminder sent to: jiri, rusty Reminder sent for triage Feedback |
|
Updated due the new requests. |
|
Updated Relations to 0006967 |
|
I would love this functionality, but it'll have to be deferred for now. |
|
Basic support added in build 2807 i.e. CUE is now scanned to library and each chapter is tracked as separate track entry with different startTime/stopTime and the same file path TODO: 1) Handling of sync to devices (splitting audio to individual chapters) => fixed in 2807 The file is tracked as incompatible and splitted to individual parts during conversion / auto-conversion 2) Gapless playback handling => fixed in 2807 3) Test various file operations like Auto-organize, Convert format etc. => fixed in 2807 - CUE file is updated during auto-organize - converting original file converts the original file as whole and updates CUE, converting to a new location creates individual file splits (according to CUE) |
|
Verified 1-3 in 3050 Not closed till new bugs are open for non implemented features. |
|
Re Verified all implementation in 3055 Created new bugs for non implemented features |