home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / lang / tcl / 2355 < prev    next >
Encoding:
Internet Message Format  |  1993-01-12  |  21.8 KB

  1. Path: sparky!uunet!olivea!spool.mu.edu!agate!boulder!csn!cherokee!durian
  2. From: durian@advtech.uswest.com (Mike Durian)
  3. Newsgroups: comp.lang.tcl
  4. Subject: tclm0.1 - tcl with MIDI extensions (3/7)
  5. Message-ID: <1993Jan12.202840.19873@advtech.uswest.com>
  6. Date: 12 Jan 93 20:28:40 GMT
  7. Sender: news@advtech.uswest.com (Radio Free Boulder)
  8. Organization: U S WEST Advanced Technologies
  9. Lines: 946
  10. Nntp-Posting-Host: mongo.advtech.uswest.com
  11.  
  12. # This is a shell archive.  Save it in a file, remove anything before
  13. # this line, and then unpack it by entering "sh file".  Note, it may
  14. # create directories; files and directories will be owned by you and
  15. # have default permissions.
  16. #
  17. # This archive contains:
  18. #
  19. #    tclm0.1/doc
  20. #    tclm0.1/doc/midiconfig.n
  21. #    tclm0.1/doc/midifixtovar.n
  22. #    tclm0.1/doc/midifree.n
  23. #    tclm0.1/doc/midiget.n
  24. #    tclm0.1/doc/midimake.n
  25. #    tclm0.1/doc/midimpu.n
  26. #    tclm0.1/doc/midiplay.n
  27. #    tclm0.1/doc/midiput.n
  28. #    tclm0.1/doc/midiread.n
  29. #    tclm0.1/doc/midirewind.n
  30. #    tclm0.1/doc/midistop.n
  31. #    tclm0.1/doc/miditiming.n
  32. #    tclm0.1/doc/midivartofix.n
  33. #    tclm0.1/doc/midiwrite.n
  34. #    tclm0.1/doc/minfo.n
  35. #    tclm0.1/doc/mplay.n
  36. #    tclm0.1/doc/tclm.n
  37. #
  38. echo c - tclm0.1/doc
  39. mkdir tclm0.1/doc > /dev/null 2>&1
  40. echo x - tclm0.1/doc/midiconfig.n
  41. sed 's/^X//' >tclm0.1/doc/midiconfig.n << 'END-of-tclm0.1/doc/midiconfig.n'
  42. X.Dt MIDICONFIG 3 TCLM
  43. X.Os TCLM
  44. X.Dd Jan 10, 1993
  45. X.Sh NAME
  46. X.Nm midiconfig
  47. X.Nd "tclm command to get or modify the configuration values of a Standard MIDI File"
  48. X.Sh SYNOPSIS
  49. X.Nm
  50. X.Ar mfileId
  51. X.Ar {format | division | tracks}
  52. X.Op value
  53. X.Sh DESCRIPTION
  54. X.Nm
  55. Xis a tclm command that
  56. Xgets or modifies the configurations
  57. Xvalues of
  58. Xa Standard MIDI File.
  59. X.Pp
  60. X.Nm
  61. Xtakes three or four arguments.
  62. XThe first is a tclm Standard MIDI File
  63. Xdescriptor as
  64. Xreturned by
  65. X.Xr midiread 3TCLM ,
  66. Xor
  67. X.Xr midimake 3TCLM .
  68. X.Pp
  69. XThe second argument specifies which
  70. Xconfiguration value to manipulate.
  71. XIt should be either
  72. X.Dq format,
  73. X.Dq division
  74. Xor
  75. X.Dq tracks.
  76. XThe
  77. X.Dq format
  78. Xoption
  79. Xallows you to get or change the
  80. Xformat value of the Standard MIDI File,
  81. Xand should be either 0, 1 or 2.
  82. XThe
  83. X.Dq division
  84. Xoption allows you to get or set
  85. Xthe timing for the file in units
  86. Xper beat.
  87. XFinally,
  88. X.Dq tracks
  89. Xallows you to get or change
  90. Xthe number of tracks in the file.
  91. XThis is how you create tracks in an empty
  92. Xfile generated by
  93. X.Xr midimake 3TCLM .
  94. X.Pp
  95. XThe final optional argument specifies
  96. Xthat the configuration value should be
  97. Xchanged and contains the new value.
  98. XWithout this argument,
  99. X.Nm
  100. Xreturns the current setting for the
  101. Xspecified value.
  102. X.Sh RETURN VALUES
  103. X.Nm
  104. Xreturns
  105. Xthe current setting of the specified
  106. Xvalue if the forth argument is missing,
  107. Xotherwise it returns nothing.
  108. X.Sh SEE ALSO
  109. X.Bl -item -compact
  110. X.It
  111. X.Xr midiread 3TCLM ,
  112. X.It
  113. X.Xr midimake 3TCLM
  114. X.El
  115. X.Sh AUTHORS
  116. XMike Durian - durian@advtech.uswest.com
  117. END-of-tclm0.1/doc/midiconfig.n
  118. echo x - tclm0.1/doc/midifixtovar.n
  119. sed 's/^X//' >tclm0.1/doc/midifixtovar.n << 'END-of-tclm0.1/doc/midifixtovar.n'
  120. X.Dt MIDIFIXTOVAR 3 TCLM
  121. X.Os TCLM
  122. X.Dd Jan 10, 1993
  123. X.Sh NAME
  124. X.Nm midifixtovar
  125. X.Nd "tclm command that converts an integer value to a variable length value"
  126. X.Sh SYNOPSIS
  127. X.Nm
  128. X.Ar value
  129. X.Sh DESCRIPTION
  130. X.Nm
  131. Xis a tclm command that
  132. Xconverts an integer value to a Standard MIDI File
  133. Xvariable length value.
  134. XThis command takes only one argument, which is
  135. Xthe value to be converted.
  136. XThe value should be representable in a four byte
  137. Xinteger value (typically a long).
  138. X.Sh RETURN VALUES
  139. X.Nm
  140. Xreturns a list of bytes representing the
  141. Xspecified value in variable length form.
  142. XThe individual bytes are in hex form
  143. X(0x??).
  144. X.Sh AUTHORS
  145. XMike Durian - durian@advtech.uswest.com
  146. END-of-tclm0.1/doc/midifixtovar.n
  147. echo x - tclm0.1/doc/midifree.n
  148. sed 's/^X//' >tclm0.1/doc/midifree.n << 'END-of-tclm0.1/doc/midifree.n'
  149. X.Dt MIDIFREE 3 TCLM
  150. X.Os TCLM
  151. X.Dd Jan 10, 1993
  152. X.Sh NAME
  153. X.Nm midifree
  154. X.Nd "tclm command to free the space used by a Standard MIDI File"
  155. X.Sh SYNOPSIS
  156. X.Nm
  157. X.Ar mfileId
  158. X.Sh DESCRIPTION
  159. X.Nm
  160. Xis a tclm command that
  161. Xfrees the space used by a
  162. XStandard MIDI File.
  163. XIt
  164. Xtakes one argument that specifies
  165. Xthe Standard MIDI File.
  166. XThis argument is a value returned by
  167. X.Xr midiread 3TCLM
  168. Xor
  169. X.Xr midimake 3TCLM .
  170. X.Sh RETURN VALUES
  171. X.Nm
  172. Xdoes not return anything.
  173. X.Sh SEE ALSO
  174. X.Bl -item -compact
  175. X.It
  176. X.Xr midiread 3TCLM ,
  177. X.It
  178. X.Xr midimake 3TCLM
  179. X.El
  180. X.Sh AUTHORS
  181. XMike Durian - durian@advtech.uswest.com
  182. END-of-tclm0.1/doc/midifree.n
  183. echo x - tclm0.1/doc/midiget.n
  184. sed 's/^X//' >tclm0.1/doc/midiget.n << 'END-of-tclm0.1/doc/midiget.n'
  185. X.Dt MIDIGET 3 TCLM
  186. X.Os TCLM
  187. X.Dd Jan 10, 1993
  188. X.Sh NAME
  189. X.Nm midiget
  190. X.Nd "tclm command to get one event from a track in a Standard MIDI File"
  191. X.Sh SYNOPSIS
  192. X.Nm
  193. X.Ar mfileId
  194. X.Ar track
  195. X.Sh DESCRIPTION
  196. X.Nm
  197. Xis a tclm command that
  198. Xgets one event from the specified track
  199. Xof a
  200. XStandard MIDI File.
  201. XThe first argument specifies the Standard MIDI File
  202. Xand should be a value returned by either
  203. X.Xr midiread 3TCLM
  204. Xor
  205. X.Xr midimake 3TCLM .
  206. XThe second argument specifies which
  207. Xtrack from which to get the event.
  208. XSuccessive calls to
  209. X.Nm
  210. Xon the same track
  211. Xwill get successive events from
  212. Xthat track.
  213. X.Xr midirewind 3TCLM
  214. Xcan be used to
  215. Xreturn to the begining of the track.
  216. X.Sh RETURN VALUES
  217. X.Nm
  218. Xreturns a string of bytes consisting
  219. Xof one complete MIDI event.
  220. XThe bytes are represented in hex form
  221. X(0x??).
  222. X.Sh SEE ALSO
  223. X.Bl -item -compact
  224. X.It
  225. X.Xr midiread 3TCLM ,
  226. X.It
  227. X.Xr midimake 3TCLM ,
  228. X.It
  229. X.Xr midirewind 3TCLM
  230. X.El
  231. X.Sh AUTHORS
  232. XMike Durian - durian@advtech.uswest.com
  233. END-of-tclm0.1/doc/midiget.n
  234. echo x - tclm0.1/doc/midimake.n
  235. sed 's/^X//' >tclm0.1/doc/midimake.n << 'END-of-tclm0.1/doc/midimake.n'
  236. X.Dt MIDIMAKE 3 TCLM
  237. X.Os TCLM
  238. X.Dd Jan 10, 1993
  239. X.Sh NAME
  240. X.Nm midimake
  241. X.Nd "tclm command to create an empty Standard MIDI File"
  242. X.Sh SYNOPSIS
  243. X.Nm
  244. X.Sh DESCRIPTION
  245. X.Nm
  246. Xis a tclm command that creates an empty Standard MIDI File for
  247. Xuse by other MIDI specific tclm commands.
  248. XBy default the Standard MIDI File is created with zero
  249. Xtracks allocated, the format is type one and the division
  250. Xis 120.
  251. XThese defaults can then be changed with
  252. Xthe
  253. X.Xr midiconfig 3TCLM
  254. Xcommand.
  255. X.Pp
  256. XSince
  257. X.Nm
  258. Xallocates space for the Standard MIDI File,
  259. X.Xr midifree 3TCLM
  260. Xshould be used
  261. Xwhen the file is no longer needed.
  262. X.Sh RETURN VALUES
  263. X.Nm
  264. Xreturns a MIDI file
  265. XID for use by other MIDI specific
  266. Xtclm commands.
  267. X.Sh SEE ALSO
  268. X.Xr midiconfig 3TCLM
  269. X.Sh AUTHORS
  270. XMike Durian - durian@advtech.uswest.com
  271. END-of-tclm0.1/doc/midimake.n
  272. echo x - tclm0.1/doc/midimpu.n
  273. sed 's/^X//' >tclm0.1/doc/midimpu.n << 'END-of-tclm0.1/doc/midimpu.n'
  274. X.Dt MIDIMPU 3 TCLM
  275. X.Os TCLM
  276. X.Dd Jan 10, 1993
  277. X.Sh NAME
  278. X.Nm midimpu
  279. X.Nd "tclm command to determine if the MPU-401 commands are available"
  280. X.Sh SYNOPSIS
  281. X.Nm
  282. X.Sh DESCRIPTION
  283. X.Nm
  284. Xis a simple command that returns 1 if the MPU-401
  285. Xcommands,
  286. X.Xr midiplay 3TCLM
  287. Xand
  288. X.Xr midistop 3TCLM ,
  289. Xare available for use.
  290. XSince the MPU-401 commands are currently available only
  291. Xon BSD/386 systems with an MPU-401 compatible MIDI card,
  292. Xthis function is useful for writing programs with
  293. Xvarying functionality.
  294. X.Sh RETURN VALUES
  295. X.Nm
  296. Xreturns 1 if the commands
  297. X.Xr midiplay 3TCLM
  298. Xand
  299. X.Xr midistop 3TCLM
  300. Xare available
  301. Xand 0 if they are not.
  302. X.Sh SEE ALSO
  303. X.Bl -item -compact
  304. X.It
  305. X.Xr midiplay 3TCLM ,
  306. X.It
  307. X.Xr midistop 3TCLM
  308. X.El
  309. X.Sh AUTHORS
  310. XMike Durian - durian@advtech.uswest.com
  311. END-of-tclm0.1/doc/midimpu.n
  312. echo x - tclm0.1/doc/midiplay.n
  313. sed 's/^X//' >tclm0.1/doc/midiplay.n << 'END-of-tclm0.1/doc/midiplay.n'
  314. X.Dt MIDIPLAY 3 TCLM
  315. X.Os TCLM
  316. X.Dd Jan 10, 1993
  317. X.Sh NAME
  318. X.Nm midiplay
  319. X.Nd "tclm command to play a Standard MIDI File"
  320. X.Sh SYNOPSIS
  321. X.Nm
  322. X.Op bg | background
  323. X.Op repeat
  324. X.Op tracks Ar track_list
  325. X.Op reltempo Ar tempo_scalar
  326. X.Ar mfileId
  327. X.Sh DESCRIPTION
  328. X.Nm
  329. Xis a tclm command that plays a Standard MIDI File through
  330. Xthe MPU-401 compatible device under BSD/386.
  331. XIt will not work on systems without BSDI's MPU-401 device
  332. Xdriver.
  333. X.Pp
  334. XIn the most basic form
  335. X.Nm
  336. Xtakes no options and only one argument specifying the
  337. Xfile to be played.
  338. XThis argument should be a MIDI file ID as returned by
  339. X.Xr midiread 3TCLM
  340. Xor
  341. X.Xr midimake 3TCLM .
  342. X.Pp
  343. XIn the other forms,
  344. X.Nm
  345. Xcan take various options to control how
  346. Xthe file is played.
  347. XThe usage of the various options is as follows:
  348. X.Bl -tag -width "bg or background" -offset indent
  349. X.It bg or background
  350. XThese options make
  351. X.Nm
  352. Xfork and play the file in a
  353. Xseparate process.
  354. XThe call returns immediately.
  355. XWithout this option
  356. X.Nm
  357. Xwill block until the file is
  358. Xfinished playing.
  359. X.It repeat
  360. XThis option causes
  361. X.Nm
  362. Xto play the file continuously,
  363. Xrepeating from the beginning of the file
  364. Xwhen the end is reached.
  365. X.It reltempo
  366. XThis option
  367. Xtakes one argument which specifies a value
  368. Xused to scale
  369. Xany tempos found in the file.
  370. XThis value should be a float and
  371. Xshould be in the range 0
  372. Xto 4.
  373. X.It tracks
  374. XThis option takes an argument
  375. Xconsisting of a list of track numbers.
  376. XThe list should be enclosed by curly braces
  377. Xor double quotes.
  378. XWith this option, only those tracks specified
  379. Xin the track
  380. Xlist will be played.
  381. XTrack 0 is the first track.
  382. X.El
  383. X.Sh RETURN VALUES
  384. X.Nm
  385. Xreturns 0
  386. Xwhen called without the
  387. X.Em bg
  388. Xoption, and
  389. Xthe process ID of forked process
  390. Xwhen called with the
  391. X.Em bg
  392. Xoption.
  393. XThis process ID can then be used with the
  394. X.Xr midistop 3TCLM
  395. Xtclm function.
  396. X.Sh SEE ALSO
  397. X.Bl -item -compact
  398. X.It
  399. X.Xr midiread 3TCLM ,
  400. X.It
  401. X.Xr midimake 3TCLM ,
  402. X.It
  403. X.Xr midistop 3TCLM
  404. X.El
  405. X.Sh AUTHORS
  406. XMike Durian - durian@advtech.uswest.com
  407. END-of-tclm0.1/doc/midiplay.n
  408. echo x - tclm0.1/doc/midiput.n
  409. sed 's/^X//' >tclm0.1/doc/midiput.n << 'END-of-tclm0.1/doc/midiput.n'
  410. X.Dt MIDIPUT 3 TCLM
  411. X.Os TCLM
  412. X.Dd Jan 10, 1993
  413. X.Sh NAME
  414. X.Nm midiput
  415. X.Nd "tclm command to put an event in a track in a Standard MIDI File"
  416. X.Sh SYNOPSIS
  417. X.Nm
  418. X.Ar mfileId
  419. X.Ar track
  420. X.Ar event
  421. X.Sh DESCRIPTION
  422. X.Nm
  423. Xis a tclm command that
  424. Xputs an event at the end of a specified
  425. Xtrack in a
  426. XStandard MIDI File.
  427. XThe first argument specifies the Standard MIDI File
  428. Xand should be a value returned by either
  429. X.Xr midiread 3TCLM
  430. Xor
  431. X.Xr midimake 3TCLM .
  432. XThe second argument specifies the
  433. Xtrack in which to get the event.
  434. XThe third argument is the event to
  435. Xinsert.
  436. XIt should be in tcl list form,
  437. Xwith each value in the list being
  438. Xone byte of the event.
  439. XThe event should be surrounded by
  440. Xeither double-quotes or curly braces.
  441. X.Sh RETURN VALUES
  442. X.Nm
  443. Xreturns nothing.
  444. X.Sh BUGS
  445. X.Nm
  446. Xshould only be used at the end
  447. Xof a track.
  448. XIt should be rewritten to handle
  449. Xinserting events in the middle
  450. Xof a track.
  451. X.Sh SEE ALSO
  452. X.Bl -item -compact
  453. X.It
  454. X.Xr midiread 3TCLM ,
  455. X.It
  456. X.Xr midimake 3TCLM ,
  457. X.El
  458. X.Sh AUTHORS
  459. XMike Durian - durian@advtech.uswest.com
  460. END-of-tclm0.1/doc/midiput.n
  461. echo x - tclm0.1/doc/midiread.n
  462. sed 's/^X//' >tclm0.1/doc/midiread.n << 'END-of-tclm0.1/doc/midiread.n'
  463. X.Dt MIDIREAD 3 TCLM
  464. X.Os TCLM
  465. X.Dd Jan 10, 1993
  466. X.Sh NAME
  467. X.Nm midiread
  468. X.Nd "tclm command to read a Standard MIDI File"
  469. X.Sh SYNOPSIS
  470. X.Nm
  471. X.Ar fileId
  472. X.Sh DESCRIPTION
  473. X.Nm
  474. Xis a tclm command that reads a Standard MIDI File for
  475. Xuse by other MIDI specific tclm commands.
  476. X.Pp
  477. X.Nm
  478. Xtakes one argument that specifies a file
  479. Xdescriptor from which to read the Standard MIDI File.
  480. XThis argument should be a value returned by
  481. Xthe
  482. X.Xr open 3TCL
  483. Xtcl command, or
  484. X.Em stdin .
  485. X.Pp
  486. XSince
  487. X.Nm
  488. Xallocates space for the Standard MIDI File,
  489. X.Xr midifree 3TCLM
  490. Xshould be used
  491. Xwhen the file is no longer needed.
  492. X.Sh RETURN VALUES
  493. X.Nm
  494. Xreturns a MIDI file
  495. XID for use by other MIDI specific
  496. Xtclm commands.
  497. XIf there is no data to be read,
  498. X.Nm
  499. Xforces an error and returns
  500. X.Dq EOF.
  501. XThis facilitates determining
  502. Xwhen there are no more files
  503. Xto be read from
  504. X.Em stdin .
  505. X.Sh SEE ALSO
  506. X.Bl -item -compact
  507. X.It
  508. X.Xr open 3TCL ,
  509. X.It
  510. X.Xr midifree 3TCLM
  511. X.El
  512. X.Sh AUTHORS
  513. XMike Durian - durian@advtech.uswest.com
  514. END-of-tclm0.1/doc/midiread.n
  515. echo x - tclm0.1/doc/midirewind.n
  516. sed 's/^X//' >tclm0.1/doc/midirewind.n << 'END-of-tclm0.1/doc/midirewind.n'
  517. X.Dt MIDIREWIND 3 TCLM
  518. X.Os TCLM
  519. X.Dd Jan 10, 1993
  520. X.Sh NAME
  521. X.Nm midirewind
  522. X.Nd "tclm command to reset a Standard MIDI File to the beginning"
  523. X.Sh SYNOPSIS
  524. X.Nm
  525. X.Ar mfileId
  526. X.Op track_list
  527. X.Sh DESCRIPTION
  528. X.Nm
  529. Xis a tclm command that
  530. Xsets the internal place keeper of
  531. Xspecified tracks of
  532. Xa Standard MIDI File to the beginning.
  533. XThe next
  534. X.Xr midiget 3TCLM
  535. Xon one of the specified tracks
  536. Xwill return an event from
  537. Xthe start of that track regardless
  538. Xof the location of any previous
  539. X.Xr midiget 3TCLM
  540. Xcalls.
  541. X.Pp
  542. X.Nm
  543. Xtakes
  544. Xone argument specifying a
  545. XStandard MIDI File descriptor as returned
  546. Xby
  547. X.Xr midiread 3TCLM
  548. Xor
  549. X.Xr midimake 3TCLM ,
  550. Xand one optional
  551. Xargument specifying a list
  552. Xof tracks to be rewound.
  553. XThe track list should be in tcl
  554. Xform and enclosed in either double-quotes
  555. Xor curly braces.
  556. XIf a track list is not specified,
  557. Xall tracks will be rewound.
  558. X.Sh RETURN VALUES
  559. X.Nm
  560. Xdoes not return anything.
  561. X.Sh SEE ALSO
  562. X.Bl -item -compact
  563. X.It
  564. X.Xr midiread 3TCLM ,
  565. X.It
  566. X.Xr midimake 3TCLM ,
  567. X.It
  568. X.Xr midiget 3TCLM
  569. X.El
  570. X.Sh AUTHORS
  571. XMike Durian - durian@advtech.uswest.com
  572. END-of-tclm0.1/doc/midirewind.n
  573. echo x - tclm0.1/doc/midistop.n
  574. sed 's/^X//' >tclm0.1/doc/midistop.n << 'END-of-tclm0.1/doc/midistop.n'
  575. X.Dt MIDISTOP 3 TCLM
  576. X.Os TCLM
  577. X.Dd Jan 10, 1993
  578. X.Sh NAME
  579. X.Nm midistop
  580. X.Nd "tclm command to stop playing a Standard MIDI File playing in the background"
  581. X.Sh SYNOPSIS
  582. X.Nm
  583. X.Ar process_ID
  584. X.Sh DESCRIPTION
  585. X.Nm
  586. Xis a tclm command that stops a Standard MIDI File
  587. Xplaying in the background.
  588. XIt will not work on systems without BSDI's MPU-401 device
  589. Xdriver.
  590. X.Pp
  591. X.Nm
  592. Xtakes one argument that specifies the process ID
  593. Xof the process playing the Standard MIDI File.
  594. XThis value can be obtained by using the return code
  595. Xof the
  596. X.Xr midiplay 3TCLM
  597. Xcommand.
  598. X.Nm
  599. Xwill only work on files being played by executing
  600. X.Xr midiplay 3TCLM
  601. Xwith the
  602. X.Em bg
  603. Xoption.
  604. X.Sh RETURN VALUES
  605. X.Nm
  606. Xreturns 1
  607. Xif it could successfully
  608. Xstop playing the file.
  609. XIt returns 0 if the process
  610. XID does not exist.
  611. X.Sh SEE ALSO
  612. X.Xr midiplay 3TCLM
  613. X.Sh AUTHORS
  614. XMike Durian - durian@advtech.uswest.com
  615. END-of-tclm0.1/doc/midistop.n
  616. echo x - tclm0.1/doc/miditiming.n
  617. sed 's/^X//' >tclm0.1/doc/miditiming.n << 'END-of-tclm0.1/doc/miditiming.n'
  618. X.Dt MIDITIMING 3 TCLM
  619. X.Os TCLM
  620. X.Dd Jan 10, 1993
  621. X.Sh NAME
  622. X.Nm miditiming
  623. X.Nd "tclm command that gets the timing portion of a Standard MIDI File event"
  624. X.Sh SYNOPSIS
  625. X.Nm
  626. X.Ar event
  627. X.Sh DESCRIPTION
  628. X.Nm
  629. Xis a tclm command that
  630. Xreturns the timing portion of a Standard MIDI File event.
  631. XThis command takes only one argument;
  632. Xa Standard MIDI File event.
  633. XThis argument should be
  634. Xin tcl list form,
  635. Xwith each value in the list being
  636. Xone byte of the event.
  637. XThe event should be surrounded by
  638. Xeither double-quotes or curly braces.
  639. X.Sh RETURN VALUES
  640. X.Nm
  641. Xreturns the timing portion of the specified
  642. Xevent.
  643. XSince Standard MIDI File events are in
  644. Xvariable length form, one to four bytes
  645. Xmay be returned.
  646. XThe individual bytes will be in hex notation
  647. X(0x??).
  648. X.Sh SEE ALSO
  649. X.Bl -item -compact
  650. X.It
  651. X.Xr midiget 3TCLM
  652. X.It
  653. X.El
  654. X.Sh AUTHORS
  655. XMike Durian - durian@advtech.uswest.com
  656. END-of-tclm0.1/doc/miditiming.n
  657. echo x - tclm0.1/doc/midivartofix.n
  658. sed 's/^X//' >tclm0.1/doc/midivartofix.n << 'END-of-tclm0.1/doc/midivartofix.n'
  659. X.Dt MIDIVARTOFIX 3 TCLM
  660. X.Os TCLM
  661. X.Dd Jan 10, 1993
  662. X.Sh NAME
  663. X.Nm midivartofix
  664. X.Nd "tclm command that converts a variable length value to a fixed length value"
  665. X.Sh SYNOPSIS
  666. X.Nm
  667. X.Ar event
  668. X.Sh DESCRIPTION
  669. X.Nm
  670. Xis a tclm command that
  671. Xconverts a variable length value specified in a Standard MIDI File
  672. Xevent to a fixed length value.
  673. XThis command takes only one argument;
  674. Xa series of bytes forming a
  675. XStandard MIDI File variable length value.
  676. XAdditional bytes are ignored so complete events can be
  677. Xpassed to
  678. X.Nm
  679. Xto convert the timing portion of the event directly to
  680. Xa fixed length value.
  681. XThis argument should be
  682. Xin tcl list form,
  683. Xwith each value in the list being
  684. Xone byte of the event.
  685. XThe event should be surrounded by
  686. Xeither double-quotes or curly braces.
  687. X.Sh RETURN VALUES
  688. X.Nm
  689. Xreturns a four byte integer (typically a long in C)
  690. Xrepresentation of a Standard MIDI File
  691. Xvariable length value.
  692. XThough a variable length value could represent
  693. Xa value that would not fit in a long, this
  694. Xnever happens in actual usage.
  695. X.Sh AUTHORS
  696. XMike Durian - durian@advtech.uswest.com
  697. END-of-tclm0.1/doc/midivartofix.n
  698. echo x - tclm0.1/doc/midiwrite.n
  699. sed 's/^X//' >tclm0.1/doc/midiwrite.n << 'END-of-tclm0.1/doc/midiwrite.n'
  700. X.Dt MIDIWRITE 3 TCLM
  701. X.Os TCLM
  702. X.Dd Jan 10, 1993
  703. X.Sh NAME
  704. X.Nm midiwrite
  705. X.Nd "tclm command to write a Standard MIDI File"
  706. X.Sh SYNOPSIS
  707. X.Nm
  708. X.Ar mfileId
  709. X.Ar fileId
  710. X.Sh DESCRIPTION
  711. X.Nm
  712. Xis a tclm command that writes Standard MIDI File to
  713. Xan open tcl file descriptor.
  714. X.Pp
  715. XThis command
  716. Xtakes two arguments.
  717. XThe first is a tclm Standard MIDI File descriptor
  718. Xas returned by
  719. X.Xr midiread 3TCLM
  720. Xor
  721. X.Xr midimake 3TCLM ,
  722. Xwhile the second is a tcl file descriptor as
  723. Xreturned by
  724. X.Xr open 3TCL
  725. Xor
  726. X.Em stdout
  727. Xor
  728. X.Em stderr .
  729. X.Sh RETURN VALUES
  730. X.Nm
  731. Xdoes not return anything.
  732. X.Sh SEE ALSO
  733. X.Bl -item -compact
  734. X.It
  735. X.Xr open 3TCL ,
  736. X.It
  737. X.Xr midiread 3TCLM ,
  738. X.It
  739. X.Xr midimake 3TCLM
  740. X.El
  741. X.Sh AUTHORS
  742. XMike Durian - durian@advtech.uswest.com
  743. END-of-tclm0.1/doc/midiwrite.n
  744. echo x - tclm0.1/doc/minfo.n
  745. sed 's/^X//' >tclm0.1/doc/minfo.n << 'END-of-tclm0.1/doc/minfo.n'
  746. X.Dt MINFO 1 TCLM
  747. X.Os TCLM
  748. X.Dd Jan 10, 1993
  749. X.Sh NAME
  750. X.Nm minfo
  751. X.Nd "a tcl script to print a Standard MIDI File in human readable form"
  752. X.Sh SYNOPSIS
  753. X.Nm
  754. X.Op file
  755. X.Sh DESCRIPTION
  756. X.Nm
  757. Xis a
  758. X.Nm tcl
  759. Xscript that reads a Standard MIDI File
  760. Xand prints the data in human readable form.
  761. XIf a file is not specified on the command
  762. Xline
  763. X.Nm
  764. Xwill read from
  765. X.Em stdin .
  766. X.Sh SEE ALSO
  767. X.Xr tclm 3TCLM
  768. X.Sh AUTHORS
  769. XMike Durian - durian@advtech.uswest.com
  770. END-of-tclm0.1/doc/minfo.n
  771. echo x - tclm0.1/doc/mplay.n
  772. sed 's/^X//' >tclm0.1/doc/mplay.n << 'END-of-tclm0.1/doc/mplay.n'
  773. X.Dt MPLAY 1 TCLM
  774. X.Os TCLM
  775. X.Dd Jan 10, 1993
  776. X.Sh NAME
  777. X.Nm mplay
  778. X.Nd "a tcl script to play Standard MIDI Files"
  779. X.Sh SYNOPSIS
  780. X.Nm
  781. X.Op Fl r
  782. X.Op Fl t Ar tracks
  783. X.Op Fl s Ar speed
  784. X.Op file ...
  785. X.Sh DESCRIPTION
  786. X.Nm
  787. Xis a
  788. X.Nm tcl
  789. Xscript that plays Standard MIDI Files.
  790. XMultiple files may be specified on
  791. Xthe command line, or files can be
  792. Xread from
  793. X.Em stdin .
  794. XThe options are as follows:
  795. X.Bl -tag -width -offset indent
  796. X.It Fl r
  797. XPlay the first file repeatedly.
  798. XThe playing will continue until the
  799. Xprocess is killed.
  800. X.It Fl t
  801. XSpecifies a list of tracks to be played
  802. Xinstead of the default, which is to play
  803. Xall tracks.
  804. XThis option has an argument that lists
  805. Xthe tracks.
  806. XThe argument needs to be treated as one argument
  807. Xinstead of multiple values, and thus should
  808. Xbe enclosed in double or single quotes.
  809. X.It Fl s
  810. XSpecifies a tempo modifier.
  811. XThe argument to this option is a float
  812. Xvalue in the range 0 to 4 that acts as
  813. Xa multipiler for the tempo values found
  814. Xin the Standard MIDI Files.
  815. X.El
  816. X.Pp
  817. XSince
  818. X.Nm
  819. Xmakes use of the
  820. X.Nm midiplay
  821. X.Nm tclm
  822. Xcommand,
  823. Xthis program will only work on
  824. XBSD/386 systems equipped with
  825. Xa MPU-401 compatible MIDI card.
  826. XAn error message is printed to
  827. Xstderr if the script is run
  828. Xby a
  829. X.Nm tclm
  830. Xinterpreter without the MPU-401
  831. Xextensions.
  832. X.Sh SEE ALSO
  833. X.Xr tclm 3TCLM
  834. X.Sh AUTHORS
  835. XMike Durian - durian@advtech.uswest.com
  836. END-of-tclm0.1/doc/mplay.n
  837. echo x - tclm0.1/doc/tclm.n
  838. sed 's/^X//' >tclm0.1/doc/tclm.n << 'END-of-tclm0.1/doc/tclm.n'
  839. X.Dt TCLM 1 TCLM
  840. X.Os TCLM
  841. X.Dd Jan 10, 1993
  842. X.Sh NAME
  843. X.Nm tclm
  844. X.Nd "a tcl interpreter with MIDI extensions"
  845. X.Sh SYNOPSIS
  846. X.Nm
  847. X.Op Fl f Op Ar filename
  848. X.Sh DESCRIPTION
  849. X.Nm
  850. Xis a
  851. X.Nm tcl
  852. Xinterpreter with MIDI extensions allowing
  853. Xit to manipulate Standard MIDI Files and in some
  854. Xcases play Standard MIDI Files.
  855. X.Nm Tcl
  856. Xis a Tool Command Language
  857. Xwritten by John Ousterhout.
  858. X.Pp
  859. X.Nm
  860. Xhas only one option:
  861. X.Bl -tag -width Fl f -offset indent
  862. X.It Fl f
  863. XThis option has one optional argument
  864. Xthat specifies the name of a file
  865. Xcontaining tclm commands.
  866. XThese commands are executed
  867. Xin place of reading from stdin.
  868. XWithout the optional argument
  869. Xcommands are read from
  870. X.Em stdin .
  871. X.El
  872. XWithout the
  873. X.Fl f
  874. Xoption
  875. X.Nm
  876. Xdisplays a
  877. X.Dq tclm:
  878. Xprompt and reads
  879. Xcommands from
  880. X.Em stdin .
  881. X.Ss TCLM EXTENSION
  882. X.Nm
  883. Xhas a few extensions which
  884. Xaid in the manipulation of
  885. XStandard MIDI Files (SMF).
  886. XThey are:
  887. X.Bl -tag -width "midivartofix" -offset indent
  888. X.It Nm midiconfig
  889. XChanges configuration values in a SMF.
  890. X.It Nm midifixtovar
  891. XConverts fixed length integers to SMF variable
  892. Xlength values.
  893. X.It Nm midifree
  894. XFrees the space used by SMF's.
  895. X.It Nm midiget
  896. XGets one event from a track in a SMF.
  897. X.It Nm midimake
  898. XCreates an empty SMF.
  899. X.It Nm midimpu
  900. XChecks to see if the MPU-401 extensions are available.
  901. X.It Nm midiput
  902. XPuts an event in a track in a SMF.
  903. X.It Nm midiread
  904. XReads a SMF from an open file descriptor.
  905. X.It Nm midirewind
  906. XResets a SMF to its beginning.
  907. X.It Nm miditiming
  908. XGets the timing portion of a SMF event.
  909. X.It Nm midivartofix
  910. XConverts a SMF variable length value to a fixed
  911. Xlength integer.
  912. X.It Nm midiwrite
  913. XWrites a SMF to an open file descriptor.
  914. X.El
  915. X.Pp
  916. XThere are also two commands available for playing
  917. XSMF.
  918. XSince they use BSDI's MPU-401 device driver, they
  919. Xare only available for BSD/386 machines with
  920. Xan MPU-401 card.
  921. XThe
  922. X.Nm midimpu
  923. Xcommand can be used to selectively
  924. Xenable or disable MPU-401 specific commands
  925. Xin scripts meant to run on BSD/386 as well
  926. Xas other machines.
  927. XThese commands are:
  928. X.Bl -tag -width midiplay -offset indent
  929. X.It Nm midiplay
  930. XPlay a SMF.
  931. X.It Nm midistop
  932. XStop a SMF that is currently playing in the background.
  933. X.El
  934. X.Sh SEE ALSO
  935. X.Xr midiconfig 3TCLM ,
  936. X.Xr midifixtovar 3TCLM ,
  937. X.Xr midifree 3TCLM ,
  938. X.Xr midiget 3TCLM ,
  939. X.Xr midimake 3TCLM ,
  940. X.Xr midimpu 3TCLM ,
  941. X.Xr midiplay 3TCLM ,
  942. X.Xr midiput 3TCLM ,
  943. X.Xr midiread 3TCLM ,
  944. X.Xr midirewind 3TCLM ,
  945. X.Xr midistop 3TCLM ,
  946. X.Xr miditiming 3TCLM ,
  947. X.Xr midivartofix 3TCLM ,
  948. X.Xr midiwrite 3TCLM
  949. X.Sh AUTHORS
  950. X.Bl -item -compact
  951. X.It
  952. XJohn Ousterhout - ouster@cs.berkely.edu for the TCL stuff
  953. X.It
  954. XMike Durian - durian@advtech.uswest.com for the MIDI stuff
  955. X.El
  956. END-of-tclm0.1/doc/tclm.n
  957. exit
  958.