home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / sound / chaneler.sit / Channelizer.ƒ / UserIntf.p < prev    next >
Text File  |  1989-09-08  |  2KB  |  120 lines

  1. unit UserIntf;
  2. { Copyright ⌐ 1989 Chris Muir, Entropy Engineering.        }
  3. { Internet:    (hplabs,pacbell,ucbvax,apple) !well!cbm     }
  4. { Pan:        ZMS                                            }
  5. { US Mail:    360 Elizabeth St. San Francisco, CA 94114    }
  6.  
  7. { There isn't much user interface to speak of. What there is goes here.}
  8.  
  9.  
  10. {+++++++++++++++++++++++    History    +++++++++++++++++++++++}
  11.  
  12. { 1.0        September 5, 1989    cbm}
  13. {    new for Channeler.     }
  14.  
  15.  
  16.  
  17. interface
  18.  
  19.     uses
  20.         QuickDraw, WindowLayout, Numerical, MIDI, MungeMidi;
  21.  
  22.  
  23.     procedure InitUserJunk;
  24.     procedure TrackUserJunk;
  25.     procedure UpdateUserJunk;
  26.  
  27.  
  28. implementation
  29.  
  30.     const
  31.         min_numChan = 0;
  32.         max_numChan = $F;
  33.  
  34.         ChanNum = 134;            { STR# }
  35.  
  36.         MidiNames = 800;        { STR# }
  37.         MidiBytes = 801;        { STR# }
  38.         NoteNames = 802;        { STR# }
  39.         ModNames = 803;            { STR# }
  40.         HexDigits = 804;        { STR# }
  41.  
  42.  
  43.  
  44.  
  45.  
  46. {_____________________    Numericals    _____________________}
  47.  
  48.  
  49.     procedure InitUserNum;
  50.     begin
  51. { Now combine all numerical regions }
  52.         gInUserNumericals := NewRgn;
  53.         OpenRgn;
  54. {Normally, there would be more numericals here. That's why this is done with regions.}
  55.         FrameRect(gMidiOutChanRect);
  56.         CloseRgn(gInUserNumericals);
  57.     end;    {InitUserNum}
  58.  
  59.  
  60.  
  61.     procedure DrawMidiEdNumericals;
  62.     begin    {Draw those Numericals}
  63.         DrawNum(gMidiOutChanRect, ChanNum, gMidiOutChanNum);
  64.     end;    { DrawMidiEdNumericals }
  65.  
  66.  
  67.  
  68.     procedure UpdateUserJunk;
  69.         var
  70.             tempStr: str255;
  71.     begin
  72.         DrawMidiEdNumericals;
  73.         TextFont(gTheFont);
  74.         tempStr := 'Output Chan:';    { this should really be from the res file, but╔ }
  75.         TextBox(Pointer(ord(@tempStr) + 1), length(tempStr), gMidiOutLabelRect, teJustRight);
  76.     end;
  77.  
  78.  
  79.  
  80. {_____________________    Track Numericals    _____________________}
  81.  
  82.     procedure NilCall (what: integer);
  83.     begin
  84.     end;
  85.  
  86.  
  87.     procedure TrackOutChan;
  88.     begin
  89.         gMidiOutChanNum := TrackNum(gMidiOutChanRect, ChanNum, gMidiOutChanNum, max_numChan, min_numChan, NilCall)
  90.     end;    { TrackOutChan }
  91.  
  92.  
  93.     procedure TrackMidiEdNumericals;
  94.         var
  95.             inside: boolean;
  96.     begin
  97.         inside := PtInRect(gMyPt, gMidiOutChanRect);
  98.         if inside = true then
  99.             TrackOutChan;
  100.     end;        {TrackMidiEdNumericals}
  101.  
  102.  
  103.  
  104.  
  105.     procedure TrackUserJunk;
  106.     begin
  107.         TrackMidiEdNumericals;
  108.     end;
  109.  
  110.  
  111.  
  112.     procedure InitUserJunk;
  113.     begin
  114.         SetPort(gMyWindow);
  115.         InitUserNum;
  116.     end;
  117.  
  118.  
  119.  
  120. end.