3 - look at dsandler's multicore patch
4 - a system to keep release notes synced and build a disk image with what I need?
6 - 1. app blows away graph
7 - happens until the CPU data buffer has been fully filled, and you hold down "restore defaults" through TWO timer firings, then it's fixed.
8 - can also be repro'd just by changing prefs about showing separate graph or putting graph on top
9 - diff CPU source against memory monitor:
10 - any changes with data source being reset? shouldn't be…
11 - what about removing the notifications in favor of straight method callbacks? first, what's the underlying problem: don't solve what doesn't need solving
12 - 2. cmd-w doesn't close prefs window or about window
14 - CPU usage across processors:
15 - get # of processors with http://www.cocoadev.com/index.pl?NSProcessInfo
17 Mem -> CPU conversion key:
23 - get it to build @done @project(CPU Mon)
24 - make another pass through the source to take out extraneous references to CPUUsage @done @project(CPU Mon)
25 - check TODOs @done @project(CPU Mon)
26 - how to do data update: make a large float array with my usage data in it, use a rolling pointer to update things. store new data from current cpu stats. @done @project(CPU Mon)
27 - is that how the current and last stuff is built? @done @project(CPU Mon)
28 - in other words, I need to pass the pointer by reference so I can modify its value (ie the memory it points to). keep in mind, someone has to clean up after the old memory. @done @project(CPU Mon)
29 - memory leak: vm_deallocate the processorInfo array after use: @done @project(CPU Mon)
30 - methods needed: @done @project(CPU Mon)
31 - updateCPUStat: what do we want to accomplish here? @done @project(CPU Mon)
32 - get current data @done @project(CPU Mon)
33 - retrieve data at last refresh @done @project(CPU Mon)
34 - subtract last from current @done @project(CPU Mon)
35 - init: init the processor usage data: set the first "lastProcessorInfo" array so update is all good to go. @done @project(CPU Mon)
36 - getCurrentData @done @project(CPU Mon)
37 - return last data @done @project(CPU Mon)
38 - getNext: @done @project(CPU Mon)
39 - run update @done @project(CPU Mon)
40 - set ptr new data @done @project(CPU Mon)
41 - update internal ptrs @done @project(CPU Mon)
42 - getPrev @done @project(CPU Mon)
43 - return one before last? @done @project(CPU Mon)
44 - variables needed: @done @project(CPU Mon)
45 - CPUData array @done @project(CPU Mon)
46 - lastProcessorInfo (for diffs) @done @project(CPU Mon)
47 - numLastProcessorInfo (to deallocate it) @done @project(CPU Mon)
48 - two variables to track size, location in array @done @project(CPU Mon)
49 - notes: need TWO refreshes at init to get current info! @done @project(CPU Mon)
50 if(lastProcessorInfo) {
51 size_t lastProcessorInfoSize = sizeof(integer_t) * numLastProcessorInfo;
52 vm_deallocate(target_task, (vm_address_t)lastProcessorInfo, lastProcessorInfoSize);
55 lastProcessorInfo = processorInfo;
56 numLastProcessorInfo = numProcessorInfo;
57 - first test data coming out of cpu info with logs (this might hurt. limit to one sample every 2 sec) @done @project(CPU Mon)
58 - test with xcode debugger to watch array data change. @done @project(CPU Mon)
59 - paging rate graph @done @project(CPU Mon)
60 - switch the source of the graph from memory info to CPU info: @done @project(CPU Mon)
61 - then change graphing fct to pull from different data source @done @project(CPU Mon)
62 - text overlay @done @project(CPU Mon)
63 - change app name to CPU History @done @project(CPU Mon)
64 - reorder bars: sys, nice, user, idle @done @project(before any polish)
65 - test prefs: change in Memory Monitor, see if app picks them up @done @project(before any polish)
66 - properly set Dock icon @done @project(before dinner)
67 - fix Dock menu display @done @project(before dinner)
68 - if we can't make CPUInfo object, exit app gracefully @done @project(before dinner)
69 - finish commenting out variables and outlets @done @project(before 1.0 release)
70 - prefs.h @done @project(before 1.0 release)
71 - prefs.m @done @project(before 1.0 release)
72 - what is this transparency vestigal crap? @done @project(before 1.0 release)
73 - relink nib to new variables @done @project(before 1.0 release)
74 - initialize colors to different values than MemMonitor defaults @done @project(before 1.0 release)
75 - delete prefs file and start over: any errors reading new values? @done @project(before 1.0 release)
76 - try building it… @done @project(before 1.0 release)
77 - get rid of extraneous properties, and relink stuff in IB @done @project(before 1.0 release)
78 - make a color change backwards applicable: somehow redraw entire graph after prefs color change @done @project(before 1.0 release)
79 - call updateGraph after prefs change @done @project(before 1.0 release)
80 - prefs: add an option for bar width: from 1 to 20 px per bar @done @project(before 1.0 release)
81 - preferred: 4-6 @done @project(before 1.0 release)
82 - tidy up release notes, remove localizations if they're not accurate. @done @project(before 1.0 release)
83 - before shipping: build a full deployment vers, and move prefs file beforehand: any last bugs/missing things @done @project(before 1.0 release)
84 - write up app, release on cbowns.com @done @project(before 1.0 release)
85 - also on blog @done @project(before 1.0 release)