home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / sound / chaneler.sit / Numerical.p < prev   
Text File  |  1989-09-05  |  2KB  |  55 lines

  1. unit Numerical;
  2.  
  3. { Interface file for Numerical Control library.            }
  4. { Version 1.1. September 5, 1989                        }
  5. { Copyright ⌐ 1989 Chris Muir, Entropy Engineering.        }
  6. { Internet:    (hplabs,pacbell,ucbvax,apple) !well!cbm     }
  7. { Pan:        ZMS                                            }
  8. { US Mail:    360 Elizabeth St. San Francisco, CA 94114    }
  9.  
  10. { Numericals are a control idea I first saw in an Opcode patch editor by David Zicarelli. He}
  11. {since went on to perfect it in a number of twisted (and I mean that in the best possible way)}
  12. {Intellegent Music programs like M, Jam Factory & OvalTune.}
  13.  
  14. { Numericals are a very efficient use of screen space when a large number of numeric variables }
  15. {must be controlled. Actually, they aren't limited to numeric values, as they get their strings}
  16. {to display from a STR# in the resource file, but if a Numerical isn't mostly numeric values,}
  17. {I think that a popup menu is a better choice. }
  18.  
  19.  
  20. { To use a Numerical you first have to set up a rect for the number. This rect is passed to }
  21. {DrawNum & TrackNum so you need to keep it around. }
  22.  
  23. { In your resource file there needs to be a STR# with the strings that you want to display. }
  24. {The Resource number of this STR# is passed as the second parameter to DrawNum & TrackNum. }
  25.  
  26. { The third parameter is the current (integer) value of the Numerical in question.}
  27.  
  28. { DrawNum only takes these three parameters, but TrackNum takes three more: }
  29. {max_num and min_num are the high and low limits. Numbers above and below these limits}
  30. {cannot be selected.}
  31. {The last parameter is a procedure. This is a call back so that some action can be taken}
  32. {every time the number changes.}
  33.  
  34. { TrackNum returns the final value after a the mouse button is released. }
  35.  
  36.  
  37.  
  38. interface
  39.  
  40.  
  41.     procedure DrawNum (where: rect; Table, what: integer);
  42.     function TrackNum (where: rect; Table, what: integer; max_num, min_num: integer; procedure CallBack (what: integer)): integer;
  43.  
  44.  
  45. implementation
  46.  
  47.  
  48.     procedure DrawNum (where: rect; Table, what: integer);
  49.     external;
  50.  
  51.     function TrackNum (where: rect; Table, what: integer; max_num, min_num: integer; procedure CallBack (what: integer)): integer;
  52.     external;
  53.  
  54.  
  55. end.