home *** CD-ROM | disk | FTP | other *** search
/ Sound, Music & MIDI Collection 2 / SMMVOL2.bin / DEMO / PRG / CIRCLES.ZIP / CI_MAIN.DIX / 00017_BROWSE.ls < prev    next >
Encoding:
Text File  |  1995-05-01  |  23.0 KB  |  760 lines

  1. on initfl
  2.   global fl_play, fl_stop, fl_load, fl_canc, fl_dirl, fl_fn01, fl_fn02, fl_fn03, fl_fn04, fl_fn05, fl_fn06, fl_fn07, fl_fn08, fl_fn09, fl_fn10, fl_fn11, fl_fn12, fl_fn13, fl_fn14, fl_fn15, fl_fn16, fl_fn17, fl_fn18, fl_fn19, fl_fn20, fl_fn21, fl_fn22, fl_fn23, fl_fn24, fl_fn25, fl_fn26, fl_fn27, fl_fn28, fl_fn29, fl_fn30, fl_bas, fl_step, fl_up, fl_dwn
  3.   set fl_play to rect(345, 40, 365, 474)
  4.   set fl_stop to rect(345, 40, 365, 474)
  5.   set fl_load to rect(618, 70, 639, 256)
  6.   set fl_canc to rect(618, 262, 639, 447)
  7.   set fl_dirl to rect(372, 7, 611, 27)
  8.   set fl_up to rect(617, 38, 638, 63)
  9.   set fl_dwn to rect(617, 451, 638, 474)
  10.   set nx1 to 370
  11.   set nx2 to 610
  12.   set fl_fn01 to rect(nx1, fl_bas + (fl_step * 0), nx2, fl_bas + (fl_step * 1))
  13.   set fl_fn02 to rect(nx1, fl_bas + (fl_step * 1), nx2, fl_bas + (fl_step * 2))
  14.   set fl_fn03 to rect(nx1, fl_bas + (fl_step * 2), nx2, fl_bas + (fl_step * 3))
  15.   set fl_fn04 to rect(nx1, fl_bas + (fl_step * 3), nx2, fl_bas + (fl_step * 4))
  16.   set fl_fn05 to rect(nx1, fl_bas + (fl_step * 4), nx2, fl_bas + (fl_step * 5))
  17.   set fl_fn06 to rect(nx1, fl_bas + (fl_step * 5), nx2, fl_bas + (fl_step * 6))
  18.   set fl_fn07 to rect(nx1, fl_bas + (fl_step * 6), nx2, fl_bas + (fl_step * 7))
  19.   set fl_fn08 to rect(nx1, fl_bas + (fl_step * 7), nx2, fl_bas + (fl_step * 8))
  20.   set fl_fn09 to rect(nx1, fl_bas + (fl_step * 8), nx2, fl_bas + (fl_step * 9))
  21.   set fl_fn10 to rect(nx1, fl_bas + (fl_step * 9), nx2, fl_bas + (fl_step * 10))
  22.   set fl_fn11 to rect(nx1, fl_bas + (fl_step * 10), nx2, fl_bas + (fl_step * 11))
  23.   set fl_fn12 to rect(nx1, fl_bas + (fl_step * 11), nx2, fl_bas + (fl_step * 12))
  24.   set fl_fn13 to rect(nx1, fl_bas + (fl_step * 12), nx2, fl_bas + (fl_step * 13))
  25.   set fl_fn14 to rect(nx1, fl_bas + (fl_step * 13), nx2, fl_bas + (fl_step * 14))
  26.   set fl_fn15 to rect(nx1, fl_bas + (fl_step * 14), nx2, fl_bas + (fl_step * 15))
  27.   set fl_fn16 to rect(nx1, fl_bas + (fl_step * 15), nx2, fl_bas + (fl_step * 16))
  28.   set fl_fn17 to rect(nx1, fl_bas + (fl_step * 16), nx2, fl_bas + (fl_step * 17))
  29.   set fl_fn18 to rect(nx1, fl_bas + (fl_step * 17), nx2, fl_bas + (fl_step * 18))
  30.   set fl_fn19 to rect(nx1, fl_bas + (fl_step * 18), nx2, fl_bas + (fl_step * 19))
  31.   set fl_fn20 to rect(nx1, fl_bas + (fl_step * 19), nx2, fl_bas + (fl_step * 20))
  32.   set fl_fn21 to rect(nx1, fl_bas + (fl_step * 20), nx2, fl_bas + (fl_step * 21))
  33.   set fl_fn22 to rect(nx1, fl_bas + (fl_step * 21), nx2, fl_bas + (fl_step * 22))
  34.   set fl_fn23 to rect(nx1, fl_bas + (fl_step * 22), nx2, fl_bas + (fl_step * 23))
  35.   set fl_fn24 to rect(nx1, fl_bas + (fl_step * 23), nx2, fl_bas + (fl_step * 24))
  36.   set fl_fn25 to rect(nx1, fl_bas + (fl_step * 24), nx2, fl_bas + (fl_step * 25))
  37.   set fl_fn26 to rect(nx1, fl_bas + (fl_step * 25), nx2, fl_bas + (fl_step * 26))
  38.   set fl_fn27 to rect(nx1, fl_bas + (fl_step * 26), nx2, fl_bas + (fl_step * 27))
  39.   set fl_fn28 to rect(nx1, fl_bas + (fl_step * 27), nx2, fl_bas + (fl_step * 28))
  40.   set fl_fn29 to rect(nx1, fl_bas + (fl_step * 28), nx2, fl_bas + (fl_step * 29))
  41.   set fl_fn30 to rect(nx1, fl_bas + (fl_step * 29), nx2, fl_bas + (fl_step * 30))
  42. end
  43.  
  44. on fmousedown
  45.   global fcommand, fl_msg, fl_play, fl_stop, fl_load, fl_canc, fl_dirl, fl_fn01, fl_fn02, fl_fn03, fl_fn04, fl_fn05, fl_fn06, fl_fn07, fl_fn08, fl_fn09, fl_fn10, fl_fn11, fl_fn12, fl_fn13, fl_fn14, fl_fn15, fl_fn16, fl_fn17, fl_fn18, fl_fn19, fl_fn20, fl_fn21, fl_fn22, fl_fn23, fl_fn24, fl_fn25, fl_fn26, fl_fn27, fl_fn28, fl_fn29, fl_fn30, fl_bas, fl_step, fl_up, fl_dwn, hp_r, hp_l, hp_x, hp_page, hp_itm01, hp_itm02, hp_itm03, hp_itm04, hp_itm05, hp_itm06, hp_itm07, hp_itm08, hp_itm09, hp_itm10, hp_itm11, hp_itm12, hp_itm13
  46.   if the mouseDown then
  47.     set x to the mouseH
  48.     set y to the mouseV
  49.     set m_point to point(x, y)
  50.     set mcast to the mouseCast
  51.     if 0 then
  52.       put "x>" & string(x) & " y>" & string(y)
  53.     else
  54.     end if
  55.     if inside(m_point, fl_canc) then
  56.       set fl_msg to "canc"
  57.     end if
  58.     if inside(m_point, fl_load) then
  59.       set fl_msg to "load"
  60.     end if
  61.     if inside(m_point, fl_up) then
  62.       set fl_msg to "slup"
  63.     end if
  64.     if inside(m_point, fl_dwn) then
  65.       set fl_msg to "sldw"
  66.     end if
  67.     if inside(m_point, fl_fn01) then
  68.       set fl_msg to "fn01"
  69.     end if
  70.     if inside(m_point, fl_fn02) then
  71.       set fl_msg to "fn02"
  72.     end if
  73.     if inside(m_point, fl_fn03) then
  74.       set fl_msg to "fn03"
  75.     end if
  76.     if inside(m_point, fl_fn04) then
  77.       set fl_msg to "fn04"
  78.     end if
  79.     if inside(m_point, fl_fn05) then
  80.       set fl_msg to "fn05"
  81.     end if
  82.     if inside(m_point, fl_fn06) then
  83.       set fl_msg to "fn06"
  84.     end if
  85.     if inside(m_point, fl_fn07) then
  86.       set fl_msg to "fn07"
  87.     end if
  88.     if inside(m_point, fl_fn08) then
  89.       set fl_msg to "fn08"
  90.     end if
  91.     if inside(m_point, fl_fn09) then
  92.       set fl_msg to "fn09"
  93.     end if
  94.     if inside(m_point, fl_fn10) then
  95.       set fl_msg to "fn10"
  96.     end if
  97.     if inside(m_point, fl_fn11) then
  98.       set fl_msg to "fn11"
  99.     end if
  100.     if inside(m_point, fl_fn12) then
  101.       set fl_msg to "fn12"
  102.     end if
  103.     if inside(m_point, fl_fn13) then
  104.       set fl_msg to "fn13"
  105.     end if
  106.     if inside(m_point, fl_fn14) then
  107.       set fl_msg to "fn14"
  108.     end if
  109.     if inside(m_point, fl_fn15) then
  110.       set fl_msg to "fn15"
  111.     end if
  112.     if inside(m_point, fl_fn16) then
  113.       set fl_msg to "fn16"
  114.     end if
  115.     if inside(m_point, fl_fn17) then
  116.       set fl_msg to "fn17"
  117.     end if
  118.     if inside(m_point, fl_fn18) then
  119.       set fl_msg to "fn18"
  120.     end if
  121.     if inside(m_point, fl_fn19) then
  122.       set fl_msg to "fn19"
  123.     end if
  124.     if inside(m_point, fl_fn20) then
  125.       set fl_msg to "fn20"
  126.     end if
  127.     if inside(m_point, fl_fn21) then
  128.       set fl_msg to "fn21"
  129.     end if
  130.     if inside(m_point, fl_fn22) then
  131.       set fl_msg to "fn22"
  132.     end if
  133.     if inside(m_point, fl_fn23) then
  134.       set fl_msg to "fn23"
  135.     end if
  136.     if inside(m_point, fl_fn24) then
  137.       set fl_msg to "fn24"
  138.     end if
  139.     if inside(m_point, fl_fn25) then
  140.       set fl_msg to "fn25"
  141.     end if
  142.     if inside(m_point, fl_fn26) then
  143.       set fl_msg to "fn26"
  144.     end if
  145.     if inside(m_point, fl_fn27) then
  146.       set fl_msg to "fn27"
  147.     end if
  148.     if inside(m_point, fl_fn28) then
  149.       set fl_msg to "fn28"
  150.     end if
  151.     if inside(m_point, fl_fn29) then
  152.       set fl_msg to "fn29"
  153.     end if
  154.     if inside(m_point, fl_fn30) then
  155.       set fl_msg to "fn30"
  156.     end if
  157.     if hp_page = 0 then
  158.       if inside(m_point, hp_itm01) then
  159.         help_open(1)
  160.       end if
  161.       if inside(m_point, hp_itm02) then
  162.         help_open(2)
  163.       end if
  164.       if inside(m_point, hp_itm03) then
  165.         help_open(3)
  166.       end if
  167.       if inside(m_point, hp_itm04) then
  168.         help_open(4)
  169.       end if
  170.       if inside(m_point, hp_itm05) then
  171.         help_open(5)
  172.       end if
  173.       if inside(m_point, hp_itm06) then
  174.         help_open(6)
  175.       end if
  176.       if inside(m_point, hp_itm07) then
  177.         help_open(7)
  178.       end if
  179.       if inside(m_point, hp_itm08) then
  180.         help_open(8)
  181.       end if
  182.       if inside(m_point, hp_itm09) then
  183.         help_open(9)
  184.       end if
  185.       if inside(m_point, hp_itm10) then
  186.         help_open(10)
  187.       end if
  188.       if inside(m_point, hp_itm11) then
  189.         help_open(11)
  190.       end if
  191.       if inside(m_point, hp_itm12) then
  192.         help_open(12)
  193.       end if
  194.     end if
  195.     if hp_page > 0 then
  196.       if inside(m_point, hp_r) then
  197.         help_R()
  198.       end if
  199.       if inside(m_point, hp_l) then
  200.         help_L()
  201.       end if
  202.       if inside(m_point, hp_x) then
  203.         help_X()
  204.       end if
  205.     end if
  206.     if fl_msg = "slup" then
  207.       fl_slup()
  208.     end if
  209.     if fl_msg = "sldw" then
  210.       fl_sldw()
  211.     end if
  212.     if fl_msg = "dirl" then
  213.       fl_dirl()
  214.     end if
  215.     if fl_msg = "load" then
  216.       but_flash("F_LOAD", 628, 163)
  217.       fl_load()
  218.     end if
  219.     if fl_msg = "play" then
  220.       fl_play()
  221.     end if
  222.     if fl_msg = "stop" then
  223.       fl_stop()
  224.     end if
  225.     if fl_msg = "canc" then
  226.       but_flash("F_CANC", 628, 355)
  227.       fsel_back()
  228.     end if
  229.     if chars(fl_msg, 1, 2) = "fn" then
  230.       if the doubleClick then
  231.         fl_fn()
  232.         but_flash("F_LOAD", 628, 163)
  233.         fl_load()
  234.       else
  235.         fl_fn()
  236.       end if
  237.     end if
  238.     if fl_msg = "chkp" then
  239.       fl_chkp()
  240.     end if
  241.   end if
  242. end
  243.  
  244. on fsel what
  245.   global fcommand, fl_msg, acwin, spritecount, framecnt, fl_play, fl_stop, fl_load, fl_canc, fl_dirl, enterFrame, fl_bas, fl_step, fl_up, fl_dwn, l_disp, l_file, l_fold, scrollstep, scroll, new_read, fl_search, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but, mix_idx1, sndobj, last_play
  246.   cur_busy()
  247.   snd_stop()
  248.   set play_OK to 0
  249.   set stop_OK to 0
  250.   set dir_OK to 0
  251.   set snd_play to 0
  252.   set scrollstep to 27
  253.   set sp_fsel to 40
  254.   set sp_flist to 41
  255.   set sp_ardwn to 42
  256.   set sp_arup to 43
  257.   set sp_point to 44
  258.   set sp_par to 45
  259.   if spritecount >= sp_fsel then
  260.     sprite_save(sp_fsel)
  261.     sprite_save(sp_flist)
  262.     sprite_save(sp_ardwn)
  263.     sprite_save(sp_arup)
  264.     sprite_save(sp_point)
  265.     sprite_save(sp_par)
  266.   end if
  267.   but_reflash()
  268.   puppetTransition(2, 1, 5)
  269.   puppetSprite(sp_fsel, 1)
  270.   set the castNum of sprite sp_fsel to the number of cast "FSEL"
  271.   sprite_show(sp_fsel, 499, 240)
  272.   set the ink of sprite sp_fsel to 0
  273.   set the visible of sprite sp_fsel to 1
  274.   if not (fl_search = what) then
  275.     set new_read to 1
  276.   end if
  277.   set fl_search to what
  278.   put "fsel fl_search>" & fl_search
  279.   set fcommand to "FS_O"
  280. end
  281.  
  282. on fsel_open
  283.   global fcommand, fl_msg, acwin, spritecount, scommand, fl_play, fl_stop, fl_load, fl_canc, fl_dirl, fl_bas, fl_step, fl_up, fl_dwn, l_disp, l_file, l_fold, scrollstep, scroll, new_read, disk, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but
  284.   if new_read then
  285.     fl_init()
  286.     set scroll to 0
  287.     set new_read to 0
  288.   end if
  289.   puppetTransition(0)
  290.   puppetSprite(sp_flist, 1)
  291.   put f_list(scroll) into field "flist"
  292.   setfont("flist")
  293.   set the castNum of sprite sp_flist to the number of cast "flist"
  294.   set the ink of sprite sp_flist to 1
  295.   sprite_show(sp_flist, 385, fl_bas - 30)
  296.   puppetSprite(sp_arup, 1)
  297.   set the castNum of sprite sp_arup to the number of cast "ARUP"
  298.   set the ink of sprite sp_arup to 36
  299.   sprite_show(sp_arup, 628, 51)
  300.   if scroll < scrollstep then
  301.     set the visible of sprite sp_arup to 0
  302.   end if
  303.   puppetSprite(sp_ardwn, 1)
  304.   set the castNum of sprite sp_ardwn to the number of cast "ARDWN"
  305.   set the ink of sprite sp_ardwn to 36
  306.   sprite_show(sp_ardwn, 628, 468)
  307.   if count(l_file) <= scrollstep then
  308.     set the visible of sprite sp_ardwn to 0
  309.   end if
  310.   puppetSprite(sp_point, 1)
  311.   set the castNum of sprite sp_point to the number of cast "pointer"
  312.   set the ink of sprite sp_point to 36
  313.   set the visible of sprite sp_point to 1
  314.   sprite_show(sp_point, 1500, 1500)
  315.   puppetSprite(sp_par, 1)
  316.   set the castNum of sprite sp_par to the number of cast "msgpar"
  317.   set the ink of sprite sp_par to 1
  318.   set the visible of sprite sp_par to 1
  319.   set the textAlign of field "msgpar" to "RIGHT"
  320.   sprite_show(sp_par, 1500, 1500)
  321.   cur_on()
  322.   set acwin to "FSEL"
  323.   set fl_msg to EMPTY
  324. end
  325.  
  326. on fl_slup
  327.   global stop_OK, play_OK, dir_OK, scroll, scrollstep, fl_msg, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but
  328.   set scroll to scroll - scrollstep
  329.   if scroll < 0 then
  330.     set scroll to 0
  331.   end if
  332.   put f_list(scroll) into field "flist"
  333.   if scroll >= scrollstep then
  334.     set the visible of sprite sp_arup to 1
  335.   else
  336.     set the visible of sprite sp_arup to 0
  337.   end if
  338.   if count(l_file) >= (scroll + scrollstep + 1) then
  339.     set the visible of sprite sp_ardwn to 1
  340.   else
  341.     set the visible of sprite sp_ardwn to 0
  342.   end if
  343.   sprite_blank(sp_point)
  344.   sprite_blank(sp_par)
  345.   set fl_msg to EMPTY
  346. end
  347.  
  348. on fl_sldw
  349.   global stop_OK, play_OK, dir_OK, l_fold, l_file, scroll, scrollstep, fl_msg, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but
  350.   if count(l_file) > (scroll + scrollstep) then
  351.     set scroll to scroll + scrollstep
  352.     if count(l_file) >= (scroll + scrollstep + 1) then
  353.       set the visible of sprite sp_ardwn to 1
  354.     else
  355.       set the visible of sprite sp_ardwn to 0
  356.     end if
  357.   end if
  358.   put f_list(scroll) into field "flist"
  359.   if scroll >= scrollstep then
  360.     set the visible of sprite sp_arup to 1
  361.   else
  362.     set the visible of sprite sp_arup to 0
  363.   end if
  364.   sprite_blank(sp_point)
  365.   sprite_blank(sp_par)
  366.   set fl_msg to EMPTY
  367. end
  368.  
  369. on fl_dirl
  370.   global stop_OK, play_OK, dir_OK, l_fold, l_file, scroll, scrollstep, up_load, up_cload, fl_search, fl_msg, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but
  371.   cur_busy()
  372.   set scroll to 0
  373.   if fl_search = "CIRCLE" then
  374.     set up_l to up_cload
  375.   else
  376.     set up_l to up_load
  377.   end if
  378.   if the machineType = 256 then
  379.     dirlist_get(up_l & "*.*")
  380.   else
  381.     dirlist_get(up_l)
  382.   end if
  383.   put d_list(scroll) into field "flist"
  384.   set dir_OK to 1
  385.   set stop_OK to 0
  386.   set play_OK to 0
  387.   if count(l_fold) >= (scroll + scrollstep + 1) then
  388.     set the visible of sprite sp_ardwn to 1
  389.   else
  390.     set the visible of sprite sp_ardwn to 0
  391.   end if
  392.   set the visible of sprite sp_arup to 0
  393.   sprite_blank(sp_point)
  394.   cur_on()
  395.   set fl_msg to EMPTY
  396. end
  397.  
  398. on fl_load
  399.   global stop_OK, play_OK, dir_OK, l_fold, l_file, scroll, scrollstep, snd_play, up_load, enterFrame, enterFrame, new_read, fl_msg, fcommand, scommand, up_cload, acwin, sel_name, enterFrame, sel_track, sel_pos, sel_tmpos, sel_txpos, tmp_segcnt, fl_search, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but
  400.   if fl_search = "CIRCLE" then
  401.     set up_l to up_cload
  402.   else
  403.     set up_l to up_load
  404.   end if
  405.   put "fl_load play_ok>" & play_OK & "< stop_ok>" & stop_OK & "< dir_ok>" & dir_OK
  406.   but_reflash()
  407.   if dir_OK then
  408.     if play_OK then
  409.       cur_busy()
  410.       set vname to getAt(l_file, snd_play + scroll)
  411.       set mode to chars(vname, 1, 1)
  412.       set vname to chars(vname, 3, length(vname))
  413.       if ((fl_search = "PATH") or (fl_search = "PATHC")) and (todir(vname) = up_l) then
  414.         set sel_name to todir(vname)
  415.         fsel_load()
  416.       else
  417.         if mode = "D" then
  418.           if fl_search = "CIRCLE" then
  419.             set up_cload to todir(vname)
  420.           else
  421.             set up_load to todir(vname)
  422.           end if
  423.         else
  424.           if mode = "F" then
  425.             if the machineType = 256 then
  426.               if fl_search = "CIRCLE" then
  427.                 set up_cload to chars(vname, 1, 3)
  428.               else
  429.                 set up_load to chars(vname, 1, 3)
  430.               end if
  431.             else
  432.               if fl_search = "CIRCLE" then
  433.                 set up_cload to vname
  434.               else
  435.                 set up_load to vname
  436.               end if
  437.             end if
  438.           else
  439.             if mode = "C" then
  440.               alertrd("Please insert a CD-ROM ! ", "Bitte eine CD-ROM einlegen !", 1)
  441.               eject_CD()
  442.               alertrdremove()
  443.               set new_read to 1
  444.             end if
  445.           end if
  446.         end if
  447.         if mode <> "C" then
  448.           fl_init()
  449.           set scroll to 0
  450.           put f_list(scroll) into field "flist"
  451.           set dir_OK to 0
  452.           set play_OK to 0
  453.           if count(l_file) >= (scroll + scrollstep + 1) then
  454.             set the visible of sprite sp_ardwn to 1
  455.           else
  456.             set the visible of sprite sp_ardwn to 0
  457.           end if
  458.           set the visible of sprite sp_arup to 0
  459.           sprite_blank(sp_point)
  460.           sprite_blank(sp_par)
  461.         end if
  462.       end if
  463.       cur_on()
  464.     end if
  465.     if mode <> "C" then
  466.       set fl_msg to EMPTY
  467.     else
  468.       set fl_msg to "canc"
  469.     end if
  470.   else
  471.     if play_OK then
  472.       set sel_name to getselname(snd_play + scroll)
  473.       if soundBusy(1) then
  474.         puppetSound(0)
  475.       end if
  476.       cur_busy()
  477.       if sel_name = EMPTY then
  478.         set fl_msg to EMPTY
  479.       else
  480.         if scommand = EMPTY then
  481.           if sel_track = 0 then
  482.             set sel_txpos to tmp_segcnt + 1
  483.           else
  484.             if sel_track = 1 then
  485.               set sel_txpos to sel_pos
  486.             else
  487.               set sel_tmpos to sel_pos
  488.               set sel_tmpos to sel_tmpos + 12
  489.               set sel_txpos to sel_pos
  490.             end if
  491.           end if
  492.         end if
  493.         fsel_load()
  494.       end if
  495.     end if
  496.   end if
  497. end
  498.  
  499. on fl_fn
  500.   global stop_OK, play_OK, dir_OK, l_fold, l_file, l_disp, scroll, scrollstep, snd_play, fn_sel, fl_search, enterFrame, fl_bas, fl_step, fl_up, fl_dwn, fl_msg, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but, mix_size, mix_qua
  501.   set fn_sel to value(chars(fl_msg, 3, 4))
  502.   if soundBusy(1) then
  503.     puppetSound(0)
  504.     set stop_OK to 0
  505.   end if
  506.   if count(l_disp) >= fn_sel then
  507.     if getAt(l_disp, fn_sel) = "S" then
  508.       sprite_show(sp_point, 376, fl_bas + (fl_step * fn_sel) - 8)
  509.       set play_OK to 1
  510.       set snd_play to fn_sel
  511.       set mode to chars(getAt(l_file, snd_play + scroll), 1, 1)
  512.       set psound to stripcrtlchars(getselname(snd_play + scroll))
  513.       if mode = "S" then
  514.         if fl_search = "SOUND" then
  515.           cur_busy()
  516.           if not (sndpar(psound) = 0) then
  517.             alertrd("Can`t identify Soundfile Type ! " & RETURN & psound & "<>", "Dieses Soundformat kann nicht identifiziert werden !")
  518.             cur_on()
  519.             return 0
  520.           end if
  521.           put calcsize(value(mix_size), mix_qua) into field "msgpar"
  522.           fl_play()
  523.         else
  524.           put " " into field "msgpar"
  525.         end if
  526.         set dir_OK to 0
  527.         cur_on()
  528.       else
  529.         if mode = "D" then
  530.           if the machineType = 256 then
  531.             put "PATH" into field "msgpar"
  532.           else
  533.             put "FOLDER" into field "msgpar"
  534.           end if
  535.           set dir_OK to 1
  536.           set fl_msg to EMPTY
  537.         else
  538.           if mode = "F" then
  539.             put "DRIVE" into field "msgpar"
  540.             set dir_OK to 1
  541.             set fl_msg to EMPTY
  542.           else
  543.             if mode = "C" then
  544.               put " " into field "msgpar"
  545.               set dir_OK to 1
  546.               set fl_msg to EMPTY
  547.             end if
  548.           end if
  549.         end if
  550.       end if
  551.       sprite_show(sp_par, 550, fl_bas + (fl_step * fn_sel) - 14)
  552.     end if
  553.   end if
  554. end
  555.  
  556. on fl_play
  557.   global stop_OK, play_OK, dir_OK, l_fold, l_file, scroll, scrollstep, snd_play, up_load, up_mvol, fl_msg, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but
  558.   if dir_OK = 0 then
  559.     if (play_OK = 1) and (stop_OK = 0) then
  560.       set stop_OK to 1
  561.       set sname to trimdb(trim(up_load))
  562.       if the machineType = 256 then
  563.         set sname to trimdb(trim(up_load))
  564.         set sname to sname & EMPTY
  565.       else
  566.         set sname to up_load
  567.       end if
  568.       set sname to getselname(snd_play + scroll)
  569.       if soundBusy(1) then
  570.         puppetSound(0)
  571.       end if
  572.       set the volume of sound 1 to 255 / 15 * up_mvol
  573.       put "vol-" & 255 / 15 * up_mvol
  574.       sound playFile 1, sname
  575.       updateStage()
  576.       set fl_msg to "chkp"
  577.     else
  578.       if stop_OK = 1 then
  579.         set stop_OK to 0
  580.         if soundBusy(1) then
  581.           puppetSound(0)
  582.           updateStage()
  583.         end if
  584.         waitforup()
  585.         set fl_msg to EMPTY
  586.       end if
  587.     end if
  588.   end if
  589. end
  590.  
  591. on fl_stop
  592.   global stop_OK, play_OK, fl_msg, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but
  593.   if stop_OK then
  594.     set play_OK to 1
  595.     set stop_OK to 0
  596.     waitforup()
  597.     if soundBusy(1) then
  598.       puppetSound(0)
  599.       updateStage()
  600.     end if
  601.   end if
  602.   set fl_msg to EMPTY
  603. end
  604.  
  605. on fl_chkp
  606.   global stop_OK, play_OK, fl_msg, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but
  607.   if not soundBusy(1) then
  608.     set stop_OK to 0
  609.     set fl_msg to EMPTY
  610.   end if
  611. end
  612.  
  613. on fl_init
  614.   global l_fold, l_file, l_drive, up_load, up_cload, fl_search, up_save, up_csave
  615.   set l_fold to []
  616.   set l_file to []
  617.   set l_drive to []
  618.   put "fl_init fl_search>" & fl_search
  619.   if fl_search = "SOUND" then
  620.     if the machineType = 256 then
  621.       filelist_get(up_load & "*.AIF")
  622.       filelist_get(up_load & "*.WAV")
  623.       dirlist_get(up_load & "*.*")
  624.       drivelist_get(up_load)
  625.     else
  626.       filelist_get(up_load, "AIFF")
  627.       dirlist_get(up_load)
  628.       drivelist_get(up_load)
  629.     end if
  630.   else
  631.     if fl_search = "PATH" then
  632.       if the machineType = 256 then
  633.         addAt(l_fold, 1, up_save)
  634.         dirlist_get(up_save & "*.*")
  635.         drivelist_get(up_save)
  636.       else
  637.         addAt(l_fold, 1, up_save)
  638.         dirlist_get(up_save)
  639.         drivelist_get(up_save)
  640.       end if
  641.     else
  642.       if fl_search = "PATHC" then
  643.         put "fl_init PATHC"
  644.         if the machineType = 256 then
  645.           addAt(l_fold, 1, up_csave)
  646.           dirlist_get(up_csave & "*.*")
  647.           drivelist_get(up_csave)
  648.         else
  649.           addAt(l_fold, 1, up_csave)
  650.           dirlist_get(up_csave)
  651.           drivelist_get(up_csave)
  652.         end if
  653.       else
  654.         if fl_search = "CIRCLE" then
  655.           if the machineType = 256 then
  656.             filelist_get(up_cload & "*.CIR")
  657.             dirlist_get(up_cload & "*.*")
  658.             drivelist_get(up_cload)
  659.           else
  660.             filelist_get(up_cload, "TEXT")
  661.             dirlist_get(up_cload)
  662.             drivelist_get(up_cload)
  663.           end if
  664.         else
  665.           if fl_search = "DRIVE" then
  666.             if the machineType = 256 then
  667.               drivelist_get(up_load)
  668.             else
  669.               drivelist_get(up_load)
  670.             end if
  671.           end if
  672.         end if
  673.       end if
  674.     end if
  675.   end if
  676. end
  677.  
  678. on fsel_back
  679.   global fcommand, spritecount, fl_bas, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but, acwin, fl_msg, sel_name
  680.   if not (fcommand = "FS_C") then
  681.     cur_busy()
  682.     if soundBusy(1) then
  683.       puppetSound(0)
  684.     end if
  685.     but_reflash()
  686.     puppetTransition(1, 1, 5)
  687.     sprite_show(sp_fsel, 795, 240)
  688.     sprite_show(sp_flist, 795, fl_bas - 30)
  689.     sprite_blank(sp_par)
  690.     sprite_blank(sp_point)
  691.     sprite_blank(sp_ardwn)
  692.     sprite_blank(sp_arup)
  693.     set acwin to "MAIN"
  694.     set fl_msg to EMPTY
  695.     set fcommand to "FS_C"
  696.   end if
  697. end
  698.  
  699. on fsel_clear
  700.   global fcommand, spritecount, sp_fsel, sp_flist, sp_ardwn, sp_arup, sp_point, sp_par, sp_but
  701.   puppetTransition(0)
  702.   if spritecount >= 40 then
  703.     sprite_rest()
  704.     sprite_rest()
  705.     sprite_rest()
  706.     sprite_rest()
  707.     sprite_rest()
  708.     sprite_rest()
  709.   end if
  710.   cur_on()
  711.   set fcommand to EMPTY
  712. end
  713.  
  714. on fsel_load
  715.   global sel_name, sel_txpos, sel_ttrak, sel_size, AR_nnsc, segsprite, fcommand, scommand, sel_scast, fl_msg, acwin, newidx, fl_search, up_csave, up_save
  716.   put "fsel_load sel_name  >" & sel_name
  717.   put "fsel_load fl_search >" & fl_search
  718.   put "fsel_load up_save   >" & up_save
  719.   put "fsel_load cup_save  >" & up_csave
  720.   if fl_search = "SOUND" then
  721.     if scommand <> "LOST" then
  722.       set newidx to find_slot()
  723.     else
  724.       set newidx to sel_scast
  725.     end if
  726.     set tsize to readsound(sel_name, newidx)
  727.     if tsize > 0 then
  728.       if scommand <> "LOST" then
  729.         dispsound(sel_ttrak, sel_name, sel_txpos, "1", 15, 0)
  730.         displaysegs()
  731.         set segsprite to 0
  732.       end if
  733.       setmastervol()
  734.       fsel_back()
  735.     else
  736.       set acwin to "FSEL"
  737.       set fl_msg to EMPTY
  738.     end if
  739.   else
  740.     if fl_search = "CIRCLE" then
  741.       setmastervol()
  742.       fsel_back()
  743.     else
  744.       if fl_search = "PATH" then
  745.         setmastervol()
  746.         set up_save to sel_name
  747.         fsel_back()
  748.       else
  749.         if fl_search = "PATHC" then
  750.           setmastervol()
  751.           set up_csave to sel_name
  752.           fsel_back()
  753.         end if
  754.       end if
  755.     end if
  756.   end if
  757.   put "fsel_lout up_save   >" & up_save
  758.   put "fsel_lout cup_save  >" & up_csave
  759. end
  760.