home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / tools / developer-tools / c-tools / c_examples / audiodt / audiodt_example.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-06-16  |  2.0 KB  |  84 lines

  1. //////////////////////////////////////////////////////////////////////////////
  2. // AudioDT Example
  3. // 6.16.96 Deryk Robosson
  4.  
  5. //////////////////////////////////////////////////////////////////////////////
  6. // Includes
  7. #include "aframe:include/amigaapp.hpp"
  8. #include "aframe:include/window.hpp"
  9. #include "aframe:include/rect.hpp"
  10. #include "aframe:include/button.hpp"
  11. #include "aframe:include/reqtools.hpp"
  12. #include "aframe:include/audiodt.hpp"
  13.  
  14. //////////////////////////////////////////////////////////////////////////////
  15. // ControlWindow Class Definition
  16.  
  17. class ControlWindow : public AFWindow
  18.  
  19. {
  20. public:
  21.     virtual void OnGadgetUp(LPIntuiMessage imess);
  22.  
  23.     AFButton    load;
  24.     AFButton    play;
  25.     AFReqTools  rt;
  26.     AFAudioDT   audio;
  27. };
  28.  
  29. //////////////////////////////////////////////////////////////////////////////
  30. // ControlWindow Implementation routines
  31.  
  32. void ControlWindow::OnGadgetUp(LPIntuiMessage imess)
  33. {
  34.   AFRect rect;
  35.  
  36.   switch(((struct Gadget*)imess->IAddress)->GadgetID) {
  37.  
  38.   case 100:     // Load button
  39.     if(!(rt.FileRequest())) {
  40.         rt.EZRequest("No dir/filename was entered","Ok");
  41.         break;
  42.     }
  43.     if(!(audio.LoadSample((char*)rt.GetFileName()))) {
  44.         rt.EZRequest("Load File Failed","Ok");
  45.         break;
  46.     }
  47.     rect.SetRect(94,10,134,50);
  48.     audio.AddObject(this,&rect,200);
  49.     break;
  50.   case 101: // Play Button
  51.     if(!(audio.PlaySample()))
  52.         rt.EZRequest("Play Failed/No Sample Loaded","Ok");
  53.     break;
  54.   case 200: // Added DataType Gadget (see line 48)
  55.     rt.EZRequest("Audio DataType!","Ok");
  56.     break;
  57.   default:
  58.     AFWindow::OnGadgetUp(imess);
  59.     break;
  60.   }
  61. }
  62.  
  63. //////////////////////////////////////////////////////////////////////////////
  64. // MAIN
  65.  
  66. void main()
  67. {
  68.     AFAmigaApp theApp;
  69.     ControlWindow win;
  70.     AFRect rect(10,10,410,310);
  71.  
  72.     win.Create(&theApp,&rect,"AFrame AudioDT Example");
  73.  
  74.     rect.SetRect(10,10,50,50);
  75.     win.load.Create("Load",&win,&rect,100);
  76.  
  77.     rect.SetRect(52,10,92,50);
  78.     win.play.Create("Play",&win,&rect,101);
  79.  
  80.     win.RefreshGadgets();
  81.  
  82.     theApp.RunApp();
  83. }
  84.