home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / maestro / source / dtr / dtr_ui.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-15  |  59.9 KB  |  2,230 lines

  1. /*
  2.  * dtr_ui.c - User interface object initialization functions.
  3.  * This file was generated by `gxv' from `dtr.G'.
  4.  * DO NOT EDIT BY HAND.
  5.  */
  6.  
  7. #include <stdio.h>
  8. #include <sys/param.h>
  9. #include <sys/types.h>
  10. #include <xview/xview.h>
  11. #include <xview/canvas.h>
  12. #include <xview/panel.h>
  13. #include <xview/scrollbar.h>
  14. #include <xview/svrimage.h>
  15. #include <xview/termsw.h>
  16. #include <xview/text.h>
  17. #include <xview/tty.h>
  18. #include <xview/xv_xrect.h>
  19. #include <gcm.h>
  20. #include "dtr_ui.h"
  21.  
  22. /*
  23.  * Create object `documentMenu' in the specified instance.
  24.  */
  25. Xv_opaque
  26. dtr_documentMenu_create(caddr_t ip, Xv_opaque owner)
  27. {
  28.     extern Menu_item    OpenFileHandler(Menu_item, Menu_generate);
  29.     extern Menu_item    SaveSoundFileMenuOption(Menu_item, Menu_generate);
  30.     extern Menu_item    SaveSoundFileAsMenuOption(Menu_item, Menu_generate);
  31.     extern Menu_item    InfoHandler(Menu_item, Menu_generate);
  32.     extern Menu_item    CloseHandler(Menu_item, Menu_generate);
  33.     extern Menu_item    QuitDtr(Menu_item, Menu_generate);
  34.     Xv_opaque    obj;
  35.     
  36.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  37.         XV_KEY_DATA, INSTANCE, ip,
  38.         MENU_TITLE_ITEM, "Document",
  39.         MENU_ITEM,
  40.             XV_KEY_DATA, INSTANCE, ip,
  41.             MENU_STRING, "Open Sound File",
  42.             MENU_GEN_PROC, OpenFileHandler,
  43.             NULL,
  44.         MENU_ITEM,
  45.             XV_KEY_DATA, INSTANCE, ip,
  46.             MENU_STRING, "Save Sound File",
  47.             MENU_GEN_PROC, SaveSoundFileMenuOption,
  48.             NULL,
  49.         MENU_ITEM,
  50.             XV_KEY_DATA, INSTANCE, ip,
  51.             MENU_STRING, "Save Sound File As...",
  52.             MENU_GEN_PROC, SaveSoundFileAsMenuOption,
  53.             NULL,
  54.         MENU_ITEM,
  55.             XV_KEY_DATA, INSTANCE, ip,
  56.             MENU_STRING, "About DTR ... ",
  57.             MENU_GEN_PROC, InfoHandler,
  58.             NULL,
  59.         MENU_ITEM,
  60.             XV_KEY_DATA, INSTANCE, ip,
  61.             MENU_STRING, "Close",
  62.             MENU_GEN_PROC, CloseHandler,
  63.             NULL,
  64.         MENU_ITEM,
  65.             XV_KEY_DATA, INSTANCE, ip,
  66.             MENU_STRING, "Quit",
  67.             MENU_GEN_PROC, QuitDtr,
  68.             NULL,
  69.         MENU_GEN_PIN_WINDOW, owner, "Document",
  70.         NULL);
  71.     return obj;
  72. }
  73.  
  74. /*
  75.  * Create object `editMenu' in the specified instance.
  76.  */
  77. Xv_opaque
  78. dtr_editMenu_create(caddr_t ip, Xv_opaque owner)
  79. {
  80.     extern Menu_item    CutHandler(Menu_item, Menu_generate);
  81.     extern Menu_item    CopyHandler(Menu_item, Menu_generate);
  82.     extern Menu_item    UndoHandler(Menu_item, Menu_generate);
  83.     extern Menu_item    PasteHandler(Menu_item, Menu_generate);
  84.     extern Menu_item    ClearAllHandler(Menu_item, Menu_generate);
  85.     Xv_opaque    obj;
  86.     
  87.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  88.         XV_KEY_DATA, INSTANCE, ip,
  89.         MENU_ITEM,
  90.             XV_KEY_DATA, INSTANCE, ip,
  91.             MENU_STRING, "Cut",
  92.             MENU_GEN_PROC, CutHandler,
  93.             NULL,
  94.         MENU_ITEM,
  95.             XV_KEY_DATA, INSTANCE, ip,
  96.             MENU_STRING, "Copy",
  97.             MENU_GEN_PROC, CopyHandler,
  98.             NULL,
  99.         MENU_ITEM,
  100.             XV_KEY_DATA, INSTANCE, ip,
  101.             MENU_STRING, "Undo",
  102.             MENU_GEN_PROC, UndoHandler,
  103.             NULL,
  104.         MENU_ITEM,
  105.             XV_KEY_DATA, INSTANCE, ip,
  106.             MENU_STRING, "Paste",
  107.             MENU_GEN_PROC, PasteHandler,
  108.             NULL,
  109.         MENU_ITEM,
  110.             XV_KEY_DATA, INSTANCE, ip,
  111.             MENU_STRING, "Clear All",
  112.             MENU_GEN_PROC, ClearAllHandler,
  113.             NULL,
  114.         MENU_GEN_PIN_WINDOW, owner, "",
  115.         NULL);
  116.     return obj;
  117. }
  118.  
  119. /*
  120.  * Create object `audioOutputOptionsMenu' in the specified instance.
  121.  */
  122. Xv_opaque
  123. dtr_audioOutputOptionsMenu_create(caddr_t ip, Xv_opaque owner)
  124. {
  125.     extern Menu_item    SetSpeakerOutput(Menu_item, Menu_generate);
  126.     extern Menu_item    SetHeadphoneOutput(Menu_item, Menu_generate);
  127.     Xv_opaque    obj;
  128.     Xv_opaque        audioOutputOptionsMenu_image0;
  129.     static unsigned short    audioOutputOptionsMenu_bits0[] = {
  130. #include "icons/speaker.icon"
  131.     };
  132.     Xv_opaque        audioOutputOptionsMenu_image1;
  133.     static unsigned short    audioOutputOptionsMenu_bits1[] = {
  134. #include "icons/headphone.icon"
  135.     };
  136.     
  137.     audioOutputOptionsMenu_image0 = xv_create(XV_NULL, SERVER_IMAGE,
  138.         SERVER_IMAGE_DEPTH, 1,
  139.         SERVER_IMAGE_BITS, audioOutputOptionsMenu_bits0,
  140.         XV_WIDTH, 32,
  141.         XV_HEIGHT, 32,
  142.         NULL);
  143.     audioOutputOptionsMenu_image1 = xv_create(XV_NULL, SERVER_IMAGE,
  144.         SERVER_IMAGE_DEPTH, 1,
  145.         SERVER_IMAGE_BITS, audioOutputOptionsMenu_bits1,
  146.         XV_WIDTH, 32,
  147.         XV_HEIGHT, 32,
  148.         NULL);
  149.     obj = xv_create(XV_NULL, MENU_CHOICE_MENU,
  150.         XV_KEY_DATA, INSTANCE, ip,
  151.         MENU_ITEM,
  152.             XV_KEY_DATA, INSTANCE, ip,
  153.             MENU_IMAGE, audioOutputOptionsMenu_image0,
  154.             MENU_GEN_PROC, SetSpeakerOutput,
  155.             NULL,
  156.         MENU_ITEM,
  157.             XV_KEY_DATA, INSTANCE, ip,
  158.             MENU_IMAGE, audioOutputOptionsMenu_image1,
  159.             MENU_GEN_PROC, SetHeadphoneOutput,
  160.             NULL,
  161.         MENU_GEN_PIN_WINDOW, owner, "",
  162.         NULL);
  163.     return obj;
  164. }
  165.  
  166. /*
  167.  * Create object `optionsMenu' in the specified instance.
  168.  */
  169. Xv_opaque
  170. dtr_optionsMenu_create(caddr_t ip, Xv_opaque owner)
  171. {
  172.     extern Menu_item    ResetMarkersHandler(Menu_item, Menu_generate);
  173.     extern Menu_item    SizeToFitHandler(Menu_item, Menu_generate);
  174.     extern Menu_item    GlobalWaveCanvasHandler(Menu_item, Menu_generate);
  175.     extern Menu_item    ToggleSoundEditing(Menu_item, Menu_generate);
  176.     Xv_opaque    obj;
  177.     
  178.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  179.         XV_KEY_DATA, INSTANCE, ip,
  180.         MENU_TITLE_ITEM, "Options",
  181.         MENU_ITEM,
  182.             XV_KEY_DATA, INSTANCE, ip,
  183.             MENU_STRING, "Clear Selection",
  184.             MENU_GEN_PROC, ResetMarkersHandler,
  185.             NULL,
  186.         MENU_ITEM,
  187.             XV_KEY_DATA, INSTANCE, ip,
  188.             MENU_STRING, "Size To Fit",
  189.             MENU_GEN_PROC, SizeToFitHandler,
  190.             NULL,
  191.         MENU_ITEM,
  192.             XV_KEY_DATA, INSTANCE, ip,
  193.             MENU_STRING, "Global Wave Canvas",
  194.             MENU_GEN_PROC, GlobalWaveCanvasHandler,
  195.             NULL,
  196.         MENU_ITEM,
  197.             XV_KEY_DATA, INSTANCE, ip,
  198.             MENU_STRING, "Enable Sound Editing",
  199.             MENU_GEN_PROC, ToggleSoundEditing,
  200.             NULL,
  201.         MENU_ITEM,
  202.             XV_KEY_DATA, INSTANCE, ip,
  203.             MENU_STRING, "Audio Output Options",
  204.             MENU_PULLRIGHT, dtr_audioOutputOptionsMenu_create(ip, owner),
  205.             NULL,
  206.         MENU_GEN_PIN_WINDOW, owner, "Options",
  207.         NULL);
  208.     return obj;
  209. }
  210.  
  211. /*
  212.  * Create object `editListDocumentMenu' in the specified instance.
  213.  */
  214. Xv_opaque
  215. dtr_editListDocumentMenu_create(caddr_t ip, Xv_opaque owner)
  216. {
  217.     extern Menu_item    OpenEditListHandler(Menu_item, Menu_generate);
  218.     extern Menu_item    SaveEditListHandler(Menu_item, Menu_generate);
  219.     extern Menu_item    EditListSaveAsHandler(Menu_item, Menu_generate);
  220.     extern Menu_item    NewEditListHandler(Menu_item, Menu_generate);
  221.     Xv_opaque    obj;
  222.     
  223.     obj = xv_create(XV_NULL, MENU_COMMAND_MENU,
  224.         XV_KEY_DATA, INSTANCE, ip,
  225.         MENU_ITEM,
  226.             XV_KEY_DATA, INSTANCE, ip,
  227.             MENU_STRING, "Open Edit List",
  228.             MENU_GEN_PROC, OpenEditListHandler,
  229.             NULL,
  230.         MENU_ITEM,
  231.             XV_KEY_DATA, INSTANCE, ip,
  232.             MENU_STRING, "Save Edit List",
  233.             MENU_GEN_PROC, SaveEditListHandler,
  234.             NULL,
  235.         MENU_ITEM,
  236.             XV_KEY_DATA, INSTANCE, ip,
  237.             MENU_STRING, "Save Edit List As...",
  238.             MENU_GEN_PROC, EditListSaveAsHandler,
  239.             NULL,
  240.         MENU_ITEM,
  241.             XV_KEY_DATA, INSTANCE, ip,
  242.             MENU_STRING, "New",
  243.             MENU_GEN_PROC, NewEditListHandler,
  244.             NULL,
  245.         MENU_GEN_PIN_WINDOW, owner, "",
  246.         NULL);
  247.     return obj;
  248. }
  249.  
  250. /*
  251.  * Initialize an instance of object `mainWindow'.
  252.  */
  253. dtr_mainWindow_objects *
  254. dtr_mainWindow_objects_initialize(dtr_mainWindow_objects *ip, Xv_opaque owner)
  255. {
  256.     if (!ip && !(ip = (dtr_mainWindow_objects *) calloc(1, sizeof (dtr_mainWindow_objects))))
  257.         return (dtr_mainWindow_objects *) NULL;
  258.     if (!ip->mainWindow)
  259.         ip->mainWindow = dtr_mainWindow_mainWindow_create(ip, owner);
  260.     if (!ip->menuControlPanel)
  261.         ip->menuControlPanel = dtr_mainWindow_menuControlPanel_create(ip, ip->mainWindow);
  262.     if (!ip->documentButton)
  263.         ip->documentButton = dtr_mainWindow_documentButton_create(ip, ip->menuControlPanel);
  264.     if (!ip->editButton)
  265.         ip->editButton = dtr_mainWindow_editButton_create(ip, ip->menuControlPanel);
  266.     if (!ip->optionsButton)
  267.         ip->optionsButton = dtr_mainWindow_optionsButton_create(ip, ip->menuControlPanel);
  268.     if (!ip->openEditListButton)
  269.         ip->openEditListButton = dtr_mainWindow_openEditListButton_create(ip, ip->menuControlPanel);
  270.     if (!ip->durationLabelMessage)
  271.         ip->durationLabelMessage = dtr_mainWindow_durationLabelMessage_create(ip, ip->menuControlPanel);
  272.     if (!ip->durationMessage)
  273.         ip->durationMessage = dtr_mainWindow_durationMessage_create(ip, ip->menuControlPanel);
  274.     if (!ip->sizeLabelMessage)
  275.         ip->sizeLabelMessage = dtr_mainWindow_sizeLabelMessage_create(ip, ip->menuControlPanel);
  276.     if (!ip->sizeMessage)
  277.         ip->sizeMessage = dtr_mainWindow_sizeMessage_create(ip, ip->menuControlPanel);
  278.     if (!ip->spaceLeftOnTmpLabelMessage)
  279.         ip->spaceLeftOnTmpLabelMessage = dtr_mainWindow_spaceLeftOnTmpLabelMessage_create(ip, ip->menuControlPanel);
  280.     if (!ip->spaceLeftOnTmpMessage)
  281.         ip->spaceLeftOnTmpMessage = dtr_mainWindow_spaceLeftOnTmpMessage_create(ip, ip->menuControlPanel);
  282.     if (!ip->recordButton)
  283.         ip->recordButton = dtr_mainWindow_recordButton_create(ip, ip->menuControlPanel);
  284.     if (!ip->pauseButton)
  285.         ip->pauseButton = dtr_mainWindow_pauseButton_create(ip, ip->menuControlPanel);
  286.     if (!ip->stopButton)
  287.         ip->stopButton = dtr_mainWindow_stopButton_create(ip, ip->menuControlPanel);
  288.     if (!ip->playButton)
  289.         ip->playButton = dtr_mainWindow_playButton_create(ip, ip->menuControlPanel);
  290.     if (!ip->playGain)
  291.         ip->playGain = dtr_mainWindow_playGain_create(ip, ip->menuControlPanel);
  292.     if (!ip->recordGain)
  293.         ip->recordGain = dtr_mainWindow_recordGain_create(ip, ip->menuControlPanel);
  294.     if (!ip->vuMeterCanvas)
  295.         ip->vuMeterCanvas = dtr_mainWindow_vuMeterCanvas_create(ip, ip->mainWindow);
  296.     if (!ip->selectionInfoControlPanel)
  297.         ip->selectionInfoControlPanel = dtr_mainWindow_selectionInfoControlPanel_create(ip, ip->mainWindow);
  298.     if (!ip->selectionDurationLabelMessage)
  299.         ip->selectionDurationLabelMessage = dtr_mainWindow_selectionDurationLabelMessage_create(ip, ip->selectionInfoControlPanel);
  300.     if (!ip->selectionDurationMessage)
  301.         ip->selectionDurationMessage = dtr_mainWindow_selectionDurationMessage_create(ip, ip->selectionInfoControlPanel);
  302.     if (!ip->selectionSizeLabelMessage)
  303.         ip->selectionSizeLabelMessage = dtr_mainWindow_selectionSizeLabelMessage_create(ip, ip->selectionInfoControlPanel);
  304.     if (!ip->selectionSizeMessage)
  305.         ip->selectionSizeMessage = dtr_mainWindow_selectionSizeMessage_create(ip, ip->selectionInfoControlPanel);
  306.     if (!ip->waveCanvas)
  307.         ip->waveCanvas = dtr_mainWindow_waveCanvas_create(ip, ip->mainWindow);
  308.     if (!ip->scaleCanvas)
  309.         ip->scaleCanvas = dtr_mainWindow_scaleCanvas_create(ip, ip->mainWindow);
  310.     if (!ip->zoomControlPanel)
  311.         ip->zoomControlPanel = dtr_mainWindow_zoomControlPanel_create(ip, ip->mainWindow);
  312.     if (!ip->canvasRewind2Button)
  313.         ip->canvasRewind2Button = dtr_mainWindow_canvasRewind2Button_create(ip, ip->zoomControlPanel);
  314.     if (!ip->canvasRewind1Button)
  315.         ip->canvasRewind1Button = dtr_mainWindow_canvasRewind1Button_create(ip, ip->zoomControlPanel);
  316.     if (!ip->canvasFastForward1Button)
  317.         ip->canvasFastForward1Button = dtr_mainWindow_canvasFastForward1Button_create(ip, ip->zoomControlPanel);
  318.     if (!ip->canvasFastForward2Button)
  319.         ip->canvasFastForward2Button = dtr_mainWindow_canvasFastForward2Button_create(ip, ip->zoomControlPanel);
  320.     if (!ip->zoomLevelTextField)
  321.         ip->zoomLevelTextField = dtr_mainWindow_zoomLevelTextField_create(ip, ip->zoomControlPanel);
  322.     if (!ip->zoomTimesMessage)
  323.         ip->zoomTimesMessage = dtr_mainWindow_zoomTimesMessage_create(ip, ip->zoomControlPanel);
  324.     if (!ip->zoomSlider)
  325.         ip->zoomSlider = dtr_mainWindow_zoomSlider_create(ip, ip->zoomControlPanel);
  326.     return ip;
  327. }
  328.  
  329. /*
  330.  * Create object `mainWindow' in the specified instance.
  331.  */
  332. Xv_opaque
  333. dtr_mainWindow_mainWindow_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  334. {
  335.     Xv_opaque    obj;
  336.     Xv_opaque        mainWindow_image;
  337.     static unsigned short    mainWindow_bits[] = {
  338. #include "icons/dtr.icon"
  339.     };
  340.     
  341.     mainWindow_image = xv_create(XV_NULL, SERVER_IMAGE,
  342.         SERVER_IMAGE_DEPTH, 1,
  343.         SERVER_IMAGE_BITS, mainWindow_bits,
  344.         XV_WIDTH, 64,
  345.         XV_HEIGHT, 64,
  346.         NULL);
  347.     obj = xv_create(owner, FRAME,
  348.         XV_KEY_DATA, INSTANCE, ip,
  349.         XV_WIDTH, 600,
  350.         XV_HEIGHT, 460,
  351.         XV_LABEL, "Digital Tape Recorder",
  352.         FRAME_SHOW_FOOTER, FALSE,
  353.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  354.         FRAME_ICON, xv_create(XV_NULL, ICON,
  355.             ICON_IMAGE, mainWindow_image,
  356.             NULL),
  357.         NULL);
  358.     gcm_initialize_colors(obj, "light gray", NULL);
  359.     return obj;
  360. }
  361.  
  362. /*
  363.  * Create object `menuControlPanel' in the specified instance.
  364.  */
  365. Xv_opaque
  366. dtr_mainWindow_menuControlPanel_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  367. {
  368.     Xv_opaque    obj;
  369.     
  370.     obj = xv_create(owner, PANEL,
  371.         XV_KEY_DATA, INSTANCE, ip,
  372.         XV_X, 0,
  373.         XV_Y, 0,
  374.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  375.         XV_HEIGHT, 115,
  376.         WIN_BORDER, TRUE,
  377.         NULL);
  378.     gcm_initialize_colors(obj, NULL, NULL);
  379.     return obj;
  380. }
  381.  
  382. /*
  383.  * Create object `documentButton' in the specified instance.
  384.  */
  385. Xv_opaque
  386. dtr_mainWindow_documentButton_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  387. {
  388.     Xv_opaque    obj;
  389.     
  390.     obj = xv_create(owner, PANEL_BUTTON,
  391.         XV_KEY_DATA, INSTANCE, ip,
  392.         XV_X, 12,
  393.         XV_Y, 8,
  394.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  395.         PANEL_LABEL_STRING, "Document",
  396.         PANEL_ITEM_MENU, dtr_documentMenu_create((caddr_t) ip, ip->mainWindow),
  397.         NULL);
  398.     return obj;
  399. }
  400.  
  401. /*
  402.  * Create object `editButton' in the specified instance.
  403.  */
  404. Xv_opaque
  405. dtr_mainWindow_editButton_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  406. {
  407.     Xv_opaque    obj;
  408.     
  409.     obj = xv_create(owner, PANEL_BUTTON,
  410.         XV_KEY_DATA, INSTANCE, ip,
  411.         XV_X, 120,
  412.         XV_Y, 8,
  413.         PANEL_LABEL_WIDTH, 24,
  414.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  415.         PANEL_LABEL_STRING, "Edit",
  416.         PANEL_ITEM_MENU, dtr_editMenu_create((caddr_t) ip, ip->mainWindow),
  417.         NULL);
  418.     return obj;
  419. }
  420.  
  421. /*
  422.  * Create object `optionsButton' in the specified instance.
  423.  */
  424. Xv_opaque
  425. dtr_mainWindow_optionsButton_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  426. {
  427.     Xv_opaque    obj;
  428.     
  429.     obj = xv_create(owner, PANEL_BUTTON,
  430.         XV_KEY_DATA, INSTANCE, ip,
  431.         XV_X, 192,
  432.         XV_Y, 8,
  433.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  434.         PANEL_LABEL_STRING, "Options",
  435.         PANEL_ITEM_MENU, dtr_optionsMenu_create((caddr_t) ip, ip->mainWindow),
  436.         NULL);
  437.     return obj;
  438. }
  439.  
  440. /*
  441.  * Create object `openEditListButton' in the specified instance.
  442.  */
  443. Xv_opaque
  444. dtr_mainWindow_openEditListButton_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  445. {
  446.     extern void        ShowEditListPanelHandler(Panel_item, Event *);
  447.     Xv_opaque    obj;
  448.     
  449.     obj = xv_create(owner, PANEL_BUTTON,
  450.         XV_KEY_DATA, INSTANCE, ip,
  451.         XV_X, 280,
  452.         XV_Y, 8,
  453.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  454.         PANEL_LABEL_STRING, "Edit List...",
  455.         PANEL_NOTIFY_PROC, ShowEditListPanelHandler,
  456.         NULL);
  457.     return obj;
  458. }
  459.  
  460. /*
  461.  * Create object `durationLabelMessage' in the specified instance.
  462.  */
  463. Xv_opaque
  464. dtr_mainWindow_durationLabelMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  465. {
  466.     Xv_opaque    obj;
  467.     
  468.     obj = xv_create(owner, PANEL_MESSAGE,
  469.         XV_KEY_DATA, INSTANCE, ip,
  470.         XV_X, 365,
  471.         XV_Y, 12,
  472.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  473.         PANEL_LABEL_STRING, "Duration:",
  474.         PANEL_LABEL_BOLD, TRUE,
  475.         NULL);
  476.     return obj;
  477. }
  478.  
  479. /*
  480.  * Create object `durationMessage' in the specified instance.
  481.  */
  482. Xv_opaque
  483. dtr_mainWindow_durationMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  484. {
  485.     Xv_opaque    obj;
  486.     
  487.     obj = xv_create(owner, PANEL_MESSAGE,
  488.         XV_KEY_DATA, INSTANCE, ip,
  489.         XV_X, 438,
  490.         XV_Y, 12,
  491.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  492.         PANEL_LABEL_BOLD, FALSE,
  493.         NULL);
  494.     return obj;
  495. }
  496.  
  497. /*
  498.  * Create object `sizeLabelMessage' in the specified instance.
  499.  */
  500. Xv_opaque
  501. dtr_mainWindow_sizeLabelMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  502. {
  503.     Xv_opaque    obj;
  504.     
  505.     obj = xv_create(owner, PANEL_MESSAGE,
  506.         XV_KEY_DATA, INSTANCE, ip,
  507.         XV_X, 397,
  508.         XV_Y, 32,
  509.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  510.         PANEL_LABEL_STRING, "Size:",
  511.         PANEL_LABEL_BOLD, TRUE,
  512.         NULL);
  513.     return obj;
  514. }
  515.  
  516. /*
  517.  * Create object `sizeMessage' in the specified instance.
  518.  */
  519. Xv_opaque
  520. dtr_mainWindow_sizeMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  521. {
  522.     Xv_opaque    obj;
  523.     
  524.     obj = xv_create(owner, PANEL_MESSAGE,
  525.         XV_KEY_DATA, INSTANCE, ip,
  526.         XV_X, 438,
  527.         XV_Y, 32,
  528.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  529.         PANEL_LABEL_BOLD, FALSE,
  530.         NULL);
  531.     return obj;
  532. }
  533.  
  534. /*
  535.  * Create object `spaceLeftOnTmpLabelMessage' in the specified instance.
  536.  */
  537. Xv_opaque
  538. dtr_mainWindow_spaceLeftOnTmpLabelMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  539. {
  540.     Xv_opaque    obj;
  541.     
  542.     obj = xv_create(owner, PANEL_MESSAGE,
  543.         XV_KEY_DATA, INSTANCE, ip,
  544.         XV_X, 8,
  545.         XV_Y, 44,
  546.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  547.         PANEL_LABEL_STRING, "Space left on /tmp:",
  548.         PANEL_LABEL_BOLD, TRUE,
  549.         NULL);
  550.     return obj;
  551. }
  552.  
  553. /*
  554.  * Create object `spaceLeftOnTmpMessage' in the specified instance.
  555.  */
  556. Xv_opaque
  557. dtr_mainWindow_spaceLeftOnTmpMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  558. {
  559.     Xv_opaque    obj;
  560.     
  561.     obj = xv_create(owner, PANEL_MESSAGE,
  562.         XV_KEY_DATA, INSTANCE, ip,
  563.         XV_X, 148,
  564.         XV_Y, 44,
  565.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  566.         PANEL_LABEL_BOLD, FALSE,
  567.         NULL);
  568.     return obj;
  569. }
  570.  
  571. /*
  572.  * Create object `recordButton' in the specified instance.
  573.  */
  574. Xv_opaque
  575. dtr_mainWindow_recordButton_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  576. {
  577.     extern void        RecordButtonHandler(Panel_item, Event *);
  578.     Xv_opaque    obj;
  579.     Xv_opaque        recordButton_image;
  580.     static unsigned short    recordButton_bits[] = {
  581. #include "icons/record.icon"
  582.     };
  583.     
  584.     recordButton_image = xv_create(XV_NULL, SERVER_IMAGE,
  585.         SERVER_IMAGE_DEPTH, 1,
  586.         SERVER_IMAGE_BITS, recordButton_bits,
  587.         XV_WIDTH, 32,
  588.         XV_HEIGHT, 32,
  589.         NULL);
  590.     obj = xv_create(owner, PANEL_BUTTON,
  591.         XV_KEY_DATA, INSTANCE, ip,
  592.         XV_X, 4,
  593.         XV_Y, 68,
  594.         PANEL_LABEL_WIDTH, 60,
  595.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  596.         PANEL_LABEL_IMAGE, recordButton_image,
  597.         PANEL_NOTIFY_PROC, RecordButtonHandler,
  598.         NULL);
  599.     return obj;
  600. }
  601.  
  602. /*
  603.  * Create object `pauseButton' in the specified instance.
  604.  */
  605. Xv_opaque
  606. dtr_mainWindow_pauseButton_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  607. {
  608.     extern void        PauseButtonHandler(Panel_item, Event *);
  609.     Xv_opaque    obj;
  610.     Xv_opaque        pauseButton_image;
  611.     static unsigned short    pauseButton_bits[] = {
  612. #include "icons/pause.icon"
  613.     };
  614.     
  615.     pauseButton_image = xv_create(XV_NULL, SERVER_IMAGE,
  616.         SERVER_IMAGE_DEPTH, 1,
  617.         SERVER_IMAGE_BITS, pauseButton_bits,
  618.         XV_WIDTH, 32,
  619.         XV_HEIGHT, 32,
  620.         NULL);
  621.     obj = xv_create(owner, PANEL_BUTTON,
  622.         XV_KEY_DATA, INSTANCE, ip,
  623.         XV_X, 84,
  624.         XV_Y, 68,
  625.         PANEL_LABEL_WIDTH, 60,
  626.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  627.         PANEL_LABEL_IMAGE, pauseButton_image,
  628.         PANEL_NOTIFY_PROC, PauseButtonHandler,
  629.         NULL);
  630.     return obj;
  631. }
  632.  
  633. /*
  634.  * Create object `stopButton' in the specified instance.
  635.  */
  636. Xv_opaque
  637. dtr_mainWindow_stopButton_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  638. {
  639.     extern void        StopButtonHandler(Panel_item, Event *);
  640.     Xv_opaque    obj;
  641.     Xv_opaque        stopButton_image;
  642.     static unsigned short    stopButton_bits[] = {
  643. #include "icons/stop.icon"
  644.     };
  645.     
  646.     stopButton_image = xv_create(XV_NULL, SERVER_IMAGE,
  647.         SERVER_IMAGE_DEPTH, 1,
  648.         SERVER_IMAGE_BITS, stopButton_bits,
  649.         XV_WIDTH, 32,
  650.         XV_HEIGHT, 32,
  651.         NULL);
  652.     obj = xv_create(owner, PANEL_BUTTON,
  653.         XV_KEY_DATA, INSTANCE, ip,
  654.         XV_X, 164,
  655.         XV_Y, 68,
  656.         PANEL_LABEL_WIDTH, 60,
  657.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  658.         PANEL_LABEL_IMAGE, stopButton_image,
  659.         PANEL_NOTIFY_PROC, StopButtonHandler,
  660.         NULL);
  661.     return obj;
  662. }
  663.  
  664. /*
  665.  * Create object `playButton' in the specified instance.
  666.  */
  667. Xv_opaque
  668. dtr_mainWindow_playButton_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  669. {
  670.     extern void        PlayButtonHandler(Panel_item, Event *);
  671.     Xv_opaque    obj;
  672.     Xv_opaque        playButton_image;
  673.     static unsigned short    playButton_bits[] = {
  674. #include "icons/play.icon"
  675.     };
  676.     
  677.     playButton_image = xv_create(XV_NULL, SERVER_IMAGE,
  678.         SERVER_IMAGE_DEPTH, 1,
  679.         SERVER_IMAGE_BITS, playButton_bits,
  680.         XV_WIDTH, 32,
  681.         XV_HEIGHT, 32,
  682.         NULL);
  683.     obj = xv_create(owner, PANEL_BUTTON,
  684.         XV_KEY_DATA, INSTANCE, ip,
  685.         XV_X, 244,
  686.         XV_Y, 68,
  687.         PANEL_LABEL_WIDTH, 60,
  688.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  689.         PANEL_LABEL_IMAGE, playButton_image,
  690.         PANEL_NOTIFY_PROC, PlayButtonHandler,
  691.         NULL);
  692.     return obj;
  693. }
  694.  
  695. /*
  696.  * Create object `playGain' in the specified instance.
  697.  */
  698. Xv_opaque
  699. dtr_mainWindow_playGain_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  700. {
  701.     extern void        PlayGainSlider(Panel_item, int, Event *);
  702.     Xv_opaque    obj;
  703.     
  704.     obj = xv_create(owner, PANEL_SLIDER,
  705.         XV_KEY_DATA, INSTANCE, ip,
  706.         XV_X, 336,
  707.         XV_Y, 68,
  708.         PANEL_SLIDER_WIDTH, 200,
  709.         PANEL_TICKS, 10,
  710.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  711.         PANEL_LABEL_STRING, "Play ",
  712.         PANEL_DIRECTION, PANEL_HORIZONTAL,
  713.         PANEL_SLIDER_END_BOXES, FALSE,
  714.         PANEL_SHOW_RANGE, FALSE,
  715.         PANEL_SHOW_VALUE, FALSE,
  716.         PANEL_MIN_VALUE, 0,
  717.         PANEL_MAX_VALUE, 100,
  718.         PANEL_VALUE, 0,
  719.         PANEL_NOTIFY_PROC, PlayGainSlider,
  720.         NULL);
  721.     return obj;
  722. }
  723.  
  724. /*
  725.  * Create object `recordGain' in the specified instance.
  726.  */
  727. Xv_opaque
  728. dtr_mainWindow_recordGain_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  729. {
  730.     extern void        RecordGainSlider(Panel_item, int, Event *);
  731.     Xv_opaque    obj;
  732.     
  733.     obj = xv_create(owner, PANEL_SLIDER,
  734.         XV_KEY_DATA, INSTANCE, ip,
  735.         XV_X, 324,
  736.         XV_Y, 92,
  737.         PANEL_SLIDER_WIDTH, 200,
  738.         PANEL_TICKS, 10,
  739.         PANEL_LABEL_STRING, "Record",
  740.         PANEL_DIRECTION, PANEL_HORIZONTAL,
  741.         PANEL_SLIDER_END_BOXES, FALSE,
  742.         PANEL_SHOW_RANGE, FALSE,
  743.         PANEL_SHOW_VALUE, FALSE,
  744.         PANEL_MIN_VALUE, 0,
  745.         PANEL_MAX_VALUE, 100,
  746.         PANEL_VALUE, 0,
  747.         PANEL_NOTIFY_PROC, RecordGainSlider,
  748.         NULL);
  749.     return obj;
  750. }
  751.  
  752. /*
  753.  * Create object `vuMeterCanvas' in the specified instance.
  754.  */
  755. Xv_opaque
  756. dtr_mainWindow_vuMeterCanvas_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  757. {
  758.     extern void    VUMeterCanvasRepaintHandler(Canvas, Xv_window, Rectlist *);
  759.     Xv_opaque    obj;
  760.     
  761.     obj = xv_create(owner, CANVAS,
  762.         XV_KEY_DATA, INSTANCE, ip,
  763.         XV_X, 0,
  764.         XV_Y, (int)xv_get(ip->menuControlPanel, XV_Y) +
  765.               (int)xv_get(ip->menuControlPanel, XV_HEIGHT) + 2,
  766.         XV_WIDTH, 147,
  767.         XV_HEIGHT, 32,
  768.         CANVAS_REPAINT_PROC, VUMeterCanvasRepaintHandler,
  769.         NULL);
  770.     gcm_initialize_colors(obj, "BG1", NULL);
  771.     /*
  772.      * This line is here for backwards compatibility. It will be
  773.      * removed for the next release.
  774.      */
  775.     xv_set(canvas_paint_window(obj), XV_KEY_DATA, INSTANCE, ip, NULL);
  776.     return obj;
  777. }
  778.  
  779. /*
  780.  * Create object `selectionInfoControlPanel' in the specified instance.
  781.  */
  782. Xv_opaque
  783. dtr_mainWindow_selectionInfoControlPanel_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  784. {
  785.     Xv_opaque    obj;
  786.     
  787.     obj = xv_create(owner, PANEL,
  788.         XV_KEY_DATA, INSTANCE, ip,
  789.         XV_X, (int)xv_get(ip->vuMeterCanvas, XV_X) +
  790.               (int)xv_get(ip->vuMeterCanvas, XV_WIDTH),
  791.         XV_Y, (int)xv_get(ip->menuControlPanel, XV_Y) +
  792.               (int)xv_get(ip->menuControlPanel, XV_HEIGHT) + 2,
  793.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  794.         XV_HEIGHT, 32,
  795.         WIN_BORDER, FALSE,
  796.         NULL);
  797.     gcm_initialize_colors(obj, NULL, NULL);
  798.     return obj;
  799. }
  800.  
  801. /*
  802.  * Create object `selectionDurationLabelMessage' in the specified instance.
  803.  */
  804. Xv_opaque
  805. dtr_mainWindow_selectionDurationLabelMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  806. {
  807.     Xv_opaque    obj;
  808.     
  809.     obj = xv_create(owner, PANEL_MESSAGE,
  810.         XV_KEY_DATA, INSTANCE, ip,
  811.         XV_X, 8,
  812.         XV_Y, 8,
  813.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  814.         PANEL_LABEL_STRING, "Selection Duration :",
  815.         PANEL_LABEL_BOLD, TRUE,
  816.         NULL);
  817.     return obj;
  818. }
  819.  
  820. /*
  821.  * Create object `selectionDurationMessage' in the specified instance.
  822.  */
  823. Xv_opaque
  824. dtr_mainWindow_selectionDurationMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  825. {
  826.     Xv_opaque    obj;
  827.     
  828.     obj = xv_create(owner, PANEL_MESSAGE,
  829.         XV_KEY_DATA, INSTANCE, ip,
  830.         XV_X, 152,
  831.         XV_Y, 8,
  832.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  833.         PANEL_LABEL_BOLD, FALSE,
  834.         NULL);
  835.     return obj;
  836. }
  837.  
  838. /*
  839.  * Create object `selectionSizeLabelMessage' in the specified instance.
  840.  */
  841. Xv_opaque
  842. dtr_mainWindow_selectionSizeLabelMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  843. {
  844.     Xv_opaque    obj;
  845.     
  846.     obj = xv_create(owner, PANEL_MESSAGE,
  847.         XV_KEY_DATA, INSTANCE, ip,
  848.         XV_X, 312,
  849.         XV_Y, 8,
  850.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  851.         PANEL_LABEL_STRING, "Size :",
  852.         PANEL_LABEL_BOLD, TRUE,
  853.         NULL);
  854.     return obj;
  855. }
  856.  
  857. /*
  858.  * Create object `selectionSizeMessage' in the specified instance.
  859.  */
  860. Xv_opaque
  861. dtr_mainWindow_selectionSizeMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  862. {
  863.     Xv_opaque    obj;
  864.     
  865.     obj = xv_create(owner, PANEL_MESSAGE,
  866.         XV_KEY_DATA, INSTANCE, ip,
  867.         XV_X, 356,
  868.         XV_Y, 8,
  869.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  870.         PANEL_LABEL_BOLD, FALSE,
  871.         NULL);
  872.     return obj;
  873. }
  874.  
  875. /*
  876.  * Create object `waveCanvas' in the specified instance.
  877.  */
  878. Xv_opaque
  879. dtr_mainWindow_waveCanvas_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  880. {
  881.     extern Notify_value    WaveCanvasEventHandler(Xv_window, Event *, Notify_arg, Notify_event_type);
  882.     extern void    WaveCanvasRepaintHandler(Canvas, Xv_window, Display *, Window, Xv_xrectlist *);
  883.     Xv_opaque    obj;
  884.     
  885.     obj = xv_create(owner, CANVAS,
  886.         XV_KEY_DATA, INSTANCE, ip,
  887.         XV_X, 0,
  888.         XV_Y, (int)xv_get(ip->vuMeterCanvas, XV_Y) +
  889.               (int)xv_get(ip->vuMeterCanvas, XV_HEIGHT),
  890.         XV_WIDTH, 596,
  891.         XV_HEIGHT, 200,
  892.         CANVAS_REPAINT_PROC, WaveCanvasRepaintHandler,
  893.         CANVAS_X_PAINT_WINDOW, TRUE,
  894.         NULL);
  895.     gcm_initialize_colors(obj, "BG3", "White");
  896.     xv_set(canvas_paint_window(obj), WIN_CONSUME_EVENTS,
  897.         WIN_MOUSE_BUTTONS,
  898.         LOC_MOVE,
  899.         LOC_DRAG,
  900.         LOC_WINENTER,
  901.         LOC_WINEXIT,
  902.         WIN_ASCII_EVENTS,
  903.         WIN_LEFT_KEYS,
  904.         WIN_RIGHT_KEYS,
  905.         WIN_TOP_KEYS,
  906.         NULL, NULL);
  907.     notify_interpose_event_func(canvas_paint_window(obj),
  908.         (Notify_func) WaveCanvasEventHandler, NOTIFY_SAFE);
  909.     /*
  910.      * This line is here for backwards compatibility. It will be
  911.      * removed for the next release.
  912.      */
  913.     xv_set(canvas_paint_window(obj), XV_KEY_DATA, INSTANCE, ip, NULL);
  914.     return obj;
  915. }
  916.  
  917. /*
  918.  * Create object `scaleCanvas' in the specified instance.
  919.  */
  920. Xv_opaque
  921. dtr_mainWindow_scaleCanvas_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  922. {
  923.     extern void    ScaleCanvasRepaintHandler(Canvas, Xv_window, Display *, Window, Xv_xrectlist *);
  924.     Xv_opaque    obj;
  925.     
  926.     obj = xv_create(owner, CANVAS,
  927.         XV_KEY_DATA, INSTANCE, ip,
  928.         XV_X, 0,
  929.         XV_Y, (int)xv_get(ip->waveCanvas, XV_Y) +
  930.               (int)xv_get(ip->waveCanvas, XV_HEIGHT),
  931.         XV_WIDTH, 596,
  932.         XV_HEIGHT, 64,
  933.         CANVAS_REPAINT_PROC, ScaleCanvasRepaintHandler,
  934.         CANVAS_X_PAINT_WINDOW, TRUE,
  935.         NULL);
  936.     gcm_initialize_colors(obj, "Highlight", NULL);
  937.     /*
  938.      * This line is here for backwards compatibility. It will be
  939.      * removed for the next release.
  940.      */
  941.     xv_set(canvas_paint_window(obj), XV_KEY_DATA, INSTANCE, ip, NULL);
  942.     return obj;
  943. }
  944.  
  945. /*
  946.  * Create object `zoomControlPanel' in the specified instance.
  947.  */
  948. Xv_opaque
  949. dtr_mainWindow_zoomControlPanel_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  950. {
  951.     Xv_opaque    obj;
  952.     
  953.     obj = xv_create(owner, PANEL,
  954.         XV_KEY_DATA, INSTANCE, ip,
  955.         XV_X, 0,
  956.         XV_Y, 410,
  957.         XV_WIDTH, 597,
  958.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  959.         WIN_BORDER, TRUE,
  960.         NULL);
  961.     gcm_initialize_colors(obj, NULL, NULL);
  962.     return obj;
  963. }
  964.  
  965. /*
  966.  * Create object `canvasRewind2Button' in the specified instance.
  967.  */
  968. Xv_opaque
  969. dtr_mainWindow_canvasRewind2Button_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  970. {
  971.     extern void        CanvasRewind2Handler(Panel_item, Event *);
  972.     Xv_opaque    obj;
  973.     Xv_opaque        canvasRewind2Button_image;
  974.     static unsigned short    canvasRewind2Button_bits[] = {
  975. #include "icons/rewind2.icon"
  976.     };
  977.     
  978.     canvasRewind2Button_image = xv_create(XV_NULL, SERVER_IMAGE,
  979.         SERVER_IMAGE_DEPTH, 1,
  980.         SERVER_IMAGE_BITS, canvasRewind2Button_bits,
  981.         XV_WIDTH, 32,
  982.         XV_HEIGHT, 16,
  983.         NULL);
  984.     obj = xv_create(owner, PANEL_BUTTON,
  985.         XV_KEY_DATA, INSTANCE, ip,
  986.         XV_X, 8,
  987.         XV_Y, 8,
  988.         PANEL_LABEL_IMAGE, canvasRewind2Button_image,
  989.         PANEL_NOTIFY_PROC, CanvasRewind2Handler,
  990.         NULL);
  991.     return obj;
  992. }
  993.  
  994. /*
  995.  * Create object `canvasRewind1Button' in the specified instance.
  996.  */
  997. Xv_opaque
  998. dtr_mainWindow_canvasRewind1Button_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  999. {
  1000.     extern void        CanvasRewind1Handler(Panel_item, Event *);
  1001.     Xv_opaque    obj;
  1002.     Xv_opaque        canvasRewind1Button_image;
  1003.     static unsigned short    canvasRewind1Button_bits[] = {
  1004. #include "icons/rewind1.icon"
  1005.     };
  1006.     
  1007.     canvasRewind1Button_image = xv_create(XV_NULL, SERVER_IMAGE,
  1008.         SERVER_IMAGE_DEPTH, 1,
  1009.         SERVER_IMAGE_BITS, canvasRewind1Button_bits,
  1010.         XV_WIDTH, 32,
  1011.         XV_HEIGHT, 16,
  1012.         NULL);
  1013.     obj = xv_create(owner, PANEL_BUTTON,
  1014.         XV_KEY_DATA, INSTANCE, ip,
  1015.         XV_X, 64,
  1016.         XV_Y, 8,
  1017.         PANEL_LABEL_IMAGE, canvasRewind1Button_image,
  1018.         PANEL_NOTIFY_PROC, CanvasRewind1Handler,
  1019.         NULL);
  1020.     return obj;
  1021. }
  1022.  
  1023. /*
  1024.  * Create object `canvasFastForward1Button' in the specified instance.
  1025.  */
  1026. Xv_opaque
  1027. dtr_mainWindow_canvasFastForward1Button_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  1028. {
  1029.     extern void        CanvasFastForward1Handler(Panel_item, Event *);
  1030.     Xv_opaque    obj;
  1031.     Xv_opaque        canvasFastForward1Button_image;
  1032.     static unsigned short    canvasFastForward1Button_bits[] = {
  1033. #include "icons/fastfrwd1.icon"
  1034.     };
  1035.     
  1036.     canvasFastForward1Button_image = xv_create(XV_NULL, SERVER_IMAGE,
  1037.         SERVER_IMAGE_DEPTH, 1,
  1038.         SERVER_IMAGE_BITS, canvasFastForward1Button_bits,
  1039.         XV_WIDTH, 32,
  1040.         XV_HEIGHT, 16,
  1041.         NULL);
  1042.     obj = xv_create(owner, PANEL_BUTTON,
  1043.         XV_KEY_DATA, INSTANCE, ip,
  1044.         XV_X, 136,
  1045.         XV_Y, 8,
  1046.         PANEL_LABEL_IMAGE, canvasFastForward1Button_image,
  1047.         PANEL_NOTIFY_PROC, CanvasFastForward1Handler,
  1048.         NULL);
  1049.     return obj;
  1050. }
  1051.  
  1052. /*
  1053.  * Create object `canvasFastForward2Button' in the specified instance.
  1054.  */
  1055. Xv_opaque
  1056. dtr_mainWindow_canvasFastForward2Button_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  1057. {
  1058.     extern void        CanvasFastForward2Handler(Panel_item, Event *);
  1059.     Xv_opaque    obj;
  1060.     Xv_opaque        canvasFastForward2Button_image;
  1061.     static unsigned short    canvasFastForward2Button_bits[] = {
  1062. #include "icons/fastfrwd2.icon"
  1063.     };
  1064.     
  1065.     canvasFastForward2Button_image = xv_create(XV_NULL, SERVER_IMAGE,
  1066.         SERVER_IMAGE_DEPTH, 1,
  1067.         SERVER_IMAGE_BITS, canvasFastForward2Button_bits,
  1068.         XV_WIDTH, 32,
  1069.         XV_HEIGHT, 16,
  1070.         NULL);
  1071.     obj = xv_create(owner, PANEL_BUTTON,
  1072.         XV_KEY_DATA, INSTANCE, ip,
  1073.         XV_X, 192,
  1074.         XV_Y, 8,
  1075.         PANEL_LABEL_IMAGE, canvasFastForward2Button_image,
  1076.         PANEL_NOTIFY_PROC, CanvasFastForward2Handler,
  1077.         NULL);
  1078.     return obj;
  1079. }
  1080.  
  1081. /*
  1082.  * Create object `zoomLevelTextField' in the specified instance.
  1083.  */
  1084. Xv_opaque
  1085. dtr_mainWindow_zoomLevelTextField_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  1086. {
  1087.     extern Panel_setting    ZoomLevelTextFieldHandler(Panel_item, Event *);
  1088.     Xv_opaque    obj;
  1089.     
  1090.     obj = xv_create(owner, PANEL_TEXT,
  1091.         XV_KEY_DATA, INSTANCE, ip,
  1092.         XV_X, 340,
  1093.         XV_Y, 8,
  1094.         PANEL_VALUE_DISPLAY_LENGTH, 6,
  1095.         PANEL_VALUE_STORED_LENGTH, 80,
  1096.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1097.         PANEL_LABEL_STRING, "Zoom :",
  1098.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1099.         PANEL_READ_ONLY, FALSE,
  1100.         PANEL_NOTIFY_PROC, ZoomLevelTextFieldHandler,
  1101.         NULL);
  1102.     return obj;
  1103. }
  1104.  
  1105. /*
  1106.  * Create object `zoomTimesMessage' in the specified instance.
  1107.  */
  1108. Xv_opaque
  1109. dtr_mainWindow_zoomTimesMessage_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  1110. {
  1111.     Xv_opaque    obj;
  1112.     
  1113.     obj = xv_create(owner, PANEL_MESSAGE,
  1114.         XV_KEY_DATA, INSTANCE, ip,
  1115.         XV_X, 460,
  1116.         XV_Y, 8,
  1117.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1118.         PANEL_LABEL_STRING, "time(s)",
  1119.         PANEL_LABEL_BOLD, TRUE,
  1120.         NULL);
  1121.     return obj;
  1122. }
  1123.  
  1124. /*
  1125.  * Create object `zoomSlider' in the specified instance.
  1126.  */
  1127. Xv_opaque
  1128. dtr_mainWindow_zoomSlider_create(dtr_mainWindow_objects *ip, Xv_opaque owner)
  1129. {
  1130.     extern void        ZoomSliderHandler(Panel_item, int, Event *);
  1131.     Xv_opaque    obj;
  1132.     
  1133.     obj = xv_create(owner, PANEL_SLIDER,
  1134.         XV_KEY_DATA, INSTANCE, ip,
  1135.         XV_X, 260,
  1136.         XV_Y, 28,
  1137.         PANEL_SLIDER_WIDTH, 280,
  1138.         PANEL_TICKS, 0,
  1139.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1140.         PANEL_DIRECTION, PANEL_HORIZONTAL,
  1141.         PANEL_SLIDER_END_BOXES, TRUE,
  1142.         PANEL_SHOW_RANGE, FALSE,
  1143.         PANEL_SHOW_VALUE, FALSE,
  1144.         PANEL_MIN_VALUE, 100,
  1145.         PANEL_MAX_VALUE, 500,
  1146.         PANEL_VALUE, 0,
  1147.         PANEL_NOTIFY_PROC, ZoomSliderHandler,
  1148.         NULL);
  1149.     return obj;
  1150. }
  1151.  
  1152. /*
  1153.  * Initialize an instance of object `globalWaveCanvasPopUp'.
  1154.  */
  1155. dtr_globalWaveCanvasPopUp_objects *
  1156. dtr_globalWaveCanvasPopUp_objects_initialize(dtr_globalWaveCanvasPopUp_objects *ip, Xv_opaque owner)
  1157. {
  1158.     if (!ip && !(ip = (dtr_globalWaveCanvasPopUp_objects *) calloc(1, sizeof (dtr_globalWaveCanvasPopUp_objects))))
  1159.         return (dtr_globalWaveCanvasPopUp_objects *) NULL;
  1160.     if (!ip->globalWaveCanvasPopUp)
  1161.         ip->globalWaveCanvasPopUp = dtr_globalWaveCanvasPopUp_globalWaveCanvasPopUp_create(ip, owner);
  1162.     if (!ip->globalWaveCanvas)
  1163.         ip->globalWaveCanvas = dtr_globalWaveCanvasPopUp_globalWaveCanvas_create(ip, ip->globalWaveCanvasPopUp);
  1164.     if (!ip->globalWaveControlPanel)
  1165.         ip->globalWaveControlPanel = dtr_globalWaveCanvasPopUp_globalWaveControlPanel_create(ip, ip->globalWaveCanvasPopUp);
  1166.     if (!ip->globalWaveCanvasDoneButton)
  1167.         ip->globalWaveCanvasDoneButton = dtr_globalWaveCanvasPopUp_globalWaveCanvasDoneButton_create(ip, ip->globalWaveControlPanel);
  1168.     return ip;
  1169. }
  1170.  
  1171. /*
  1172.  * Create object `globalWaveCanvasPopUp' in the specified instance.
  1173.  */
  1174. Xv_opaque
  1175. dtr_globalWaveCanvasPopUp_globalWaveCanvasPopUp_create(dtr_globalWaveCanvasPopUp_objects *ip, Xv_opaque owner)
  1176. {
  1177.     extern Notify_value    GlobalWaveCanvasEventHandler(Xv_window, Event *, Notify_arg, Notify_event_type);
  1178.     Xv_opaque    obj;
  1179.     
  1180.     obj = xv_create(owner, FRAME_CMD,
  1181.         XV_KEY_DATA, INSTANCE, ip,
  1182.         XV_WIDTH, 707,
  1183.         XV_HEIGHT, 236,
  1184.         XV_LABEL, "Global Wave Canvas",
  1185.         XV_SHOW, FALSE,
  1186.         FRAME_SHOW_FOOTER, TRUE,
  1187.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  1188.         FRAME_CMD_PUSHPIN_IN, FALSE,
  1189.         NULL);
  1190.     gcm_initialize_colors(obj, "light gray", NULL);
  1191.     xv_set(obj, WIN_CONSUME_EVENTS,
  1192.         WIN_MOUSE_BUTTONS,
  1193.         LOC_MOVE,
  1194.         LOC_DRAG,
  1195.         LOC_WINENTER,
  1196.         LOC_WINEXIT,
  1197.         WIN_ASCII_EVENTS,
  1198.         WIN_LEFT_KEYS,
  1199.         WIN_RIGHT_KEYS,
  1200.         WIN_TOP_KEYS,
  1201.         NULL, NULL);
  1202.     notify_interpose_event_func(obj,
  1203.         (Notify_func) GlobalWaveCanvasEventHandler, NOTIFY_SAFE);
  1204.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  1205.     return obj;
  1206. }
  1207.  
  1208. /*
  1209.  * Create object `globalWaveCanvas' in the specified instance.
  1210.  */
  1211. Xv_opaque
  1212. dtr_globalWaveCanvasPopUp_globalWaveCanvas_create(dtr_globalWaveCanvasPopUp_objects *ip, Xv_opaque owner)
  1213. {
  1214.     extern Notify_value    GlobalWaveCanvasEventHandler(Xv_window, Event *, Notify_arg, Notify_event_type);
  1215.     extern void    GlobalWaveCanvasRepaintHandler(Canvas, Xv_window, Display *, Window, Xv_xrectlist *);
  1216.     Xv_opaque    obj;
  1217.     
  1218.     obj = xv_create(owner, CANVAS,
  1219.         XV_KEY_DATA, INSTANCE, ip,
  1220.         XV_X, 17,
  1221.         XV_Y, 0,
  1222.         XV_WIDTH, 669,
  1223.         XV_HEIGHT, 194,
  1224.         CANVAS_REPAINT_PROC, GlobalWaveCanvasRepaintHandler,
  1225.         CANVAS_X_PAINT_WINDOW, TRUE,
  1226.         NULL);
  1227.     gcm_initialize_colors(obj, "BG3", "White");
  1228.     xv_set(canvas_paint_window(obj), WIN_CONSUME_EVENTS,
  1229.         WIN_MOUSE_BUTTONS,
  1230.         LOC_MOVE,
  1231.         LOC_DRAG,
  1232.         LOC_WINENTER,
  1233.         LOC_WINEXIT,
  1234.         WIN_ASCII_EVENTS,
  1235.         WIN_LEFT_KEYS,
  1236.         WIN_RIGHT_KEYS,
  1237.         WIN_TOP_KEYS,
  1238.         NULL, NULL);
  1239.     notify_interpose_event_func(canvas_paint_window(obj),
  1240.         (Notify_func) GlobalWaveCanvasEventHandler, NOTIFY_SAFE);
  1241.     /*
  1242.      * This line is here for backwards compatibility. It will be
  1243.      * removed for the next release.
  1244.      */
  1245.     xv_set(canvas_paint_window(obj), XV_KEY_DATA, INSTANCE, ip, NULL);
  1246.     return obj;
  1247. }
  1248.  
  1249. /*
  1250.  * Create object `globalWaveControlPanel' in the specified instance.
  1251.  */
  1252. Xv_opaque
  1253. dtr_globalWaveCanvasPopUp_globalWaveControlPanel_create(dtr_globalWaveCanvasPopUp_objects *ip, Xv_opaque owner)
  1254. {
  1255.     Xv_opaque    obj;
  1256.     
  1257.     obj = xv_create(owner, PANEL,
  1258.         XV_KEY_DATA, INSTANCE, ip,
  1259.         XV_X, 17,
  1260.         XV_Y, (int)xv_get(ip->globalWaveCanvas, XV_Y) +
  1261.               (int)xv_get(ip->globalWaveCanvas, XV_HEIGHT),
  1262.         XV_WIDTH, 623,
  1263.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  1264.         WIN_BORDER, FALSE,
  1265.         NULL);
  1266.     gcm_initialize_colors(obj, "light gray", NULL);
  1267.     return obj;
  1268. }
  1269.  
  1270. /*
  1271.  * Create object `globalWaveCanvasDoneButton' in the specified instance.
  1272.  */
  1273. Xv_opaque
  1274. dtr_globalWaveCanvasPopUp_globalWaveCanvasDoneButton_create(dtr_globalWaveCanvasPopUp_objects *ip, Xv_opaque owner)
  1275. {
  1276.     extern void        GlobalWaveCanvasDoneHandler(Panel_item, Event *);
  1277.     Xv_opaque    obj;
  1278.     
  1279.     obj = xv_create(owner, PANEL_BUTTON,
  1280.         XV_KEY_DATA, INSTANCE, ip,
  1281.         XV_X, 328,
  1282.         XV_Y, 8,
  1283.         PANEL_LABEL_STRING, "Done",
  1284.         PANEL_EVENT_PROC, GlobalWaveCanvasDoneHandler,
  1285.         NULL);
  1286.     return obj;
  1287. }
  1288.  
  1289. /*
  1290.  * Initialize an instance of object `editListPanelPopUp'.
  1291.  */
  1292. dtr_editListPanelPopUp_objects *
  1293. dtr_editListPanelPopUp_objects_initialize(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1294. {
  1295.     if (!ip && !(ip = (dtr_editListPanelPopUp_objects *) calloc(1, sizeof (dtr_editListPanelPopUp_objects))))
  1296.         return (dtr_editListPanelPopUp_objects *) NULL;
  1297.     if (!ip->editListPanelPopUp)
  1298.         ip->editListPanelPopUp = dtr_editListPanelPopUp_editListPanelPopUp_create(ip, owner);
  1299.     if (!ip->editListUpperControlPanel)
  1300.         ip->editListUpperControlPanel = dtr_editListPanelPopUp_editListUpperControlPanel_create(ip, ip->editListPanelPopUp);
  1301.     if (!ip->editListFileButton)
  1302.         ip->editListFileButton = dtr_editListPanelPopUp_editListFileButton_create(ip, ip->editListUpperControlPanel);
  1303.     if (!ip->totalNumberOfEditsLabelMessage)
  1304.         ip->totalNumberOfEditsLabelMessage = dtr_editListPanelPopUp_totalNumberOfEditsLabelMessage_create(ip, ip->editListUpperControlPanel);
  1305.     if (!ip->totalNumberOfEditsMessage)
  1306.         ip->totalNumberOfEditsMessage = dtr_editListPanelPopUp_totalNumberOfEditsMessage_create(ip, ip->editListUpperControlPanel);
  1307.     if (!ip->editListMessage)
  1308.         ip->editListMessage = dtr_editListPanelPopUp_editListMessage_create(ip, ip->editListUpperControlPanel);
  1309.     if (!ip->editListScrollListHeaderMessagePart1)
  1310.         ip->editListScrollListHeaderMessagePart1 = dtr_editListPanelPopUp_editListScrollListHeaderMessagePart1_create(ip, ip->editListUpperControlPanel);
  1311.     if (!ip->editListScrollListHeaderMessagePart2)
  1312.         ip->editListScrollListHeaderMessagePart2 = dtr_editListPanelPopUp_editListScrollListHeaderMessagePart2_create(ip, ip->editListUpperControlPanel);
  1313.     if (!ip->editListScrollList)
  1314.         ip->editListScrollList = dtr_editListPanelPopUp_editListScrollList_create(ip, ip->editListUpperControlPanel);
  1315.     if (!ip->editListLowerControlPanel)
  1316.         ip->editListLowerControlPanel = dtr_editListPanelPopUp_editListLowerControlPanel_create(ip, ip->editListPanelPopUp);
  1317.     if (!ip->currentEditLabelMessage)
  1318.         ip->currentEditLabelMessage = dtr_editListPanelPopUp_currentEditLabelMessage_create(ip, ip->editListLowerControlPanel);
  1319.     if (!ip->currentEditMessage)
  1320.         ip->currentEditMessage = dtr_editListPanelPopUp_currentEditMessage_create(ip, ip->editListLowerControlPanel);
  1321.     if (!ip->soundFileTextField)
  1322.         ip->soundFileTextField = dtr_editListPanelPopUp_soundFileTextField_create(ip, ip->editListLowerControlPanel);
  1323.     if (!ip->labelTextField)
  1324.         ip->labelTextField = dtr_editListPanelPopUp_labelTextField_create(ip, ip->editListLowerControlPanel);
  1325.     if (!ip->startingTimeMessage)
  1326.         ip->startingTimeMessage = dtr_editListPanelPopUp_startingTimeMessage_create(ip, ip->editListLowerControlPanel);
  1327.     if (!ip->startingTimeMinuteTextField)
  1328.         ip->startingTimeMinuteTextField = dtr_editListPanelPopUp_startingTimeMinuteTextField_create(ip, ip->editListLowerControlPanel);
  1329.     if (!ip->startingTimeMinuteMessage)
  1330.         ip->startingTimeMinuteMessage = dtr_editListPanelPopUp_startingTimeMinuteMessage_create(ip, ip->editListLowerControlPanel);
  1331.     if (!ip->startingTimeSecondTextField)
  1332.         ip->startingTimeSecondTextField = dtr_editListPanelPopUp_startingTimeSecondTextField_create(ip, ip->editListLowerControlPanel);
  1333.     if (!ip->startingTimeSecondMessage)
  1334.         ip->startingTimeSecondMessage = dtr_editListPanelPopUp_startingTimeSecondMessage_create(ip, ip->editListLowerControlPanel);
  1335.     if (!ip->endingTimeMessage)
  1336.         ip->endingTimeMessage = dtr_editListPanelPopUp_endingTimeMessage_create(ip, ip->editListLowerControlPanel);
  1337.     if (!ip->endingTimeMinuteTextField)
  1338.         ip->endingTimeMinuteTextField = dtr_editListPanelPopUp_endingTimeMinuteTextField_create(ip, ip->editListLowerControlPanel);
  1339.     if (!ip->endingTimeMinuteMessage)
  1340.         ip->endingTimeMinuteMessage = dtr_editListPanelPopUp_endingTimeMinuteMessage_create(ip, ip->editListLowerControlPanel);
  1341.     if (!ip->endingTimeSecondTextField)
  1342.         ip->endingTimeSecondTextField = dtr_editListPanelPopUp_endingTimeSecondTextField_create(ip, ip->editListLowerControlPanel);
  1343.     if (!ip->endingTimeSecondMessage)
  1344.         ip->endingTimeSecondMessage = dtr_editListPanelPopUp_endingTimeSecondMessage_create(ip, ip->editListLowerControlPanel);
  1345.     if (!ip->editListVolumeSlider)
  1346.         ip->editListVolumeSlider = dtr_editListPanelPopUp_editListVolumeSlider_create(ip, ip->editListLowerControlPanel);
  1347.     if (!ip->previewEditButton)
  1348.         ip->previewEditButton = dtr_editListPanelPopUp_previewEditButton_create(ip, ip->editListLowerControlPanel);
  1349.     if (!ip->addButton)
  1350.         ip->addButton = dtr_editListPanelPopUp_addButton_create(ip, ip->editListLowerControlPanel);
  1351.     if (!ip->modifyButton)
  1352.         ip->modifyButton = dtr_editListPanelPopUp_modifyButton_create(ip, ip->editListLowerControlPanel);
  1353.     if (!ip->deleteButton)
  1354.         ip->deleteButton = dtr_editListPanelPopUp_deleteButton_create(ip, ip->editListLowerControlPanel);
  1355.     if (!ip->deleteAllButton)
  1356.         ip->deleteAllButton = dtr_editListPanelPopUp_deleteAllButton_create(ip, ip->editListLowerControlPanel);
  1357.     return ip;
  1358. }
  1359.  
  1360. /*
  1361.  * Create object `editListPanelPopUp' in the specified instance.
  1362.  */
  1363. Xv_opaque
  1364. dtr_editListPanelPopUp_editListPanelPopUp_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1365. {
  1366.     Xv_opaque    obj;
  1367.     
  1368.     obj = xv_create(owner, FRAME_CMD,
  1369.         XV_KEY_DATA, INSTANCE, ip,
  1370.         XV_WIDTH, 466,
  1371.         XV_HEIGHT, 460,
  1372.         XV_LABEL, "Edit List Panel",
  1373.         XV_SHOW, FALSE,
  1374.         FRAME_SHOW_FOOTER, FALSE,
  1375.         FRAME_SHOW_RESIZE_CORNER, FALSE,
  1376.         FRAME_CMD_PUSHPIN_IN, FALSE,
  1377.         NULL);
  1378.     gcm_initialize_colors(obj, "light gray", NULL);
  1379.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  1380.     return obj;
  1381. }
  1382.  
  1383. /*
  1384.  * Create object `editListUpperControlPanel' in the specified instance.
  1385.  */
  1386. Xv_opaque
  1387. dtr_editListPanelPopUp_editListUpperControlPanel_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1388. {
  1389.     Xv_opaque    obj;
  1390.     
  1391.     obj = xv_create(owner, PANEL,
  1392.         XV_KEY_DATA, INSTANCE, ip,
  1393.         XV_X, 0,
  1394.         XV_Y, 0,
  1395.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  1396.         XV_HEIGHT, 261,
  1397.         WIN_BORDER, TRUE,
  1398.         NULL);
  1399.     gcm_initialize_colors(obj, NULL, NULL);
  1400.     return obj;
  1401. }
  1402.  
  1403. /*
  1404.  * Create object `editListFileButton' in the specified instance.
  1405.  */
  1406. Xv_opaque
  1407. dtr_editListPanelPopUp_editListFileButton_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1408. {
  1409.     Xv_opaque    obj;
  1410.     
  1411.     obj = xv_create(owner, PANEL_BUTTON,
  1412.         XV_KEY_DATA, INSTANCE, ip,
  1413.         XV_X, 16,
  1414.         XV_Y, 12,
  1415.         PANEL_LABEL_STRING, "Document",
  1416.         PANEL_ITEM_MENU, dtr_editListDocumentMenu_create((caddr_t) ip, ip->editListPanelPopUp),
  1417.         NULL);
  1418.     return obj;
  1419. }
  1420.  
  1421. /*
  1422.  * Create object `totalNumberOfEditsLabelMessage' in the specified instance.
  1423.  */
  1424. Xv_opaque
  1425. dtr_editListPanelPopUp_totalNumberOfEditsLabelMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1426. {
  1427.     Xv_opaque    obj;
  1428.     
  1429.     obj = xv_create(owner, PANEL_MESSAGE,
  1430.         XV_KEY_DATA, INSTANCE, ip,
  1431.         XV_X, 248,
  1432.         XV_Y, 12,
  1433.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1434.         PANEL_LABEL_STRING, "Number of Edits :",
  1435.         PANEL_LABEL_BOLD, TRUE,
  1436.         NULL);
  1437.     return obj;
  1438. }
  1439.  
  1440. /*
  1441.  * Create object `totalNumberOfEditsMessage' in the specified instance.
  1442.  */
  1443. Xv_opaque
  1444. dtr_editListPanelPopUp_totalNumberOfEditsMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1445. {
  1446.     Xv_opaque    obj;
  1447.     
  1448.     obj = xv_create(owner, PANEL_MESSAGE,
  1449.         XV_KEY_DATA, INSTANCE, ip,
  1450.         XV_X, 372,
  1451.         XV_Y, 12,
  1452.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1453.         PANEL_LABEL_BOLD, FALSE,
  1454.         NULL);
  1455.     return obj;
  1456. }
  1457.  
  1458. /*
  1459.  * Create object `editListMessage' in the specified instance.
  1460.  */
  1461. Xv_opaque
  1462. dtr_editListPanelPopUp_editListMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1463. {
  1464.     Xv_opaque    obj;
  1465.     
  1466.     obj = xv_create(owner, PANEL_MESSAGE,
  1467.         XV_KEY_DATA, INSTANCE, ip,
  1468.         XV_X, 120,
  1469.         XV_Y, 52,
  1470.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1471.         PANEL_LABEL_BOLD, FALSE,
  1472.         NULL);
  1473.     return obj;
  1474. }
  1475.  
  1476. /*
  1477.  * Create object `editListScrollListHeaderMessagePart1' in the specified instance.
  1478.  */
  1479. Xv_opaque
  1480. dtr_editListPanelPopUp_editListScrollListHeaderMessagePart1_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1481. {
  1482.     Xv_opaque    obj;
  1483.     
  1484.     obj = xv_create(owner, PANEL_MESSAGE,
  1485.         XV_KEY_DATA, INSTANCE, ip,
  1486.         XV_X, 20,
  1487.         XV_Y, 60,
  1488.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1489.         PANEL_LABEL_STRING, "Edit #               Label               ",
  1490.         PANEL_LABEL_BOLD, FALSE,
  1491.         NULL);
  1492.     return obj;
  1493. }
  1494.  
  1495. /*
  1496.  * Create object `editListScrollListHeaderMessagePart2' in the specified instance.
  1497.  */
  1498. Xv_opaque
  1499. dtr_editListPanelPopUp_editListScrollListHeaderMessagePart2_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1500. {
  1501.     Xv_opaque    obj;
  1502.     
  1503.     obj = xv_create(owner, PANEL_MESSAGE,
  1504.         XV_KEY_DATA, INSTANCE, ip,
  1505.         XV_X, 280,
  1506.         XV_Y, 60,
  1507.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1508.         PANEL_LABEL_STRING, "Duration (min : sec . 10ths)",
  1509.         PANEL_LABEL_BOLD, FALSE,
  1510.         NULL);
  1511.     return obj;
  1512. }
  1513.  
  1514. /*
  1515.  * Create object `editListScrollList' in the specified instance.
  1516.  */
  1517. Xv_opaque
  1518. dtr_editListPanelPopUp_editListScrollList_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1519. {
  1520.     extern int        DumpEntry(Panel_item, char *, Xv_opaque, Panel_list_op, Event *, int);
  1521.     Xv_opaque    obj;
  1522.     
  1523.     obj = xv_create(owner, PANEL_LIST,
  1524.         XV_KEY_DATA, INSTANCE, ip,
  1525.         XV_X, 16,
  1526.         XV_Y, 80,
  1527.         PANEL_LIST_WIDTH, 420,
  1528.         PANEL_LIST_DISPLAY_ROWS, 8,
  1529.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1530.         PANEL_READ_ONLY, TRUE,
  1531.         PANEL_CHOOSE_ONE, TRUE,
  1532.         PANEL_CHOOSE_NONE, TRUE,
  1533.         PANEL_NOTIFY_PROC, DumpEntry,
  1534.         NULL);
  1535.     return obj;
  1536. }
  1537.  
  1538. /*
  1539.  * Create object `editListLowerControlPanel' in the specified instance.
  1540.  */
  1541. Xv_opaque
  1542. dtr_editListPanelPopUp_editListLowerControlPanel_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1543. {
  1544.     Xv_opaque    obj;
  1545.     
  1546.     obj = xv_create(owner, PANEL,
  1547.         XV_KEY_DATA, INSTANCE, ip,
  1548.         XV_X, 0,
  1549.         XV_Y, 260,
  1550.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  1551.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  1552.         WIN_BORDER, TRUE,
  1553.         NULL);
  1554.     gcm_initialize_colors(obj, NULL, NULL);
  1555.     return obj;
  1556. }
  1557.  
  1558. /*
  1559.  * Create object `currentEditLabelMessage' in the specified instance.
  1560.  */
  1561. Xv_opaque
  1562. dtr_editListPanelPopUp_currentEditLabelMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1563. {
  1564.     Xv_opaque    obj;
  1565.     
  1566.     obj = xv_create(owner, PANEL_MESSAGE,
  1567.         XV_KEY_DATA, INSTANCE, ip,
  1568.         XV_X, 144,
  1569.         XV_Y, 8,
  1570.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1571.         PANEL_LABEL_STRING, "Current Selection :  ",
  1572.         PANEL_LABEL_BOLD, TRUE,
  1573.         NULL);
  1574.     return obj;
  1575. }
  1576.  
  1577. /*
  1578.  * Create object `currentEditMessage' in the specified instance.
  1579.  */
  1580. Xv_opaque
  1581. dtr_editListPanelPopUp_currentEditMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1582. {
  1583.     Xv_opaque    obj;
  1584.     
  1585.     obj = xv_create(owner, PANEL_MESSAGE,
  1586.         XV_KEY_DATA, INSTANCE, ip,
  1587.         XV_X, 284,
  1588.         XV_Y, 8,
  1589.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1590.         PANEL_LABEL_BOLD, FALSE,
  1591.         NULL);
  1592.     return obj;
  1593. }
  1594.  
  1595. /*
  1596.  * Create object `soundFileTextField' in the specified instance.
  1597.  */
  1598. Xv_opaque
  1599. dtr_editListPanelPopUp_soundFileTextField_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1600. {
  1601.     Xv_opaque    obj;
  1602.     
  1603.     obj = xv_create(owner, PANEL_TEXT,
  1604.         XV_KEY_DATA, INSTANCE, ip,
  1605.         XV_X, 10,
  1606.         XV_Y, 32,
  1607.         PANEL_VALUE_DISPLAY_LENGTH, 45,
  1608.         PANEL_VALUE_STORED_LENGTH, 1024,
  1609.         PANEL_LABEL_STRING, "Sound File :",
  1610.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1611.         PANEL_READ_ONLY, FALSE,
  1612.         NULL);
  1613.     return obj;
  1614. }
  1615.  
  1616. /*
  1617.  * Create object `labelTextField' in the specified instance.
  1618.  */
  1619. Xv_opaque
  1620. dtr_editListPanelPopUp_labelTextField_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1621. {
  1622.     extern Panel_setting    LabelTextFieldHandler(Panel_item, Event *);
  1623.     Xv_opaque    obj;
  1624.     
  1625.     obj = xv_create(owner, PANEL_TEXT,
  1626.         XV_KEY_DATA, INSTANCE, ip,
  1627.         XV_X, 10,
  1628.         XV_Y, 59,
  1629.         PANEL_VALUE_DISPLAY_LENGTH, 45,
  1630.         PANEL_VALUE_STORED_LENGTH, 80,
  1631.         PANEL_LABEL_STRING, "Label         :",
  1632.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1633.         PANEL_READ_ONLY, FALSE,
  1634.         PANEL_NOTIFY_PROC, LabelTextFieldHandler,
  1635.         NULL);
  1636.     return obj;
  1637. }
  1638.  
  1639. /*
  1640.  * Create object `startingTimeMessage' in the specified instance.
  1641.  */
  1642. Xv_opaque
  1643. dtr_editListPanelPopUp_startingTimeMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1644. {
  1645.     Xv_opaque    obj;
  1646.     
  1647.     obj = xv_create(owner, PANEL_MESSAGE,
  1648.         XV_KEY_DATA, INSTANCE, ip,
  1649.         XV_X, 9,
  1650.         XV_Y, 87,
  1651.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1652.         PANEL_LABEL_STRING, "Starting Time :",
  1653.         PANEL_LABEL_BOLD, TRUE,
  1654.         NULL);
  1655.     return obj;
  1656. }
  1657.  
  1658. /*
  1659.  * Create object `startingTimeMinuteTextField' in the specified instance.
  1660.  */
  1661. Xv_opaque
  1662. dtr_editListPanelPopUp_startingTimeMinuteTextField_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1663. {
  1664.     Xv_opaque    obj;
  1665.     
  1666.     obj = xv_create(owner, PANEL_TEXT,
  1667.         XV_KEY_DATA, INSTANCE, ip,
  1668.         XV_X, 125,
  1669.         XV_Y, 87,
  1670.         PANEL_VALUE_DISPLAY_LENGTH, 6,
  1671.         PANEL_VALUE_STORED_LENGTH, 80,
  1672.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1673.         PANEL_READ_ONLY, FALSE,
  1674.         NULL);
  1675.     return obj;
  1676. }
  1677.  
  1678. /*
  1679.  * Create object `startingTimeMinuteMessage' in the specified instance.
  1680.  */
  1681. Xv_opaque
  1682. dtr_editListPanelPopUp_startingTimeMinuteMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1683. {
  1684.     Xv_opaque    obj;
  1685.     
  1686.     obj = xv_create(owner, PANEL_MESSAGE,
  1687.         XV_KEY_DATA, INSTANCE, ip,
  1688.         XV_X, 189,
  1689.         XV_Y, 87,
  1690.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1691.         PANEL_LABEL_STRING, "m.",
  1692.         PANEL_LABEL_BOLD, FALSE,
  1693.         NULL);
  1694.     return obj;
  1695. }
  1696.  
  1697. /*
  1698.  * Create object `startingTimeSecondTextField' in the specified instance.
  1699.  */
  1700. Xv_opaque
  1701. dtr_editListPanelPopUp_startingTimeSecondTextField_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1702. {
  1703.     Xv_opaque    obj;
  1704.     
  1705.     obj = xv_create(owner, PANEL_TEXT,
  1706.         XV_KEY_DATA, INSTANCE, ip,
  1707.         XV_X, 220,
  1708.         XV_Y, 87,
  1709.         PANEL_VALUE_DISPLAY_LENGTH, 6,
  1710.         PANEL_VALUE_STORED_LENGTH, 80,
  1711.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1712.         PANEL_READ_ONLY, FALSE,
  1713.         NULL);
  1714.     return obj;
  1715. }
  1716.  
  1717. /*
  1718.  * Create object `startingTimeSecondMessage' in the specified instance.
  1719.  */
  1720. Xv_opaque
  1721. dtr_editListPanelPopUp_startingTimeSecondMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1722. {
  1723.     Xv_opaque    obj;
  1724.     
  1725.     obj = xv_create(owner, PANEL_MESSAGE,
  1726.         XV_KEY_DATA, INSTANCE, ip,
  1727.         XV_X, 285,
  1728.         XV_Y, 87,
  1729.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1730.         PANEL_LABEL_STRING, "s.",
  1731.         PANEL_LABEL_BOLD, FALSE,
  1732.         NULL);
  1733.     return obj;
  1734. }
  1735.  
  1736. /*
  1737.  * Create object `endingTimeMessage' in the specified instance.
  1738.  */
  1739. Xv_opaque
  1740. dtr_editListPanelPopUp_endingTimeMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1741. {
  1742.     Xv_opaque    obj;
  1743.     
  1744.     obj = xv_create(owner, PANEL_MESSAGE,
  1745.         XV_KEY_DATA, INSTANCE, ip,
  1746.         XV_X, 8,
  1747.         XV_Y, 107,
  1748.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1749.         PANEL_LABEL_STRING, "Ending   Time :",
  1750.         PANEL_LABEL_BOLD, TRUE,
  1751.         NULL);
  1752.     return obj;
  1753. }
  1754.  
  1755. /*
  1756.  * Create object `endingTimeMinuteTextField' in the specified instance.
  1757.  */
  1758. Xv_opaque
  1759. dtr_editListPanelPopUp_endingTimeMinuteTextField_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1760. {
  1761.     Xv_opaque    obj;
  1762.     
  1763.     obj = xv_create(owner, PANEL_TEXT,
  1764.         XV_KEY_DATA, INSTANCE, ip,
  1765.         XV_X, 125,
  1766.         XV_Y, 107,
  1767.         PANEL_VALUE_DISPLAY_LENGTH, 6,
  1768.         PANEL_VALUE_STORED_LENGTH, 80,
  1769.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1770.         PANEL_READ_ONLY, FALSE,
  1771.         NULL);
  1772.     return obj;
  1773. }
  1774.  
  1775. /*
  1776.  * Create object `endingTimeMinuteMessage' in the specified instance.
  1777.  */
  1778. Xv_opaque
  1779. dtr_editListPanelPopUp_endingTimeMinuteMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1780. {
  1781.     Xv_opaque    obj;
  1782.     
  1783.     obj = xv_create(owner, PANEL_MESSAGE,
  1784.         XV_KEY_DATA, INSTANCE, ip,
  1785.         XV_X, 189,
  1786.         XV_Y, 107,
  1787.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1788.         PANEL_LABEL_STRING, "m.",
  1789.         PANEL_LABEL_BOLD, FALSE,
  1790.         NULL);
  1791.     return obj;
  1792. }
  1793.  
  1794. /*
  1795.  * Create object `endingTimeSecondTextField' in the specified instance.
  1796.  */
  1797. Xv_opaque
  1798. dtr_editListPanelPopUp_endingTimeSecondTextField_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1799. {
  1800.     Xv_opaque    obj;
  1801.     
  1802.     obj = xv_create(owner, PANEL_TEXT,
  1803.         XV_KEY_DATA, INSTANCE, ip,
  1804.         XV_X, 220,
  1805.         XV_Y, 107,
  1806.         PANEL_VALUE_DISPLAY_LENGTH, 6,
  1807.         PANEL_VALUE_STORED_LENGTH, 80,
  1808.         PANEL_LAYOUT, PANEL_HORIZONTAL,
  1809.         PANEL_READ_ONLY, FALSE,
  1810.         NULL);
  1811.     return obj;
  1812. }
  1813.  
  1814. /*
  1815.  * Create object `endingTimeSecondMessage' in the specified instance.
  1816.  */
  1817. Xv_opaque
  1818. dtr_editListPanelPopUp_endingTimeSecondMessage_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1819. {
  1820.     Xv_opaque    obj;
  1821.     
  1822.     obj = xv_create(owner, PANEL_MESSAGE,
  1823.         XV_KEY_DATA, INSTANCE, ip,
  1824.         XV_X, 285,
  1825.         XV_Y, 107,
  1826.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1827.         PANEL_LABEL_STRING, "s.",
  1828.         PANEL_LABEL_BOLD, FALSE,
  1829.         NULL);
  1830.     return obj;
  1831. }
  1832.  
  1833. /*
  1834.  * Create object `editListVolumeSlider' in the specified instance.
  1835.  */
  1836. Xv_opaque
  1837. dtr_editListPanelPopUp_editListVolumeSlider_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1838. {
  1839.     extern void        PlayGainSlider(Panel_item, int, Event *);
  1840.     Xv_opaque    obj;
  1841.     
  1842.     obj = xv_create(owner, PANEL_SLIDER,
  1843.         XV_KEY_DATA, INSTANCE, ip,
  1844.         XV_X, 8,
  1845.         XV_Y, 128,
  1846.         PANEL_SLIDER_WIDTH, 200,
  1847.         PANEL_TICKS, 10,
  1848.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  1849.         PANEL_LABEL_STRING, "Volume",
  1850.         PANEL_DIRECTION, PANEL_HORIZONTAL,
  1851.         PANEL_SLIDER_END_BOXES, FALSE,
  1852.         PANEL_SHOW_RANGE, FALSE,
  1853.         PANEL_SHOW_VALUE, FALSE,
  1854.         PANEL_MIN_VALUE, 0,
  1855.         PANEL_MAX_VALUE, 100,
  1856.         PANEL_VALUE, 0,
  1857.         PANEL_NOTIFY_PROC, PlayGainSlider,
  1858.         NULL);
  1859.     return obj;
  1860. }
  1861.  
  1862. /*
  1863.  * Create object `previewEditButton' in the specified instance.
  1864.  */
  1865. Xv_opaque
  1866. dtr_editListPanelPopUp_previewEditButton_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1867. {
  1868.     extern void        PreviewEditButtonHandler(Panel_item, Event *);
  1869.     Xv_opaque    obj;
  1870.     
  1871.     obj = xv_create(owner, PANEL_BUTTON,
  1872.         XV_KEY_DATA, INSTANCE, ip,
  1873.         XV_X, 341,
  1874.         XV_Y, 128,
  1875.         PANEL_LABEL_WIDTH, 57,
  1876.         PANEL_LABEL_STRING, "Preview",
  1877.         PANEL_NOTIFY_PROC, PreviewEditButtonHandler,
  1878.         NULL);
  1879.     return obj;
  1880. }
  1881.  
  1882. /*
  1883.  * Create object `addButton' in the specified instance.
  1884.  */
  1885. Xv_opaque
  1886. dtr_editListPanelPopUp_addButton_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1887. {
  1888.     extern void        AddButtonHandler(Panel_item, Event *);
  1889.     Xv_opaque    obj;
  1890.     
  1891.     obj = xv_create(owner, PANEL_BUTTON,
  1892.         XV_KEY_DATA, INSTANCE, ip,
  1893.         XV_X, 11,
  1894.         XV_Y, 164,
  1895.         PANEL_LABEL_WIDTH, 57,
  1896.         PANEL_LABEL_STRING, "    Add",
  1897.         PANEL_NOTIFY_PROC, AddButtonHandler,
  1898.         NULL);
  1899.     return obj;
  1900. }
  1901.  
  1902. /*
  1903.  * Create object `modifyButton' in the specified instance.
  1904.  */
  1905. Xv_opaque
  1906. dtr_editListPanelPopUp_modifyButton_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1907. {
  1908.     extern void        ModifyButtonHandler(Panel_item, Event *);
  1909.     Xv_opaque    obj;
  1910.     
  1911.     obj = xv_create(owner, PANEL_BUTTON,
  1912.         XV_KEY_DATA, INSTANCE, ip,
  1913.         XV_X, 121,
  1914.         XV_Y, 164,
  1915.         PANEL_LABEL_WIDTH, 57,
  1916.         PANEL_LABEL_STRING, "  Modify",
  1917.         PANEL_NOTIFY_PROC, ModifyButtonHandler,
  1918.         NULL);
  1919.     return obj;
  1920. }
  1921.  
  1922. /*
  1923.  * Create object `deleteButton' in the specified instance.
  1924.  */
  1925. Xv_opaque
  1926. dtr_editListPanelPopUp_deleteButton_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1927. {
  1928.     extern void        DeleteButtonHandler(Panel_item, Event *);
  1929.     Xv_opaque    obj;
  1930.     
  1931.     obj = xv_create(owner, PANEL_BUTTON,
  1932.         XV_KEY_DATA, INSTANCE, ip,
  1933.         XV_X, 231,
  1934.         XV_Y, 164,
  1935.         PANEL_LABEL_WIDTH, 57,
  1936.         PANEL_LABEL_STRING, "  Delete",
  1937.         PANEL_NOTIFY_PROC, DeleteButtonHandler,
  1938.         NULL);
  1939.     return obj;
  1940. }
  1941.  
  1942. /*
  1943.  * Create object `deleteAllButton' in the specified instance.
  1944.  */
  1945. Xv_opaque
  1946. dtr_editListPanelPopUp_deleteAllButton_create(dtr_editListPanelPopUp_objects *ip, Xv_opaque owner)
  1947. {
  1948.     extern void        DeleteAllButtonHandler(Panel_item, Event *);
  1949.     Xv_opaque    obj;
  1950.     
  1951.     obj = xv_create(owner, PANEL_BUTTON,
  1952.         XV_KEY_DATA, INSTANCE, ip,
  1953.         XV_X, 341,
  1954.         XV_Y, 164,
  1955.         PANEL_LABEL_WIDTH, 70,
  1956.         PANEL_LABEL_STRING, "Delete All",
  1957.         PANEL_NOTIFY_PROC, DeleteAllButtonHandler,
  1958.         NULL);
  1959.     return obj;
  1960. }
  1961.  
  1962. /*
  1963.  * Initialize an instance of object `infoPopUp'.
  1964.  */
  1965. dtr_infoPopUp_objects *
  1966. dtr_infoPopUp_objects_initialize(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  1967. {
  1968.     if (!ip && !(ip = (dtr_infoPopUp_objects *) calloc(1, sizeof (dtr_infoPopUp_objects))))
  1969.         return (dtr_infoPopUp_objects *) NULL;
  1970.     if (!ip->infoPopUp)
  1971.         ip->infoPopUp = dtr_infoPopUp_infoPopUp_create(ip, owner);
  1972.     if (!ip->infoControlPanel)
  1973.         ip->infoControlPanel = dtr_infoPopUp_infoControlPanel_create(ip, ip->infoPopUp);
  1974.     if (!ip->appNameMessage)
  1975.         ip->appNameMessage = dtr_infoPopUp_appNameMessage_create(ip, ip->infoControlPanel);
  1976.     if (!ip->appVersionMessage)
  1977.         ip->appVersionMessage = dtr_infoPopUp_appVersionMessage_create(ip, ip->infoControlPanel);
  1978.     if (!ip->appDescriptionMessage)
  1979.         ip->appDescriptionMessage = dtr_infoPopUp_appDescriptionMessage_create(ip, ip->infoControlPanel);
  1980.     if (!ip->appDescription2Message)
  1981.         ip->appDescription2Message = dtr_infoPopUp_appDescription2Message_create(ip, ip->infoControlPanel);
  1982.     if (!ip->developerMessage)
  1983.         ip->developerMessage = dtr_infoPopUp_developerMessage_create(ip, ip->infoControlPanel);
  1984.     if (!ip->developerMessage1)
  1985.         ip->developerMessage1 = dtr_infoPopUp_developerMessage1_create(ip, ip->infoControlPanel);
  1986.     if (!ip->copyrightMessage)
  1987.         ip->copyrightMessage = dtr_infoPopUp_copyrightMessage_create(ip, ip->infoControlPanel);
  1988.     if (!ip->copyright2Message)
  1989.         ip->copyright2Message = dtr_infoPopUp_copyright2Message_create(ip, ip->infoControlPanel);
  1990.     if (!ip->copyright3Message)
  1991.         ip->copyright3Message = dtr_infoPopUp_copyright3Message_create(ip, ip->infoControlPanel);
  1992.     if (!ip->moreinfoMessage)
  1993.         ip->moreinfoMessage = dtr_infoPopUp_moreinfoMessage_create(ip, ip->infoControlPanel);
  1994.     return ip;
  1995. }
  1996.  
  1997. /*
  1998.  * Create object `infoPopUp' in the specified instance.
  1999.  */
  2000. Xv_opaque
  2001. dtr_infoPopUp_infoPopUp_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2002. {
  2003.     Xv_opaque    obj;
  2004.     
  2005.     obj = xv_create(owner, FRAME_CMD,
  2006.         XV_KEY_DATA, INSTANCE, ip,
  2007.         XV_WIDTH, 475,
  2008.         XV_HEIGHT, 270,
  2009.         XV_LABEL, "DTR Info",
  2010.         XV_SHOW, FALSE,
  2011.         FRAME_SHOW_FOOTER, TRUE,
  2012.         FRAME_SHOW_RESIZE_CORNER, TRUE,
  2013.         FRAME_CMD_PUSHPIN_IN, FALSE,
  2014.         NULL);
  2015.     gcm_initialize_colors(obj, "light gray", NULL);
  2016.     xv_set(xv_get(obj, FRAME_CMD_PANEL), WIN_SHOW, FALSE, NULL);
  2017.     return obj;
  2018. }
  2019.  
  2020. /*
  2021.  * Create object `infoControlPanel' in the specified instance.
  2022.  */
  2023. Xv_opaque
  2024. dtr_infoPopUp_infoControlPanel_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2025. {
  2026.     Xv_opaque    obj;
  2027.     
  2028.     obj = xv_create(owner, PANEL,
  2029.         XV_KEY_DATA, INSTANCE, ip,
  2030.         XV_X, 0,
  2031.         XV_Y, 0,
  2032.         XV_WIDTH, WIN_EXTEND_TO_EDGE,
  2033.         XV_HEIGHT, WIN_EXTEND_TO_EDGE,
  2034.         WIN_BORDER, TRUE,
  2035.         NULL);
  2036.     gcm_initialize_colors(obj, "BG1", NULL);
  2037.     return obj;
  2038. }
  2039.  
  2040. /*
  2041.  * Create object `appNameMessage' in the specified instance.
  2042.  */
  2043. Xv_opaque
  2044. dtr_infoPopUp_appNameMessage_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2045. {
  2046.     Xv_opaque    obj;
  2047.     
  2048.     obj = xv_create(owner, PANEL_MESSAGE,
  2049.         XV_KEY_DATA, INSTANCE, ip,
  2050.         XV_X, 164,
  2051.         XV_Y, 16,
  2052.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  2053.         PANEL_LABEL_STRING, "Digital Tape Recorder",
  2054.         PANEL_LABEL_BOLD, TRUE,
  2055.         NULL);
  2056.     return obj;
  2057. }
  2058.  
  2059. /*
  2060.  * Create object `appVersionMessage' in the specified instance.
  2061.  */
  2062. Xv_opaque
  2063. dtr_infoPopUp_appVersionMessage_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2064. {
  2065.     Xv_opaque    obj;
  2066.     
  2067.     obj = xv_create(owner, PANEL_MESSAGE,
  2068.         XV_KEY_DATA, INSTANCE, ip,
  2069.         XV_X, 204,
  2070.         XV_Y, 36,
  2071.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  2072.         PANEL_LABEL_STRING, "Version 2.01",
  2073.         PANEL_LABEL_BOLD, FALSE,
  2074.         NULL);
  2075.     return obj;
  2076. }
  2077.  
  2078. /*
  2079.  * Create object `appDescriptionMessage' in the specified instance.
  2080.  */
  2081. Xv_opaque
  2082. dtr_infoPopUp_appDescriptionMessage_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2083. {
  2084.     Xv_opaque    obj;
  2085.     
  2086.     obj = xv_create(owner, PANEL_MESSAGE,
  2087.         XV_KEY_DATA, INSTANCE, ip,
  2088.         XV_X, 136,
  2089.         XV_Y, 65,
  2090.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  2091.         PANEL_LABEL_STRING, "An audio application for use with",
  2092.         PANEL_LABEL_BOLD, FALSE,
  2093.         NULL);
  2094.     return obj;
  2095. }
  2096.  
  2097. /*
  2098.  * Create object `appDescription2Message' in the specified instance.
  2099.  */
  2100. Xv_opaque
  2101. dtr_infoPopUp_appDescription2Message_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2102. {
  2103.     Xv_opaque    obj;
  2104.     
  2105.     obj = xv_create(owner, PANEL_MESSAGE,
  2106.         XV_KEY_DATA, INSTANCE, ip,
  2107.         XV_X, 92,
  2108.         XV_Y, 85,
  2109.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  2110.         PANEL_LABEL_STRING, "the MAEstro Multimedia Authoring Environment",
  2111.         PANEL_LABEL_BOLD, FALSE,
  2112.         NULL);
  2113.     return obj;
  2114. }
  2115.  
  2116. /*
  2117.  * Create object `developerMessage' in the specified instance.
  2118.  */
  2119. Xv_opaque
  2120. dtr_infoPopUp_developerMessage_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2121. {
  2122.     Xv_opaque    obj;
  2123.     
  2124.     obj = xv_create(owner, PANEL_MESSAGE,
  2125.         XV_KEY_DATA, INSTANCE, ip,
  2126.         XV_X, 152,
  2127.         XV_Y, 112,
  2128.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  2129.         PANEL_LABEL_STRING, "Developed by Derek Lai",
  2130.         PANEL_LABEL_BOLD, FALSE,
  2131.         NULL);
  2132.     return obj;
  2133. }
  2134.  
  2135. /*
  2136.  * Create object `developerMessage1' in the specified instance.
  2137.  */
  2138. Xv_opaque
  2139. dtr_infoPopUp_developerMessage1_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2140. {
  2141.     Xv_opaque    obj;
  2142.     
  2143.     obj = xv_create(owner, PANEL_MESSAGE,
  2144.         XV_KEY_DATA, INSTANCE, ip,
  2145.         XV_X, 136,
  2146.         XV_Y, 132,
  2147.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  2148.         PANEL_LABEL_STRING, "Modifications by George Drapeau",
  2149.         PANEL_LABEL_BOLD, FALSE,
  2150.         NULL);
  2151.     return obj;
  2152. }
  2153.  
  2154. /*
  2155.  * Create object `copyrightMessage' in the specified instance.
  2156.  */
  2157. Xv_opaque
  2158. dtr_infoPopUp_copyrightMessage_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2159. {
  2160.     Xv_opaque    obj;
  2161.     
  2162.     obj = xv_create(owner, PANEL_MESSAGE,
  2163.         XV_KEY_DATA, INSTANCE, ip,
  2164.         XV_X, 8,
  2165.         XV_Y, 156,
  2166.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  2167.         PANEL_LABEL_STRING, "Copyright (C) 1990, 1991, 1992 Libraries and Information Resources (L&IR)",
  2168.         PANEL_LABEL_BOLD, FALSE,
  2169.         NULL);
  2170.     return obj;
  2171. }
  2172.  
  2173. /*
  2174.  * Create object `copyright2Message' in the specified instance.
  2175.  */
  2176. Xv_opaque
  2177. dtr_infoPopUp_copyright2Message_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2178. {
  2179.     Xv_opaque    obj;
  2180.     
  2181.     obj = xv_create(owner, PANEL_MESSAGE,
  2182.         XV_KEY_DATA, INSTANCE, ip,
  2183.         XV_X, 176,
  2184.         XV_Y, 176,
  2185.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  2186.         PANEL_LABEL_STRING, "Stanford University",
  2187.         PANEL_LABEL_BOLD, FALSE,
  2188.         NULL);
  2189.     return obj;
  2190. }
  2191.  
  2192. /*
  2193.  * Create object `copyright3Message' in the specified instance.
  2194.  */
  2195. Xv_opaque
  2196. dtr_infoPopUp_copyright3Message_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2197. {
  2198.     Xv_opaque    obj;
  2199.     
  2200.     obj = xv_create(owner, PANEL_MESSAGE,
  2201.         XV_KEY_DATA, INSTANCE, ip,
  2202.         XV_X, 176,
  2203.         XV_Y, 196,
  2204.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  2205.         PANEL_LABEL_STRING, "Stanford, California",
  2206.         PANEL_LABEL_BOLD, FALSE,
  2207.         NULL);
  2208.     return obj;
  2209. }
  2210.  
  2211. /*
  2212.  * Create object `moreinfoMessage' in the specified instance.
  2213.  */
  2214. Xv_opaque
  2215. dtr_infoPopUp_moreinfoMessage_create(dtr_infoPopUp_objects *ip, Xv_opaque owner)
  2216. {
  2217.     Xv_opaque    obj;
  2218.     
  2219.     obj = xv_create(owner, PANEL_MESSAGE,
  2220.         XV_KEY_DATA, INSTANCE, ip,
  2221.         XV_X, 84,
  2222.         XV_Y, 232,
  2223.         PANEL_ITEM_COLOR, gcm_color_index("black"),
  2224.         PANEL_LABEL_STRING, "for more info, contact maestro@sioux.stanford.edu",
  2225.         PANEL_LABEL_BOLD, FALSE,
  2226.         NULL);
  2227.     return obj;
  2228. }
  2229.  
  2230.