<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>io 0.0.1 beta++ &#187; source code</title>
	<atom:link href="http://www.io001b.com/tag/source-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.io001b.com</link>
	<description>interactive, semi-autonomous technological artifact, musical automaton, machine musician and improviser</description>
	<lastBuildDate>Sat, 29 May 2010 14:09:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>source code 05-12-2009</title>
		<link>http://www.io001b.com/2009/07/01/source-code-05-12-2009/</link>
		<comments>http://www.io001b.com/2009/07/01/source-code-05-12-2009/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 22:15:31 +0000</pubDate>
		<dc:creator>Han-earl Park</dc:creator>
				<category><![CDATA[beta test]]></category>
		<category><![CDATA[construction]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Bruce Coates]]></category>
		<category><![CDATA[Franziska Schroeder]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://www.busterandfriends.com/io/?p=541</guid>
		<description><![CDATA[Source code for io 0.0.1 beta (rev. May 12th 2009) [86kB zip file]. There have been major changes since 03-23-2009 as a result of the beta tests with Bruce Coates and Franziska Schroeder. These changes are unfortunately not documented/commented at the moment, but I’m uploading the source files for the record.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.io001b.com/wp-content/uploads/2009/07/source-001b-05-12-2009.zip">Source code for io 0.0.1 beta (rev. May 12th 2009)</a> [86kB zip file].</p>
<p>There have been major changes since <a href="http://www.io001b.com/2009/03/23/source-code-03-23-2009/">03-23-2009</a> as a result of the <a href="http://www.io001b.com/category/performance/beta-test/">beta tests</a> with <a href="http://www.myspace.com/brucecoates">Bruce Coates</a> and <a href="http://www.sarc.qub.ac.uk/%7Efschroeder/">Franziska Schroeder</a>. These changes are unfortunately not documented/commented at the moment, but I’m uploading the source files for the record.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.io001b.com/2009/07/01/source-code-05-12-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bug fix: banalyzer+</title>
		<link>http://www.io001b.com/2009/03/24/bug-fix-banalyzer/</link>
		<comments>http://www.io001b.com/2009/03/24/bug-fix-banalyzer/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 15:45:54 +0000</pubDate>
		<dc:creator>Han-earl Park</dc:creator>
				<category><![CDATA[construction]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://www.busterandfriends.com/io/?p=283</guid>
		<description><![CDATA[Here’s a fix for a significant bug that I somehow didn’t catch (didn’t hear?) for several years. The side effect of the fix is that io is now significantly more responsive. \ banalyzer+ \ \ a "smarter" banalyzer class designed to works in conjunction with the \ parser classes. \ \ ob.banalyzer+ clears internal storage [...]]]></description>
			<content:encoded><![CDATA[<p>Here’s a <a title="source code for the banalyzer+ class" href="http://www.io001b.com/wp-content/uploads/2009/03/banalyzer+.txt">fix</a> for a significant bug that I somehow didn’t catch (didn’t hear?) for several <em>years</em>. The side effect of the fix is that io is now <em>significantly</em> more responsive.</p>
<pre style="font-size:80%">\ <a title="source code for the banalyzer+ class" href="http://www.io001b.com/wp-content/uploads/2009/03/banalyzer+.txt">banalyzer+</a>
\
\ a "smarter" banalyzer class designed to works in conjunction with the
\ parser classes.
\
\ <a title="source code for the banalyzer+ class" href="http://www.io001b.com/wp-content/uploads/2009/03/banalyzer+.txt">ob.banalyzer+</a> clears internal storage and stats after an ALERT: message
\ is called. In addition, <a title="source code for the banalyzer+ class" href="http://www.io001b.com/wp-content/uploads/2009/03/banalyzer+.txt">ob.banalyzer+</a> also takes into account the
\ frequency of ALERT: messages and adjusts sensitivity (i.e. the alert
\ threshold) accordingly.

…

\ MOD: HeP 03-24-09 Fix bug that prevented default iv-blyzr-tolerance-cfa from
\                   being set. Now set this during OPEN:

…

: BLYZR.SET.TOLERANCE.CFA   ( mode --  )
    CASE
        static_tolerance  OF  0                          ENDOF
        linear_tolerance  OF  'c blyzr.linear.tolerance  ENDOF
        shift_tolerance   OF  'c blyzr.shift.tolerance   ENDOF
        random_tolerance  OF  'c blyzr.random.tolerance  ENDOF
    ENDCASE
    iv=&gt; iv-blyzr-tolerance-cfa
;

:m PUT.TOLERANCE.MODE:  ( mode --  , select tolerance calculating mode )
    dup  0 3  within?
    IF
        dup  iv=&gt; iv-blyzr-tolerance-mode
    \
        iv-dev-#opened
        IF
            blyzr.set.tolerance.cfa
        ELSE
            drop
        THEN
    ELSE
        drop
        " put.tolerance.mode:"  " unrecognized mode selector"
    THEN
;m

…

:m RAW.OPEN:    (  --  )
    raw.open: super
\
    iv-blyzr-tolerance-mode  BLYZR.SET.TOLERANCE.CFA
;m

…</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.io001b.com/2009/03/24/bug-fix-banalyzer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>source code 03-23-2009</title>
		<link>http://www.io001b.com/2009/03/23/source-code-03-23-2009/</link>
		<comments>http://www.io001b.com/2009/03/23/source-code-03-23-2009/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 11:22:10 +0000</pubDate>
		<dc:creator>Han-earl Park</dc:creator>
				<category><![CDATA[construction]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Bruce Coates]]></category>
		<category><![CDATA[io 0.0.1 beta++]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://www.busterandfriends.com/io/?p=265</guid>
		<description><![CDATA[Source code for io 0.0.1 beta (rev. March 23rd 2009) [86kB zip file]. Significant revisions since 07-03-2004 as detailed below. io:io_config \ MOD: HeP 11-09-08 Make io_min_pulse and io_max_pulse dependent on \ io_rtc_rate. \ MOD: HeP 03-22-09 Setting of rtc.rate! and time-advance moved to io_glob. io:io_glob \ MOD: HeP 03-22-09 Setting of rtc.rate! and time-advance [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.io001b.com/wp-content/uploads/2009/03/source-001b-03-23-2009.zip">Source code for io 0.0.1 beta (rev. March 23rd 2009)</a> [86kB zip file]. Significant revisions since <a href="http://www.io001b.com/2008/10/27/source-code-07-03-2004/">07-03-2004</a> as detailed below.</p>
<h4>io:io_config</h4>
<pre style="font-size:80%">\ MOD: HeP 11-09-08 Make io_min_pulse and io_max_pulse dependent on
\                   io_rtc_rate.
\ MOD: HeP 03-22-09 Setting of rtc.rate! and time-advance moved to io_glob.</pre>
<h4>io:io_glob</h4>
<pre style="font-size:80%">\ MOD: HeP 03-22-09 Setting of rtc.rate! and time-advance moved from
\                   io_config.
\                   Add (MODIFY.TIME.ADVANCE) called by the meta-alert-matrix.
\                   See: io_matrix.</pre>
<h4>io:modules:io_interp_table</h4>
<pre style="font-size:80%">\ MOD: HeP 10-26-08 Add the io_interp_table component.
\ MOD: HeP 11-04-08 Make the pitch tables 4 bytes wide because they need
\                   to contain signed data.
\ MOD: HeP 11-05-08 Provisional test of the table lookup version of hp-&gt;midi
\                   suggests that it is almost twice as fast as the old
\                   version (12725 msec for 10,000,000 conversions in
\                   comparison to 20413 msec).
\ MOD: HeP 11-06-08 Use !BYTES.
\ MOD: HeP 11-07-08 hp_ conversion words (e.g. HP-&gt;MIDI ) now reside in
\                   io:mobules:io_interp_table.
\ MOD: HeP 11-08-08 Add words to be called from io_matrix.
\ MOD: HeP 11-09-08 Add tables for output pulse generator.
\                   Initial (klugy) version of the exponential curve.</pre>
<h4>io:modules:io_interp</h4>
<pre style="font-size:80%">\ MOD: HeP 11-05-08 Provisional test of the table lookup version of hp-&gt;midi
\                   (see io:modules:io_interp_table for more details).
\ MOD: HeP 11-07-08 hp_ conversion words (e.g. HP-&gt;MIDI ) now reside in
\                   io:mobules:io_interp_table.
\ MOD: HeP 03-22-09 Add (MODIFY.INTERP) stub called by the meta-alert-matrix.
\                   See: io_matrix.</pre>
<h4>io:modules:io_patches</h4>
<pre style="font-size:80%">\ MOD: HeP 04-26-06 Slightly broaden out the note ranges of the vl patches.
\ MOD: HeP 11-09-08 Reduce to two vl patches: ob.vl.patch Floboe and SoprSax!
\ MOD: HeP 03-19-09 Double the those vl patches with variant damping and
\                   absorption. Note that vales of 0 seem to cause problems.
\                   (Based on experiements with Bruce Coates.)</pre>
<h4>io:io_matrix</h4>
<pre style="font-size:80%">\ MOD: HeP 11-08-08 Call words to alter the conversion of hp_ coordinates to
\                   midi. See the file modules:io_interp_table for more info.
\ MOD: HeP 03-21-09 Add meta-alert-matrix.</pre>
<h4>io:io_input</h4>
<pre style="font-size:80%">\ MOD: HeP 03-20-09 Add meta-blyzer. We have an alert for alerts. ToDo: Need
\                   someway of triggering changes of patch, interp-tables and
\                   time-advance values from this.
\ MOD: HeP 03-21-09 See: io_matrix for details on what the meta-blyzer
\                   triggers.</pre>
<h4>io:io_output</h4>
<pre style="font-size:80%">\ MOD: HeP 11-09-08 Use table lookup to derive new pulse and pulse groupings.
\ MOD: HeP 03-21-09 Add (MODIFY.PATCH) called by the meta-alert-matrix. See:
\                   io_matrix.</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.io001b.com/2009/03/23/source-code-03-23-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>source code 07-03-2004</title>
		<link>http://www.io001b.com/2008/10/27/source-code-07-03-2004/</link>
		<comments>http://www.io001b.com/2008/10/27/source-code-07-03-2004/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 18:53:05 +0000</pubDate>
		<dc:creator>Han-earl Park</dc:creator>
				<category><![CDATA[construction]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[io 0.0.1 beta++]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://www.busterandfriends.com/io/?p=123</guid>
		<description><![CDATA[For the record: source code for io 0.0.1 beta (rev. July 3rd 2004) [91kB zip file] and supporting components [198kB zip file]. Note that I have not differentiated components used by io and those that are not; I have included every file from the MyTools folder. Significant revisions since io 0.0.1 beta as detailed below. [...]]]></description>
			<content:encoded><![CDATA[<p>For the record: <a href="http://www.io001b.com/wp-content/uploads/2008/10/source-001b-07-03-2004.zip">source code for io 0.0.1 beta (rev. July 3rd 2004)</a> [91kB zip file] and <a href="http://www.io001b.com/wp-content/uploads/2008/10/source-MyTools-07-03-2004.zip">supporting components</a> [198kB zip file]. Note that I have not differentiated components used by io and those that are not; I have included every file from the MyTools folder. Significant revisions since <a href="http://www.io001b.com/2008/10/26/source-code-io-001-beta/">io 0.0.1 beta</a> as detailed below.</p>
<h4>From io:io_hp</h4>
<pre style="font-size:80%">\ MOD: HeP 03-19-04 First experiments with floating point calculations.
\ MOD: HeP 03-21-04 Speedup floating point code. Old floating point would drag
\                   the system by 30% (35 ticks or so instead of the 26 ticks
\                   set by hp_dur). New code gets us back to speed.</pre>
<h4>From io:io_input</h4>
<pre style="font-size:80%">\ MOD: HeP 03-21-04 Use return stack version of CONFIGURE.BANALYZER.
\                   Working version of POLY.DENSITY.FUNC using the updated
\                   polyphonic parser classes. Experiment with calling these
\                   during note on or off.
\ MOD: HeP 03-21-04 Experiments with revised pulse.tracker.</pre>
<h4>From io:io_output</h4>
<pre style="font-size:80%">\ MOD: HeP 03-23-04 Experimental changes to IO.DUR.FUNC.
\ MOD: HeP 03-24-04 Players EXECUTE: ALERT-MATRIX less often (the use of
\                   ob.fpgravity means that io's chaos is "smoother" and we
\                   don't need that extra interest injection).
\ MOD: HeP 04-09-04 Set instrument/channel volume via the PUT.VOLUME: method.
\                   FADE.OUT also uses the PUT.VOLUME: method.
\ MOD: HeP 04-11-04 Current reverb and pan settings are stored in variables.
\                   The reverb enable/bypass is done via the instrument's
\                   open function.
\                   Set device id# for MIDI output.
\ MOD: HeP 05-19-04 Experimental "muti-tasking" version of FADE.OUT which
\                   keeps output activity alive while executing the fade.
\                   See modules:io_interp.
\ MOD: HeP 05-23-04 The new version of FADE.OUT (in modules:io_interp) results
\                   in having to reset channel volume in IO.OUTPUT.STANDBY
\                   instead of at end of IO.OUTPUT.STOP.</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.io001b.com/2008/10/27/source-code-07-03-2004/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>source code: io 0.0.1 beta</title>
		<link>http://www.io001b.com/2008/10/26/source-code-io-001-beta/</link>
		<comments>http://www.io001b.com/2008/10/26/source-code-io-001-beta/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 19:24:01 +0000</pubDate>
		<dc:creator>Han-earl Park</dc:creator>
				<category><![CDATA[construction]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[io 0.0.1 beta++]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://www.busterandfriends.com/io/?p=111</guid>
		<description><![CDATA[For the record: source code for io 0.0.1 beta [68kB zip file]. Note that this is only the io 0.0.1 beta specific files, I haven not included the auxiliary code in this archive. \ io \ \ load_io \ directory assignment and load file for io. \ \ see the file io_top for more information. [...]]]></description>
			<content:encoded><![CDATA[<p>For the record: <a href="http://www.io001b.com/wp-content/uploads/2008/10/source-001b.zip">source code for io 0.0.1 beta</a> [68kB zip file].</p>
<p>Note that this is only the io 0.0.1 beta specific files, I haven not included the auxiliary code in this archive.</p>
<pre style="font-size:80%">\ io
\
\ load_io
\ directory assignment and load file for io.
\
\ see the file io_top for more information.
\
\ Code: Han-earl Park
\ Copyright 2000 Buster &amp; Friends C-ALTO Labs
\ (Edinburgh, November 1996 -
\ (London, August 1997 -
\ (Den Haag, October 1997 -
\ (Valencia, March 1999 -
\ (Southampton, May 2000 -
\   REV: 0.0.1 alpha (Southampton, October  2000)
\   REV: 0.0.1 beta  (Southampton, November 2000)
\
\ MOD: HeP 03/05/99 Started project afresh!
\                   This version keeps most of the "intelligence" in the
\                   objects, while the piece specific elements are kept to a
\                   minimum. It is also a test for the "laurie" project.
\ MOD: HeP 01/22/00 Trash the file io_util.
\ MOD: HeP 01/26/00 Only load objects:io_patches if io_vl70m is true.
\ MOD: HeP 02/07/00 Get rid of conditional compilation of the multiple
\                   instrument objects -- they all get compiled now.
\                   Same goes for the input parsers.
\                   Rename the io:objects: directory as io:modules:
\ MOD: HeP 04/09/00 Load the file myt:parser_list.
\ MOD: HeP 04/16/00 Load the file myt:ctrl_interpreter.
\ MOD: HeP 04/17/00 Add the modules:io_interp component.
\                   Load io_config before the modules.
\ MOD: HeP 04/18/00 Change load order of the major io components.
\ MOD: HeP 04/19/00 Add modules:io_particle component.
\ MOD: HeP 04/26/00 No longer load myt:hp_input_particle since we define an
\                   equivalent class in io_particle.
\                   Add modules:io_player component.
\ MOD: HeP 06/01/00 modules:io_script may be loaded. See file io_screen.
\ MOD: HeP 06/07/00 io_glob loads before modules.
\ MOD: HeP 06/20/00 Split off io_ui from io_screen and io_input.
\ MOD: HeP 10/02/00 Load file myt:ctrl_numeric+.
\ REV: 0.0.1 alpha  __________________________________________________________
\ MOD: HeP 11/02/00 Load the file myt:mono_parser+.
\ REV: 0.0.1 beta   __________________________________________________________

assign  io:   hmsl:io

.NEED  LI

    : LI    " io:load_io"  $include ;

.THEN

\ device classes

include?  task-device           myt:device
include?  task-midi_device      myt:midi_device
include?  task-interpreter      myt:interpreter
include?  task-ctrl_interpreter myt:ctrl_interpreter
include?  task-fan_out          myt:fan_out

\ input components

include?  task-parser         myt:parser
include?  task-mono_parser    myt:mono_parser
include?  task-mono_parser+   myt:mono_parser+
include?  task-poly_parser    myt:poly_parser
include?  task-guitar_parser  myt:guitar_parser

include?  task-parser_list    myt:parser_list

include?  task-pulse_tracker  myt:pulse_tracker
include?  task-pulse_tracker+ myt:pulse_tracker+

include?  task-banalyzer      myt:banalyzer
include?  task-banalyzer+     myt:banalyzer+

\ output components

include?  task-midi_plus     myt:midi_plus

include?  task-gm_instrument myt:gm_instrument
include?  task-gm_drumkit    myt:gm_drumkit
include?  task-gm_patch      myt:gm_patch

include?  task-vl_sysex      myt:vl_sysex
include?  task-vl_instrument myt:vl_instrument
include?  task-vl_patch      myt:vl_patch

\ "henri poincare"

include?  task-hp_util            myt:hp_util
include?  task-hp_particle        myt:hp_particle
include?  task-hp_force           myt:hp_force
include?  task-hp_space           myt:hp_space
include?  task-hp_gravity         myt:hp_gravity
include?  task-hp_particle_player myt:hp_particle_player

\ graphics

include?  task-graph_plus    myt:graph_plus
include?  task-gr_view       myt:gr_view
include?  task-screen+       myt:screen+
include?  task-ctrl_numeric+ myt:ctrl_numeric+

\ io

include?  task-io_config   io:io_config
include?  task-io_glob     io:io_glob

include?  task-io_interp   io:modules:io_interp
include?  task-io_player   io:modules:io_player
include?  task-io_particle io:modules:io_particle
include?  task-io_space    io:modules:io_space
include?  task-io_patches  io:modules:io_patches

include?  task-io_hp       io:io_hp
include?  task-io_matrix   io:io_matrix
include?  task-io_input    io:io_input
include?  task-io_output   io:io_output

include?  task-io_ui       io:io_ui
include?  task-io_screen   io:io_screen

include?  task-io_top      io:io_top</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.io001b.com/2008/10/26/source-code-io-001-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
