View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002686 | MMW v4 | Other | public | 2006-11-01 18:12 | 2008-08-25 21:28 |
Reporter | jiri | Assigned To | |||
Priority | urgent | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 2.5.4 | ||||
Fixed in Version | 3.1 | ||||
Summary | 0002686: Decrease memory requirements of internal data structures | ||||
Description | Internal change: TSongListData is unnecessarily large, some suggested changes (some others might apply as well): 1. Move all Web... fields to TAddSongListData structure (as it was in MM 2.5) (try to use 'record' instead of 'class' if possible) 2. Other fields that could (possibly?) be moved into TAddSongListData: TemporaryOrder, tempString, PreviewStart, PreviewLength, PreviewName, CacheName, Signature (before any access to these fields, the structure would have to be initialized, so maybe usage of properties would be good). 3. AudioCDTrack should be ShortInt (1 byte). 4. typeofnode - SmallInt (2 bytes). 5. Store MaxSample, NormalizeTrack as single (instead of double)? 6. Store Modified in Flags (as a single bit), make access using a property 7. Rating - SmallInt (2 bytes) 8. BPM - SmallInt (check out the code where it's used, to be sure it doesn't overflow, I think it was the case in the past). 9. VBR, Original, Copyrighted, Seekable, FLongTextLoaded - only a bit in Flags (access using a property)? 10. CacheStatus, PreviewState - ShortInt (1 byte) 11. Group all fields <4 bytes together so that they don't occupy space because of alignment. | ||||
Tags | No tags attached. | ||||
Fixed in build | 1185 | ||||
|
solved all except 8 and 11 |
|
8 and 11 are done |
|
It seems to be ok this way. Reopenning so that before 3.0 release we review the fields once more and make sure there aren't any unnecessarily, i.e. those that can't be shown in the main tracklist don't have to be in the main structure. Possible candicates: ISRC, RatingString, InvolvedPeople, ... Maybe also CoverList and UpdateCoverList could be moved to FAddons? What impact would it have on album art browsing mode? |
|
- FMediaSNcalced is boolean and thus can be moved into Flags. |
|
Already fixed in 1185. |