blacker: #424242\nblackest: #1a1a1a\nBackground: #fff\nForeground: #000\nPrimaryPale: #8cf\nPrimaryLight: #18f\nPrimaryMid: #04b\nPrimaryDark: #014\nSecondaryPale: #ffc\nSecondaryLight: #fe8\nSecondaryMid: #db4\nSecondaryDark: #841\nTertiaryPale: #eee\nTertiaryLight: #ccc\nTertiaryMid: #999\nTertiaryDark: #666\nError: #f88
<!--{{{-->\n<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>\n<div class='title' macro='view title'></div>\n<div class='editor' macro='edit title'></div>\n<div macro='annotations'></div>\n<div class='editor' macro='edit text'></div>\n<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>\n<!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:\n* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)\n* MainMenu: The menu (usually on the left)\n* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened\nYou'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser\n\nYour username for signing your edits. Write it as a WikiWord (eg JoeBloggs)\n\n<<option txtUserName>>\n<<option chkSaveBackups>> SaveBackups\n<<option chkAutoSave>> AutoSave\n<<option chkRegExpSearch>> RegExpSearch\n<<option chkCaseSensitiveSearch>> CaseSensitiveSearch\n<<option chkAnimate>> EnableAnimations\n\n----\nAlso see AdvancedOptions
<!--{{{-->\n<div class='header' macro='gradient vert [[ColorPalette::blacker]] [[ColorPalette::blackest]]'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>\n<!--}}}-->
/*{{{*/\nbody {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}\n\na {color:[[ColorPalette::PrimaryMid]];}\na:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}\na img {border:0;}\n\nh1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}\nh1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}\nh2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}\n\n.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}\n.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}\n.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}\n\n.header {background:[[ColorPalette::PrimaryMid]];}\n.headerShadow {color:[[ColorPalette::Foreground]];}\n.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}\n.headerForeground {color:[[ColorPalette::Background]];}\n.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}\n\n.tabSelected{color:[[ColorPalette::PrimaryDark]];\n background:[[ColorPalette::TertiaryPale]];\n border-left:1px solid [[ColorPalette::TertiaryLight]];\n border-top:1px solid [[ColorPalette::TertiaryLight]];\n border-right:1px solid [[ColorPalette::TertiaryLight]];\n}\n.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}\n.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}\n.tabContents .button {border:0;}\n\n#sidebar {}\n#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}\n#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}\n#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}\n#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}\n#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}\n\n.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}\n.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}\n.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}\n.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];\n border:1px solid [[ColorPalette::PrimaryMid]];}\n.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}\n.wizardFooter {background:[[ColorPalette::PrimaryPale]];}\n.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}\n.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;\n border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}\n.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}\n.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;\n border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}\n\n#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}\n#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}\n\n.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}\n\n.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}\n.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}\n.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}\n.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}\n.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}\n.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}\n.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}\n.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}\n\n.tiddler .defaultCommand {font-weight:bold;}\n\n.shadow .title {color:[[ColorPalette::TertiaryDark]];}\n\n.title {color:[[ColorPalette::SecondaryDark]];}\n.subtitle {color:[[ColorPalette::TertiaryDark]];}\n\n.toolbar {color:[[ColorPalette::PrimaryMid]];}\n.toolbar a {color:[[ColorPalette::TertiaryLight]];}\n.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}\n.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}\n\n.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}\n.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}\n.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}\n.tagging .button, .tagged .button {border:none;}\n\n.footer {color:[[ColorPalette::TertiaryLight]];}\n.selected .footer {color:[[ColorPalette::TertiaryMid]];}\n\n.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}\n.sparktick {background:[[ColorPalette::PrimaryDark]];}\n\n.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}\n.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}\n.lowlight {background:[[ColorPalette::TertiaryLight]];}\n\n.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}\n\n.imageLink, #displayArea .imageLink {background:transparent;}\n\n.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}\n\n.viewer .listTitle {list-style-type:none; margin-left:-2em;}\n.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}\n.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}\n\n.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}\n.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}\n.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}\n\n.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}\n.viewer code {color:[[ColorPalette::SecondaryDark]];}\n.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}\n\n.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}\n\n.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}\n.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}\n.editorFooter {color:[[ColorPalette::TertiaryMid]];}\n\n#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}\n#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}\n#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }\n#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}\n#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}\n#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}\n#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}\n.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}\n.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}\n#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}\n/*}}}*/
/*{{{*/\n* html .tiddler {height:1%;}\n\nbody {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}\n\nh1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}\nh1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}\nh4,h5,h6 {margin-top:1em;}\nh1 {font-size:1.35em;}\nh2 {font-size:1.25em;}\nh3 {font-size:1.1em;}\nh4 {font-size:1em;}\nh5 {font-size:.9em;}\n\nhr {height:1px;}\n\na {text-decoration:none;}\n\ndt {font-weight:bold;}\n\nol {list-style-type:decimal;}\nol ol {list-style-type:lower-alpha;}\nol ol ol {list-style-type:lower-roman;}\nol ol ol ol {list-style-type:decimal;}\nol ol ol ol ol {list-style-type:lower-alpha;}\nol ol ol ol ol ol {list-style-type:lower-roman;}\nol ol ol ol ol ol ol {list-style-type:decimal;}\n\n.txtOptionInput {width:11em;}\n\n#contentWrapper .chkOptionInput {border:0;}\n\n.externalLink {text-decoration:underline;}\n\n.indent {margin-left:3em;}\n.outdent {margin-left:3em; text-indent:-3em;}\ncode.escaped {white-space:nowrap;}\n\n.tiddlyLinkExisting {font-weight:bold;}\n.tiddlyLinkNonExisting {font-style:italic;}\n\n/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */\na.tiddlyLinkNonExisting.shadow {font-weight:bold;}\n\n#mainMenu .tiddlyLinkExisting,\n #mainMenu .tiddlyLinkNonExisting,\n #sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}\n#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}\n\n.header {position:relative;}\n.header a:hover {background:transparent;}\n.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}\n.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}\n\n.siteTitle {font-size:3em;}\n.siteSubtitle {font-size:1.2em;}\n\n#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}\n\n#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}\n#sidebarOptions {padding-top:0.3em;}\n#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}\n#sidebarOptions input {margin:0.4em 0.5em;}\n#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}\n#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}\n#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}\n#sidebarTabs .tabContents {width:15em; overflow:hidden;}\n\n.wizard {padding:0.1em 1em 0em 2em;}\n.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}\n.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}\n.wizardStep {padding:1em 1em 1em 1em;}\n.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}\n.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}\n.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}\n.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}\n\n#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}\n.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}\n#messageArea a {text-decoration:underline;}\n\n.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}\n.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}\n\n.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}\n.popup .popupMessage {padding:0.4em;}\n.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}\n.popup li.disabled {padding:0.4em;}\n.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}\n.listBreak {font-size:1px; line-height:1px;}\n.listBreak div {margin:2px 0;}\n\n.tabset {padding:1em 0em 0em 0.5em;}\n.tab {margin:0em 0em 0em 0.25em; padding:2px;}\n.tabContents {padding:0.5em;}\n.tabContents ul, .tabContents ol {margin:0; padding:0;}\n.txtMainTab .tabContents li {list-style:none;}\n.tabContents li.listLink { margin-left:.75em;}\n\n#contentWrapper {display:block;}\n#splashScreen {display:none;}\n\n#displayArea {margin:1em 17em 0em 14em;}\n\n.toolbar {text-align:right; font-size:.9em;}\n\n.tiddler {padding:1em 1em 0em 1em;}\n\n.missing .viewer,.missing .title {font-style:italic;}\n\n.title {font-size:1.6em; font-weight:bold;}\n\n.missing .subtitle {display:none;}\n.subtitle {font-size:1.1em;}\n\n.tiddler .button {padding:0.2em 0.4em;}\n\n.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}\n.isTag .tagging {display:block;}\n.tagged {margin:0.5em; float:right;}\n.tagging, .tagged {font-size:0.9em; padding:0.25em;}\n.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}\n.tagClear {clear:both;}\n\n.footer {font-size:.9em;}\n.footer li {display:inline;}\n\n.annotation {padding:0.5em; margin:0.5em;}\n\n* html .viewer pre {width:99%; padding:0 0 1em 0;}\n.viewer {line-height:1.4em; padding-top:0.5em;}\n.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}\n.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}\n.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}\n\n.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}\n.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}\ntable.listView {font-size:0.85em; margin:0.8em 1.0em;}\ntable.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}\n\n.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}\n.viewer code {font-size:1.2em; line-height:1.4em;}\n\n.editor {font-size:1.1em;}\n.editor input, .editor textarea {display:block; width:100%; font:inherit;}\n.editorFooter {padding:0.25em 0em; font-size:.9em;}\n.editorFooter .button {padding-top:0px; padding-bottom:0px;}\n\n.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}\n\n.sparkline {line-height:1em;}\n.sparktick {outline:0;}\n\n.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}\n.zoomer div {padding:1em;}\n\n* html #backstage {width:99%;}\n* html #backstageArea {width:99%;}\n#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}\n#backstageToolbar {position:relative;}\n#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}\n#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}\n#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}\n#backstage {position:relative; width:100%; z-index:50;}\n#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}\n.backstagePanelFooter {padding-top:0.2em; float:right;}\n.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}\n#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}\n\n.whenBackstage {display:none;}\n.backstageVisible .whenBackstage {display:block;}\n/*}}}*/
/***\nStyleSheet for use when a translation requires any css style changes.\nThis StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which use a logographic writing system and need larger font sizes.\n***/\n\n/*{{{*/\nbody {font-size:0.8em;}\n.headerShadow {position:relative; padding:3.5em 0em 1em 1em; left:-1px; top:-1px;}\n.headerForeground {position:absolute; padding:3.5em 0em 1em 1em; left:0px; top:0px;}\n\n#sidebarOptions {font-size:1.05em;}\n#sidebarOptions a {font-style:normal;}\n#sidebarOptions .sliderPanel {font-size:0.95em;}\n\n.subtitle {font-size:0.8em;}\n\n.viewer table.listView {font-size:1em;}\n\n.htmlarea .toolbarHA table {border:1px solid ButtonFace; margin:0em 0em;}\n/*}}}*/
/*{{{*/\n@media print {\n#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}\n#displayArea {margin: 1em 1em 0em 1em;}\n/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */\nnoscript {display:none;}\n}\n/*}}}*/
<!--{{{-->\n<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>\n<!--}}}-->
\nMrmr's interface builder will support standard OSC over UDP, as well as a hybridized OSC over TCP, for instances when potential UDP packet-loss is unacceptable. The syntax is identical, enabling a Mrmr server to generate one set of messages and then decide over which protocol to distribute them to clients.\n\nWhen sending any messages to a Mrmr client, remember to prepend the mrmr IB (interface builder) namespace to any packets that you want Mrmr to consider. By default, this namespace prefix is /mrmrIB. So, to send a pushbutton to mrmr via TCP, the full command might be: /mrmrIB pushbutton nil .1 4 4 1 1 1 1 test\n\nIn addition to commands for the creation of UI widgets, version .3 of the Mrmr interface protocol also supports some [[event management commands]]. These are used to push alert or informational messages to Mrmr clients outside of the Mrmr control context (e.g., a notice that the event will begin/end/change etc), and to prompt the user to accept or reject incoming interface or configuration changes.\n\n\nIf you are not on a Mac, then you will have to use your own TCP sockets to communicate with the Mrmr client. We recommend using the cross-platform tool NETCAT. Here's some basic [[netcat instructions]].\n\n[img[http://poly.share.dj/images/bonjour_browser_view.jpg]]\n\nFor instance, the choice of whether to use UDP or TCP could be determined by parsing a Mrmr client's bonjour/mdns service to see which they support.\n\n\n[img[http://poly.share.dj/images/protocol_ib.jpg]]\n\n!!additional widgets not listed in the table above:\n''togglebutton'' - behaves otherwise like a pushbutton except that it toggles (tip: change the size with the style attribute - style 2 is the smaller button style)\n''titleview''\n''tactilezone''\n''textinputview'' - use the label attribute to set its placeholder text\n''webview'' - pass the url in the label attribute - great way to push custom images to your interface!\n''accelerometer'' (3 different styles: full XYZ, just rotation, and up/left/right/down - choose which you want by using the style attribute)\n\n\nhere is an example of a complete Mrmr interface (to send this to an actual Mrmr client, remember to prepend the namespace string to each packet, i.e., /mrmrIB):\n\n[img[http://poly.share.dj/images/mrmr_interface.jpg]]\n\npushbutton nil .1 4 4 1 1 1 1 test\n\npushbutton nil .1 4 4 1 4 1 1 test2\n\npushbutton nil .1 4 3 2 2 1 1 test3\n\npushbutton nil .1 4 3 3 2 1 1 test4\n\npushbutton nil .1 4 4 4 1 1 1 test5\n\npushbutton nil .1 4 4 4 4 1 1 test6\n\nslider nil .1 4 8 1 3 4 1 test_slider\niiiii\ntextview nil .1 4 8 1 6 4 1 This_is_an_example_of_text_in_mrmr.\n\n
you're probably looking for [[mrmr]]...
http://www.cocoadev.com/index.pl?DebuggingAutorelease
CFStringRef key = CFSTR("DialogType");\nCFStringRef value = CFSTR("Developer");\nCFStringRef appID = CFSTR("com.apple.CrashReporter");\n\nCFPreferencesSetAppValue(key, value, appID);\n\n\nor\n\ndefaults write com.apple.CrashReporter DialogType <mode>\n\nmodes: Prior to Mac OS X 10.4, the Basic, Developer, and Server modes were respectively known as prompt, crashreport, and none.
/***\n|Name|SinglePageModePlugin|\n|Source|http://www.TiddlyTools.com/#SinglePageModePlugin|\n|Documentation|http://www.TiddlyTools.com/#SinglePageModePluginInfo|\n|Version|2.9.1|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides|Story.prototype.displayTiddler(), Story.prototype.displayTiddlers()|\n|Options|##Configuration|\n|Description|Show tiddlers one at a time with automatic permalink, or always open tiddlers at top/bottom of page.|\nThis plugin allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one tiddler displayed at a time.\n!!!!!Documentation\n>see [[SinglePageModePluginInfo]]\n!!!!!Configuration\n<<<\n<<option chkSinglePageMode>> Display one tiddler at a time\n><<option chkSinglePageKeepFoldedTiddlers>> Don't auto-close folded tiddlers\n><<option chkSinglePagePermalink>> Automatically permalink current tiddler\n<<option chkTopOfPageMode>> Always open tiddlers at the top of the page\n<<option chkBottomOfPageMode>> Always open tiddlers at the bottom of the page\n<<option chkSinglePageAutoScroll>> Automatically scroll tiddler into view (if needed)\n\nNotes:\n* The "display one tiddler at a time" option can also be //temporarily// set/reset by including a 'paramifier' in the document URL: {{{#SPM:true}}} or {{{#SPM:false}}}.\n* If more than one display mode is selected, 'one at a time' display takes precedence over both 'top' and 'bottom' settings, and if 'one at a time' setting is not used, 'top of page' takes precedence over 'bottom of page'.\n* When using Apple's Safari browser, automatically setting the permalink causes an error and is disabled.\n<<<\n!!!!!Revisions\n<<<\n2008.04.08 [2.9.1] don't automatically add options to AdvancedOptions shadow tiddler\n2008.04.02 [2.9.0] in displayTiddler(), when single-page mode is in use and a tiddler is being edited, ask for permission to save-and-close that tiddler, instead of just leaving it open.\n| Please see [[SinglePageModePluginInfo]] for previous revision details |\n2005.08.15 [1.0.0] Initial Release. Support for BACK/FORWARD buttons adapted from code developed by Clint Checketts.\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.SinglePageMode= {major: 2, minor: 9, revision: 1, date: new Date(2008,4,8)};\n//}}}\n//{{{\nconfig.paramifiers.SPM = { onstart: function(v) {\n config.options.chkSinglePageMode=eval(v);\n if (config.options.chkSinglePageMode && config.options.chkSinglePagePermalink && !config.browser.isSafari) {\n config.lastURL = window.location.hash;\n if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);\n }\n} };\n//}}}\n//{{{\nif (config.options.chkSinglePageMode==undefined)\n config.options.chkSinglePageMode=false;\nif (config.options.chkSinglePageKeepFoldedTiddlers==undefined)\n config.options.chkSinglePageKeepFoldedTiddlers=true;\nif (config.options.chkSinglePagePermalink==undefined) \n config.options.chkSinglePagePermalink=true;\nif (config.options.chkTopOfPageMode==undefined)\n config.options.chkTopOfPageMode=false;\nif (config.options.chkBottomOfPageMode==undefined)\n config.options.chkBottomOfPageMode=false;\nif (config.options.chkSinglePageAutoScroll==undefined)\n config.options.chkSinglePageAutoScroll=true;\n//}}}\n//{{{\nconfig.SPMTimer = 0;\nconfig.lastURL = window.location.hash;\nfunction checkLastURL()\n{\n if (!config.options.chkSinglePageMode)\n { window.clearInterval(config.SPMTimer); config.SPMTimer=0; return; }\n if (config.lastURL == window.location.hash) return; // no change in hash\n var tids=convertUTF8ToUnicode(decodeURIComponent(window.location.hash.substr(1))).readBracketedList();\n if (tids.length==1) // permalink (single tiddler in URL)\n story.displayTiddler(null,tids[0]);\n else { // restore permaview or default view\n config.lastURL = window.location.hash;\n if (!tids.length) tids=store.getTiddlerText("DefaultTiddlers").readBracketedList();\n story.closeAllTiddlers();\n story.displayTiddlers(null,tids);\n }\n}\n\nif (Story.prototype.SPM_coreDisplayTiddler==undefined)\n Story.prototype.SPM_coreDisplayTiddler=Story.prototype.displayTiddler;\nStory.prototype.displayTiddler = function(srcElement,tiddler,template,animate,slowly)\n{\n var title=(tiddler instanceof Tiddler)?tiddler.title:tiddler;\n var tiddlerElem=document.getElementById(story.idPrefix+title); // ==null unless tiddler is already displayed\n var opt=config.options;\n if (opt.chkSinglePageMode) {\n story.forEachTiddler(function(tid,elem) {\n // skip current tiddler and, optionally, tiddlers that are folded.\n if ( tid==title\n || (opt.chkSinglePageKeepFoldedTiddlers && elem.getAttribute("folded")=="true"))\n return;\n // if a tiddler is being edited, ask before closing\n if (elem.getAttribute("dirty")=="true") {\n // if tiddler to be displayed is already shown, then leave active tiddlers editors as is\n // (occurs when switching between view and edit modes)\n if (tiddlerElem) return;\n // otherwise, ask for permission\n var msg="'"+tid+"' is currently being edited.\sn\sn";\n msg+="Press OK to save and close this tiddler\snor press Cancel to leave it opened";\n if (!confirm(msg)) return; else story.saveTiddler(tid);\n }\n story.closeTiddler(tid);\n });\n }\n else if (opt.chkTopOfPageMode)\n arguments[0]=null;\n else if (opt.chkBottomOfPageMode)\n arguments[0]="bottom";\n if (opt.chkSinglePageMode && opt.chkSinglePagePermalink && !config.browser.isSafari) {\n window.location.hash = encodeURIComponent(convertUnicodeToUTF8(String.encodeTiddlyLink(title)));\n config.lastURL = window.location.hash;\n document.title = wikifyPlain("SiteTitle") + " - " + title;\n if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);\n }\n if (tiddlerElem && tiddlerElem.getAttribute("dirty")=="true") { // editing... move tiddler without re-rendering\n var isTopTiddler=(tiddlerElem.previousSibling==null);\n if (!isTopTiddler && (opt.chkSinglePageMode || opt.chkTopOfPageMode))\n tiddlerElem.parentNode.insertBefore(tiddlerElem,tiddlerElem.parentNode.firstChild);\n else if (opt.chkBottomOfPageMode)\n tiddlerElem.parentNode.insertBefore(tiddlerElem,null);\n else this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler\n } else\n this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler\n var tiddlerElem=document.getElementById(story.idPrefix+title);\n if (tiddlerElem&&opt.chkSinglePageAutoScroll) {\n var yPos=ensureVisible(tiddlerElem); // scroll to top of tiddler\n var isTopTiddler=(tiddlerElem.previousSibling==null);\n if (opt.chkSinglePageMode||opt.chkTopOfPageMode||isTopTiddler)\n yPos=0; // scroll to top of page instead of top of tiddler\n if (opt.chkAnimate) // defer scroll until 200ms after animation completes\n setTimeout("window.scrollTo(0,"+yPos+")",config.animDuration+200); \n else\n window.scrollTo(0,yPos); // scroll immediately\n }\n}\n\nif (Story.prototype.SPM_coreDisplayTiddlers==undefined)\n Story.prototype.SPM_coreDisplayTiddlers=Story.prototype.displayTiddlers;\nStory.prototype.displayTiddlers = function() {\n // suspend single-page mode (and/or top/bottom display options) when showing multiple tiddlers\n var opt=config.options;\n var saveSPM=opt.chkSinglePageMode; opt.chkSinglePageMode=false;\n var saveTPM=opt.chkTopOfPageMode; opt.chkTopOfPageMode=false;\n var saveBPM=opt.chkBottomOfPageMode; opt.chkBottomOfPageMode=false;\n this.SPM_coreDisplayTiddlers.apply(this,arguments);\n opt.chkBottomOfPageMode=saveBPM;\n opt.chkTopOfPageMode=saveTPM;\n opt.chkSinglePageMode=saveSPM;\n}\n//}}}
TiddlyWiki uses Wiki style markup, a way of lightly &quot;tagging&quot; plain text so it can be transformed into HTML. Edit this Tiddler to see samples.\np\n! Header Samples\n!Header 1\n!!Header 2\n!!!Header 3\n!!!!Header 4\n!!!!!Header 5\n\n! Unordered Lists:\n* Lists are where it's at\n* Just use an asterisk and you're set\n** To nest lists just add more asterisks...\n***...like this\n* The circle makes a great bullet because once you've printed a list you can mark off completed items\n* You can also nest mixed list types\n## Like this\n\n! Ordered Lists\n# Ordered lists are pretty neat too\n# If you're handy with HTML and CSS you could customize the [[numbering scheme|http://www.w3schools.com/css/pr_list-style-type.asp]]\n## To nest, just add more octothorpes (pound signs)...\n### Like this\n* You can also\n** Mix list types\n*** like this\n# Pretty neat don't you think?\n\n! Tiddler links\nTo create a Tiddler link, just use mixed-case WikiWord, or use [[brackets]] for NonWikiWordLinks. This is how the GTD style [[@Action]] lists are created. \n\nNote that existing Tiddlers are in bold and empty Tiddlers are in italics. See CreatingTiddlers for details.\n\n! External Links\nYou can link to [[external sites|http://google.com]] with brackets. You can also LinkToFolders on your machine or network shares.\n\n! Images\nEdit this tiddler to see how it's done.\n[img[http://img110.echo.cx/img110/139/gorilla8nw.jpg]]\n\n!Tables\n|!th1111111111|!th2222222222|\n|&gt;| colspan |\n| rowspan |left|\n|~| right|\n|colored| center |\n|caption|c\n\nFor a complex table example, see PeriodicTable.\n\n! Horizontal Rules\nYou can divide a tiddler into\n----\nsections by typing four dashes on a line by themselves.\n\n! Blockquotes\n<<<\nThis is how you do an extended, wrapped blockquote so you don't have to put angle quotes on every line.\n<<<\n> level 1\n> level 1\n>> level 2\n>> evel 2\n>>> level 3\n>>> level 3\n>> level 2\n> level 1\n\n! Other Formatting\n''Bold''\n==Strike==\n__Underline__\n//Italic//\nSuperscript: 2^^3^^=8\nSubscript: a~~ij~~ = -a~~ji~~\n@@highlight@@ Unfortunately highlighting is broken right now.\n@@color(green):green colored@@\n@@bgcolor(#ff0000):color(#ffffff):red colored@@ Hex colors are also broken right now.\n\n
An open source Cocoa/Quartz Composer/OpenGL video performance application.\n\nCurrent bugs:\n[[v.002 ToDo]]\n[[v.002 Bugs]]\n
!![[Mrmr|mrmr]]\n!![[v.001]]\n!![[v.002]]\n!![[OSC utilities]]\n[[OSC Client|OSC utilities]]\n[[OSC Server|OSC utilities]]\n[[OSC Bindings]]\n!![[iPhone libraries]]\n[[CFBonjour]]\n
IDMI research projects
The [[Integrated Digital Media Institute|http://idmi.poly.edu/about]] at Polytechnic University is the site of ongoing research into technologies to assist interactive media creators and performers. \n\n!!* [[mrmr]] \nprotocol and implementation for creating dynamic controller interfaces on mobile touchscreen devices.\n\n!!* [[v.001]]\nA framework for Max/MSP and Jitter users - dynamic gui creation, module loading, and a set of GLSL Shaders optimized for realtime video performance.\n\n!!*[[v.002]]\nAn open source Cocoa/Quartz Composer/OpenGL video performance application.\n\n\n\n
hello? why is there no info here?\n\n\n\n\n\n
[[Current IDMI Research Projects]]
[img[http://poly.share.dj/images/mrmr_iphone_client/0.jpg]] [img[http://poly.share.dj/images/mrmr_iphone_client/1.jpg]] [img[http://poly.share.dj/images/mrmr_iphone_client/2.jpg]] [img[http://poly.share.dj/images/mrmr_iphone_client/3.jpg]] [img[http://poly.share.dj/images/mrmr_iphone_client/4.jpg]] [img[http://poly.share.dj/images/mrmr_iphone_client/5.jpg]]
Mrmr will support a growing list of controller types. The OSC messaging syntax is pragmatic and follows a class structure. Common widgets and their corresponding messages are listed below. Messages typically follow the pattern:\n/mrmr/parameter/widget_order_number/device_name Value\nExamples:\nAccelerometer /mrmr/acceleratedX/3/jedermann\n/mrmr/acceleratedY/4/jedermann\n/mrmr/acceleratedZ/4jedermann\nTactile zones /mrmr/tactilezone/X/15/Vades-iPhone\n/mrmr/tactilezone/Y/16/Vades-iPhone\nOther widget types include:\npushbutton\ntooglebutton\nslider/horizontal\ntactilezoneX\ntactilezoneY\ntactilezoneZ\ntactile3DX\ntactile3DY\ntactile3DZ\ntactilezoneTouchDown\ntactilezoneX\ntactilezoneY\ntactilezoneZ\nThe “widget_order_number” refers to the position of that widget in the overall array of widgets. This number reflects the order in which the widget was created within the interface bank, but will always be the same whenever that interface file is next loaded.\nThe “device_name” is typically the unique name of the device, but it may also be configured in the client to send a generic name of ‘jedermann’ if no differentiation between clients is desired.\nIn each case, the return value can be either a float from 0-1, or an int from 1-1000 (according to the setting in the client prefs – this value is also server-controllable)
My mrmr on the iphone won't connect with the realtime 3d software i was using now, since the update recently, I really want the old version back as i was using it all the time.\n
http://poly.share.dj/source/CFBonjour.zip
Type the text for 'YourName'
Type the text for '18 September 2009'
Type the text for '19 February 2010'
where can i leave the fullscreen mode?\n\n\n
\nInstall the latest Mrmr client on your jailbroken iPod/iPhone using Cydia! it is currently hosted by STE (http://blog.psmxy.org/).
http://pkeck.myweb.uga.edu/ssh/
Type the text for '17 January 2010'
commands cheat-sheet http://www.abbeyworkshop.com/howto/misc/svn01/
Type the text for 'share'
''A'' = addressed (but maybe not yet fixed)\n''F'' = fixed\n\n''A'' OSC Binding window obfuscates fullscreen output on second display\n''F'' OSC Bindings popup needs to select which side it comes up on better\nMousedown on v001GUISlider blocks OSC input untill mouseUp\n''F'' OSC Scaling below 0 (not working).\n''F'' Performance tuning OSC with controllers.\n\n''A'' Quicktime playback issues in latest builds.\n
\nCGImage: A CGImage refers to an actual set of pixels and all the information needed to draw that information.\n\n\nCIImage: A Core Image Image is more like "A bundle of mechanisms for accessing pixel data efficiently as well as a series of Core Image filters that have been applied to an image".\n\nIn other words, a CIImage can use a CGImage as the source for it's pixel data access, but CIImage is not a general class for handling image data.\n\nNSImage\n\nCVPixelBufferRef\n\nCVOpenGLTextureRef\n\nuseful blog on textures and buffers: http://people.no-distance.net/ol/olog/archives/2006_02_01_archive.html\n
<!--{{{-->\n<div class='header' macro='gradient vert [[ColorPalette::blacker]] [[ColorPalette::blackest]]'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n<!--<div id='sidebarCopyright' refresh='content' tiddler='Copyright'></div>-->\n\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>\n<!--}}}-->
/*{{{*/\n* html .tiddler {height:1%;}\n\nbody {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}\n\nh1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}\nh1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}\nh4,h5,h6 {margin-top:1em;}\nh1 {font-size:1.35em;}\nh2 {font-size:1.25em;}\nh3 {font-size:1.1em;}\nh4 {font-size:1em;}\nh5 {font-size:.9em;}\n\nhr {height:1px;}\n\na {text-decoration:none;}\n\ndt {font-weight:bold;}\n\nol {list-style-type:decimal;}\nol ol {list-style-type:lower-alpha;}\nol ol ol {list-style-type:lower-roman;}\nol ol ol ol {list-style-type:decimal;}\nol ol ol ol ol {list-style-type:lower-alpha;}\nol ol ol ol ol ol {list-style-type:lower-roman;}\nol ol ol ol ol ol ol {list-style-type:decimal;}\n\n.txtOptionInput {width:11em;}\n\n#contentWrapper .chkOptionInput {border:0;}\n\n.externalLink {text-decoration:underline;}\n\n.indent {margin-left:3em;}\n.outdent {margin-left:3em; text-indent:-3em;}\ncode.escaped {white-space:nowrap;}\n\n.tiddlyLinkExisting {font-weight:bold;}\n.tiddlyLinkNonExisting {font-style:italic;}\n\n/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */\na.tiddlyLinkNonExisting.shadow {font-weight:bold;}\n\n#mainMenu .tiddlyLinkExisting,\n #mainMenu .tiddlyLinkNonExisting,\n #sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}\n#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}\n\n.header {position:relative;}\n.header a:hover {background:transparent;}\n.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}\n.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}\n\n.siteTitle {font-size:3em;}\n.siteSubtitle {font-size:1.2em;}\n\n#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}\n\n#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}\n#sidebarOptions {padding-top:0.3em;}\n#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}\n#sidebarOptions input {margin:0.4em 0.5em;}\n#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}\n#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}\n#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}\n#sidebarTabs .tabContents {width:15em; overflow:hidden;}\n\n.wizard {padding:0.1em 1em 0em 2em;}\n.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}\n.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}\n.wizardStep {padding:1em 1em 1em 1em;}\n.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}\n.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}\n.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}\n.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}\n\n#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}\n.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}\n#messageArea a {text-decoration:underline;}\n\n.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}\n.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}\n\n.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}\n.popup .popupMessage {padding:0.4em;}\n.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}\n.popup li.disabled {padding:0.4em;}\n.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}\n.listBreak {font-size:1px; line-height:1px;}\n.listBreak div {margin:2px 0;}\n\n.tabset {padding:1em 0em 0em 0.5em;}\n.tab {margin:0em 0em 0em 0.25em; padding:2px;}\n.tabContents {padding:0.5em;}\n.tabContents ul, .tabContents ol {margin:0; padding:0;}\n.txtMainTab .tabContents li {list-style:none;}\n.tabContents li.listLink { margin-left:.75em;}\n\n#contentWrapper {display:block;}\nsplashScreen {display:block;}\n\n#displayArea {margin:1em 17em 0em 14em;}\n\n.toolbar {text-align:right; font-size:.9em;}\n\n.tiddler {padding:1em 1em 0em 1em;}\n\n.missing .viewer,.missing .title {font-style:italic;}\n\n.title {font-size:1.6em; font-weight:bold;}\n\n.missing .subtitle {display:none;}\n.subtitle {font-size:1.1em;}\n\n.tiddler .button {padding:0.2em 0.4em;}\n\n.tagging {margin:0.5em 0.5em 0.5em 0; float:right; display:none; visibility: hidden}\n.isTag .tagging {display:none;}\n.tagged {margin:0.5em; float:right;}\n.tagging, .tagged {font-size:0.9em; padding:0.25em;}\n.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}\n.tagClear {clear:both;}\n\n.footer {font-size:.9em;}\n.footer li {display:inline;}\n\n.annotation {padding:0.5em; margin:0.5em;}\n\n* html .viewer pre {width:99%; padding:0 0 1em 0;}\n.viewer {line-height:1.4em; padding-top:0.5em;}\n.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}\n.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}\n.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}\n\n.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}\n.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}\ntable.listView {font-size:0.85em; margin:0.8em 1.0em;}\ntable.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}\n\n.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}\n.viewer code {font-size:1.2em; line-height:1.4em;}\n\n.editor {font-size:1.1em;}\n.editor input, .editor textarea {display:block; width:100%; font:inherit;}\n.editorFooter {padding:0.25em 0em; font-size:.9em;}\n.editorFooter .button {padding-top:0px; padding-bottom:0px;}\n\n.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}\n\n.sparkline {line-height:1em;}\n.sparktick {outline:0;}\n\n.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}\n.zoomer div {padding:1em;}\n\n* html #backstage {width:99%;}\n* html #backstageArea {width:99%;}\n#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}\n#backstageToolbar {position:relative;}\n#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}\n#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}\n#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}\n#backstage {position:relative; width:100%; z-index:50;}\n#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}\n.backstagePanelFooter {padding-top:0.2em; float:right;}\n.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}\n#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}\n\n.whenBackstage {display:none;}\n.backstageVisible .whenBackstage {display:block;}\n/*}}}*/
seems someone deleted the link to osc utiltiies.\nquite a nice site wiki, but most of the content is broken\n- elliot (not associated with this website)\n\n---------------------------------------------------------------\n\ni took the liberty of deleting some empty tiddlers.\nmade the site a tad more easy to navigate. \n-fsk (also not associated with this site)\n
Type the text for 'OSC Bindings'
running QTMovie on separate thread:\n\n- (void)doExportOnThread:(QTMovie *)movie\n{\n NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];\n\n EnterMoviesOnThread(0);\n AttachMovieToCurrentThread([movie quickTimeMovie]);\n\n // To workaround a bug in QTKit we need to call the private\n // method setIdling: to make sure the movie is not tasked on\n // a background thread\n if ([movie respondsToSelector:@selector(setIdling:)])\n [movie setIdling:NO];\n\n // do export\n [movie writeToFile:....];\n\n DetachMovieFromCurrentThread([movie quickTimeMovie]);\n ExitMoviesOnThread();\n\n [pool release];\n}\n
LKAnimation *animation = [LKTransition animation];\n\n[animation setType: @”cameraIris”];\n\n/*\nOther possible types:\npageCurl\npageUnCurl\nsuckEffect\nspewEffect\ngenieEffect\nunGenieEffect\ntwist\ntubey\nswirl\nrippleEffect\ncameraIris\ncameraIrisHollow\ncameraIrisHollowOpen\ncameraIrisHollowClose\ncharminUltra\nreflection\nzoomyIn\nzoomyOut\noglApplicationSuspend\noglFlip\n*/\n\n/*\n[animation setType: @”oglFlip”];\nif (direction == kSwipeDirectionLeft) {\n[animation setSubtype: @”fromRight”];\ni++;\n} else if (direction == kSwipeDirectionRight) {\n[animation setSubtype: @”fromLeft”];\ni—; \n} else if (direction == kSwipeDirectionUp) {\n[animation setSubtype: @”fromTop”];\n} else {\n[animation setSubtype: @”fromBottom”];\n}\n*/\n\n[animation setTimingFunction: [LKTimingFunction functionWithName: @”easeInEaseOut”]];\n[animation setFillMode: @”extended”];\n[animation setTransitionFlags: 3];\n[animation setSpeed: 0.25f];\n\n[[self _layer] addAnimation: animation forKey: 0];
!Mrmr for the iPhone/iPod Touch is now available as a free download at the AppStore.\n\nThe project documentation has also been moved to http://ecumedesjours.com/Mrmr/\n\n\n
Type the text for 'anonymous'
Type the text for 'mrmr.'
|''Type:''|file|\n|''URL:''||\n|''Workspace:''||\n\nThis tiddler was automatically created to record the details of this server
<<plugins>>
Controllers for Effects Layer/Sources\n\n*--Update QT playback to NOT wrap the CVPixelBuffer as a CIImage. No need--.\n*Add proper instancing for sources.\n** --Quicktime-- - basically working\n** --Quartz Composer patch source--\n** QTCaptureKit source\n*Create a 'multi-source' source, for folders of movies or images.\n*Update Effect layers to add mixers as effect nodes.\n*Fix cosmetic user interface issues like menu ordering\n*Change parameter view so color well as well as controls for Hue Saturation and Lightness are added.\n* Add node view\n*Add Binding control for Color using HSL colorspace\n*Add custom fonts to install process\n*Add Binding for\n**Midi\n**HID\n**Key/Mouse\n**--OSC-- Basically working\n\n*Possibly move the binding controls to be a part of the GUI items THEMSELVES, rather than as a separate entity? May end up saving a lot of work in the end.
Type the text for 'OpenGL'
yes\n
touch on / touch off events for tactile zones\n
Sjoerd joins the Mrmr team
Type the text for 'OSC-Kit'
You can send these commands using any sockets-capable method. A simple way on unix machines (including the Mac) is with netcat. The syntax for the example above, using netcat, would be: \n\nnc <the IP number of the mrmr device> <port - default= 31337> namespace command\n\nexample for clearing the current bank and then sending sending a single message:\nnc -v 192.168.15.1 31337 \n/mrmrIB mrmr_clear_current\n/mrmrIB pushbutton nil .1 4 4 1 1 1 1 test\n\nexample for loading a multi-bank template from a file on the desktop named mrmr_performance_multipatch.mmr: \n(get the patch here: http://poly.share.dj/downloads/mrmr_performance_multipatch.mmr)\n\nnc -v 192.168.15.101 31337 < /Users/ecume/Desktop/mrmr_performance_multipatch.mmr\n\n\n
Buttons - these are simultaneously push buttons and toggle buttons. If you push them and pull off - you have to pull quite a ways but you'll get the hang quickly - they maintain their state.
Type the text for 'vade'lnhjkkllllll
as of version 1.018, background images are now supported. Currently, a jailbroken device is needed in order to put your images in the right directory. Create a PNG of 320x480 pixels called Mrmr_background.png and place it in the directory Library/Mrmr/ in the application's container folder.
!server commands\nbrackets (i.e., < or >) are not to be printed literally - they simply denote: put your text or variable here\n\nusage tips: in our testing, the following order of server commands yields the most predictable results:\n*set variables, \n*then clear the client's patch banks, \n*then push the client into performance mode, \n*and finally push the patch.\n\nin general, push one command per TCP packet.\n\n''|*|'' = the presence of this combo in a patch prompts the client to switch to the next bank before continuing to build the interface. This way you can not only push multi-bank interfaces to the client, but you can also determine which bank the user should be on to.\n\nto force a client into performance mode (from the main screen or prefs screen)\n''mrmr_goPerformanceMode''\n\nto clear a current bank:\n''/mrmrIB mrmr_clear_current''\n\nto clear all banks (equivalent to pushing 'new' in the Mrmr client)\n''/mrmrIB mrmr_clear_all''\n\nalerts (these pop up over the current control context and must be dismissed manually by hitting an 'ok' button)\n''/mrmrIB mrmr_alert title||<alert text title>|| body||<alert text body>||''\n\nremotely configure the message style:\n''mrmr_setBundleStyle:0''\n''mrmr_setBundleStyle:1''\n\nremotely configure the value range:\n''mrmr_setPrecision:float''\n''mrmr_setPrecision:int''\n\nremotely configure the accelerometer smoothing amount:\n''mrmr_setAccelerometerSmoothingAmount:0-1''\ntakes a float from 0-1 where 1 == maximum smoothing\n\n''mrmr_setAccelerometerUpdateRate:8-1000''\nsets the update rate in milliseconds\n\n''mrmr_setAccelerometerOutputEnabled''\n''mrmr_setAccelerometerOutputDisabled''\nglobally turns on/off all accelerometers in a patch\n\n\n!client commands\nall clients as of 1.020 send present/notPresent status messages over OSC to indicate whether the client is in performance mode or has left performance mode (e.g., switched to the main menu or quit the client altogether). These take the form of:\n\n''/mrmrPresent:uniqueID''\n''/mrmrNotPresent:uniqueID''\n\nwhere uniqueID is generated from the hardware address of the device - unique to every device.\n
direct link to download mrmr for free at the appstore:\nhttp://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=294296343&mt=8
Type the text for 'Installer.app'
/***\n|Name|PlayerPlugin|\n|Source|http://www.TiddlyTools.com/#PlayerPlugin|\n|Version|1.1.3|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides||\n|Options|##Configuration|\n|Description|Embed a media player in a tiddler|\n!!!!!Usage\n<<<\n{{{<<player [id=xxx] [type] [URL] [width] [height] [autoplay|true|false] [showcontrols|true|false] [extras]>>}}}\n\n''id=xxx'' is optional, and specifies a unique identifier for each embedded player. note: this is required if you intend to display more than one player at the same time.\n\n''type'' is optional, and is one of the following: ''windows'', ''realone'', ''quicktime'', ''flash'', ''image'' or ''iframe''. If the media type is not specified, the plugin automatically detects Windows, Real, QuickTime, Flash video or JPG/GIF images by matching known file extensions and/or specialized streaming-media transfer protocols (such as RTSP:). For unrecognized media types, the plugin displays an error message.\n\n''URL'' is the location of the media content\n\n''width'' and ''height'' are the dimensions of the video display area (in pixels)\n\n''autoplay'' or ''true'' or ''false'' is optional, and specifies whether the media content should begin playing as soon as it is loaded, or wait for the user to press the "play" button. Default is //not// to autoplay.\n\n''showcontrols'' or ''true'' or ''false'' is optional, and specifies whether the embedded media player should display its built-in control panel (e.g., play, pause, stop, rewind, etc), if any. Default is to display the player controls.\n\n''extras'' are optional //pairs// of parameters that can be passed to the embedded player, using the {{{<param name=xxx value=yyy>}}} HTML syntax.\n\n''If you use [[AttachFilePlugin]] to encode and store a media file within your document, you can play embedded media content by using the title of the //attachment tiddler//'' as a parameter in place of the usual reference to an external URL. When playing an attached media content, you should always explicitly specify the media type parameter, because the name used for the attachment tiddler may not contain a known file extension from which a default media type can be readily determined.\n<<<\n!!!!!Configuration\n<<<\nDefault player size:\nwidth: <<option txtPlayerDefaultWidth>> height: <<option txtPlayerDefaultHeight>>\n<<<\n!!!!!Examples\n<<<\n+++[Windows Media]...\nTimes Square Live Webcam\n{{{<<player id=1 http://www.earthcam.com/usa/newyork/timessquare/asx/tsq_stream.asx>>}}}\n<<player id=1 http://www.earthcam.com/usa/newyork/timessquare/asx/tsq_stream.asx>>\n===\n+++[RealOne]...\nBBC London: Live and Recorded news\n{{{<<player id=2 http://www.bbc.co.uk/london/realmedia/news/tvnews.ram>>}}}\n<<player id=2 http://www.bbc.co.uk/london/realmedia/news/tvnews.ram>>\n===\n+++[Quicktime]...\nAmerica Free TV: Classic Comedy\n{{{<<player id=3 http://www.americafree.tv/unicast_mov/AmericaFreeTVComedy.mov>>}}}\n<<player id=3 http://www.americafree.tv/unicast_mov/AmericaFreeTVComedy.mov>>\n===\n+++[Flash]...\nAsteroids arcade game\n{{{<<player id=4 http://www.80smusiclyrics.com/games/asteroids/asteroids.swf 400 300>>}}}\n<<player id=4 http://www.80smusiclyrics.com/games/asteroids/asteroids.swf 400 300>>\nGoogle Video\n{{{<<player id=5 flash http://video.google.com/googleplayer.swf?videoUrl=http://vp.video.google.com/videodownload?version=0&secureurl=oQAAAIVnUNP6GYRY8YnIRNPe4Uk5-j1q1MVpJIW4uyEFpq5Si0hcSDuig_JZcB9nNpAhbScm9W_8y_vDJQBw1DRdCVbXl-wwm5dyUiiStl_rXt0ATlstVzrUNC4fkgK_j7nmse7kxojRj1M3eo3jXKm2V8pQjWk97GcksMFFwg7BRAXmRSERexR210Amar5LYzlo9_k2AGUWPLyRhMJS4v5KtDSvNK0neL83ZjlHlSECYXyk&sigh=mpt2EOr86OAUNnPQ3b9Tr0wnDms&begin=0&len=429700&docid=-914679554478687740&thumbnailUrl=http://video.google.com/ThumbnailServer?contentid=e7e77162deb04c42&second=5&itag=w320&urlcreated=1144620753&sigh=C3fqXPPS1tFiUqLzmkX3pdgYc2Y&playerId=-91467955447868774 400 326>>}}}\n<<player id=5 flash http://video.google.com/googleplayer.swf?videoUrl=http://vp.video.google.com/videodownload?version=0&secureurl=oQAAAIVnUNP6GYRY8YnIRNPe4Uk5-j1q1MVpJIW4uyEFpq5Si0hcSDuig_JZcB9nNpAhbScm9W_8y_vDJQBw1DRdCVbXl-wwm5dyUiiStl_rXt0ATlstVzrUNC4fkgK_j7nmse7kxojRj1M3eo3jXKm2V8pQjWk97GcksMFFwg7BRAXmRSERexR210Amar5LYzlo9_k2AGUWPLyRhMJS4v5KtDSvNK0neL83ZjlHlSECYXyk&sigh=mpt2EOr86OAUNnPQ3b9Tr0wnDms&begin=0&len=429700&docid=-914679554478687740&thumbnailUrl=http://video.google.com/ThumbnailServer?contentid=e7e77162deb04c42&second=5&itag=w320&urlcreated=1144620753&sigh=C3fqXPPS1tFiUqLzmkX3pdgYc2Y&playerId=-91467955447868774 400 326>>\nYouTube Video\n{{{<<player id=6 flash http://www.youtube.com/v/OdT9z-JjtJk 400 300>>}}}\n<<player id=6 flash http://www.youtube.com/v/OdT9z-JjtJk 400 300>>\n===\n+++[Still Images]...\nGIF (best for illustrations, animations, diagrams, etc.)\n{{{<<player id=7 image images/meow.gif auto auto>>}}}\n<<player id=7 image images/meow.gif auto auto>>\nJPG (best for photographs, scanned images, etc.)\n{{{<<player id=8 image images/meow2.jpg 200 150>>}}}\n<<player id=8 image images/meow2.jpg 200 150>>\n===\n<<<\n!!!!!Revisions\n<<<\n''2007.10.15 [1.1.3]'' in loadURL(), add recognition for .PNG (still image), fallback to iframe for unrecognized media types\n''2007.08.31 [1.1.2]'' added 'click-through' link for JPG/GIF images\n''2007.06.21 [1.1.1]'' changed "hidecontrols" param to "showcontrols" and recognize true/false values in addition to 'showcontrols', added "autoplay" param (also recognize true/false values), allow "auto" as value for type param\n''2007.05.22 [1.1.0]'' added support for type=="iframe" (displays src URL in an IFRAME)\n''2006.12.06 [1.0.1]'' in handler(), corrected check for config.macros.attach (instead of config.macros.attach.getAttachment) so that player plugin will work when AttachFilePlugin is NOT installed. (Thanks to Phillip Ehses for bug report)\n''2006.11.30 [1.0.0]'' support embedded media content using getAttachment() API defined by AttachFilePlugin or AttachFilePluginFormatters. Also added support for 'image' type to render JPG/GIF still images\n''2006.02.26 [0.7.0]'' major re-write. handles default params better. create/recreate player objects via loadURL() API for use with interactive forms and scripts.\n''2006.01.27 [0.6.0]'' added support for 'extra' macro params to pass through to object parameters\n''2006.01.19 [0.5.0]'' Initial ALPHA release\n''2005.12.23 [0.0.0]'' Started\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.player = {major: 1, minor: 1, revision: 3, date: new Date(2007,10,15)};\n\nconfig.macros.player = {};\nconfig.macros.player.html = {};\nconfig.macros.player.handler= function(place,macroName,params) {\n var id=null;\n if (params[0].substr(0,3)=="id=") id=params.shift().substr(3);\n var type="";\n var p=params[0].toLowerCase();\n if (p=="auto" || p=="windows" || p=="realone" || p=="quicktime" || p=="flash" || p=="image" || p=="iframe")\n type=params.shift().toLowerCase();\n var url=params.shift(); if (!url || !url.trim().length) url="";\n if (url.length && config.macros.attach!=undefined) // if AttachFilePlugin is installed\n if ((tid=store.getTiddler(url))!=null && tid.isTagged("attachment")) // if URL is attachment tiddler title\n url=config.macros.attach.getAttachment(url); // replace TiddlerTitle with attachment-expanded URL\n var width=params.shift();\n var height=params.shift();\n var autoplay=false;\n if (params[0]=='autoplay'||params[0]=='true'||params[0]=='false')\n autoplay=(params.shift()!='false');\n var show=true;\n if (params[0]=='showcontrols'||params[0]=='true'||params[0]=='false')\n show=(params.shift()!='false');\n var extras="";\n while (params[0]!=undefined)\n extras+="<param name='"+params.shift()+"' value='"+params.shift()+"'> ";\n this.loadURL(place,id,type,url,width,height,autoplay,show,extras);\n}\n\nif (config.options.txtPlayerDefaultWidth==undefined) config.options.txtPlayerDefaultWidth="100%";\nif (config.options.txtPlayerDefaultHeight==undefined) config.options.txtPlayerDefaultHeight="480"; // can't use "100%"... player height doesn't stretch right :-(\n\nconfig.macros.player.loadURL=function(place,id,type,url,width,height,autoplay,show,extras) {\n\n if (id==undefined) id="tiddlyPlayer";\n if (!width) var width=config.options.txtPlayerDefaultWidth;\n if (!height) var height=config.options.txtPlayerDefaultHeight;\n if (url && (!type || !type.length || type=="auto")) { // determine type from URL\n u=url.toLowerCase();\n if ((u.indexOf('mms')!=-1)||(u.indexOf('.asx')!=-1)||(u.indexOf('.wvx')!=-1)||(u.indexOf('.wmv')!=-1)||(u.indexOf('.mp3')!=-1))\n var type="windows";\n else if ((u.indexOf('rtsp')!=-1)||(u.indexOf('.ram')!=-1)||(u.indexOf('.rpm')!=-1)||(u.indexOf('.rm' )!=-1)||(u.indexOf('.ra' )!=-1))\n var type="realone";\n else if ((u.indexOf('.mov')!=-1)||(u.indexOf('.qt' )!=-1))\n var type="quicktime";\n else if ((u.indexOf('.swf')!=-1)||(u.indexOf('.flv')!=-1))\n var type="flash";\n else if ((u.indexOf('.jpg')!=-1)||(u.indexOf('.gif')!=-1)||(u.indexOf('.png')!=-1))\n var type="image";\n else if ((u.indexOf('.htm')!=-1)||(u.indexOf('.html')!=-1))\n var type="iframe";\n }\n if (!type || !config.macros.player.html[type]) var type="none";\n if (!url) var url="";\n if (show===undefined) var show=true;\n if (!extras) var extras="";\n if (type=="none" && url.trim().length) type="iframe"; // fallback to iframe for unrecognized media types\n\n // adjust parameter values for player-specific embedded HTML\n switch (type) {\n case "windows":\n autoplay=autoplay?"1":"0"; // player-specific param value\n show=show?"1":"0"; // player-specific param value\n break;\n case "realone":\n autoplay=autoplay?"true":"false";\n show=show?"block":"none";\n height-=show?60:0; // leave room for controls\n break;\n case "quicktime":\n autoplay=autoplay?"true":"false";\n show=show?"true":"false";\n break;\n case "image":\n show=show?"block":"none";\n break;\n case "iframe":\n show=show?"block":"none";\n break;\n }\n\n // create containing div for player HTML\n // and add or replace player in TW DOM structure\n var newplayer = document.createElement("div");\n newplayer.playerType=type;\n newplayer.setAttribute("id",id+"_div");\n var existing = document.getElementById(id+"_div");\n if (existing && !place) place=existing.parentNode;\n if (!existing)\n place.appendChild(newplayer);\n else {\n if (place==existing.parentNode) place.replaceChild(newplayer,existing)\n else { existing.parentNode.removeChild(existing); place.appendChild(newplayer); }\n }\n\n var html=config.macros.player.html[type];\n html=html.replace(/%i%/mg,id);\n html=html.replace(/%w%/mg,width);\n html=html.replace(/%h%/mg,height);\n html=html.replace(/%u%/mg,url);\n html=html.replace(/%a%/mg,autoplay);\n html=html.replace(/%s%/mg,show);\n html=html.replace(/%x%/mg,extras);\n newplayer.innerHTML=html;\n}\n//}}}\n\n// // Player-specific API functions: isReady(id), isPlaying(id), toggleControls(id), showControls(id,flag)\n\n//{{{\n// status values:\n// Windows: 0=Undefined, 1=Stopped, 2=Paused, 3=Playing, 4=ScanForward, 5=ScanReverse\n// 6=Buffering, 7=Waiting, 8=MediaEnded, 9=Transitioning, 10=Ready, 11=Reconnecting\n// RealOne: 0=Stopped, 1=Contacting, 2=Buffering, 3=Playing, 4=Paused, 5=Seeking\n// QuickTime: 'Waiting', 'Loading', 'Playable', 'Complete', 'Error:###'\n// Flash: 0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete\nconfig.macros.player.isReady=function(id)\n{\n var d=document.getElementById(id+"_div"); if (!d) return false;\n var p=document.getElementById(id); if (!p) return false;\n if (d.playerType=='windows') return !((p.playState==0)||(p.playState==7)||(p.playState==9)||(p.playState==11));\n if (d.playerType=='realone') return (p.GetPlayState()>1);\n if (d.playerType=='quicktime') return !((p.getPluginStatus()=='Waiting')||(p.getPluginStatus()=='Loading'));\n if (d.playerType=='flash') return (p.ReadyState>2);\n return true;\n}\nconfig.macros.player.isPlaying=function(id)\n{\n var d=document.getElementById(id+"_div"); if (!d) return false;\n var p=document.getElementById(id); if (!p) return false;\n if (d.playerType=='windows') return (p.playState==3);\n if (d.playerType=='realone') return (p.GetPlayState()==3);\n if (d.playerType=='quicktime') return (p.getPluginStatus()=='Complete');\n if (d.playerType=='flash') return (p.ReadyState<4);\n return false;\n}\nconfig.macros.player.showControls=function(id,flag) {\n var d=document.getElementById(id+"_div"); if (!d) return false;\n var p=document.getElementById(id); if (!p) return false;\n if (d.playerType=='windows') { p.ShowControls=flag; p.ShowStatusBar=flag; }\n if (d.playerType=='realone') { alert('show/hide controls not available'); }\n if (d.playerType=='quicktime') // if player not ready, retry in one second\n { if (this.isReady(id)) p.setControllerVisible(flag); else setTimeout('config.macros.player.showControls("'+id+'",'+flag+')',1000); }\n if (d.playerType=='flash') { alert('show/hide controls not available'); }\n}\nconfig.macros.player.toggleControls=function(id) {\n var d=document.getElementById(id+"_div"); if (!d) return false;\n var p=document.getElementById(id); if (!p) return false;\n if (d.playerType=='windows') var flag=!p.ShowControls;\n if (d.playerType=='realone') var flag=true; // TBD\n if (d.playerType=='quicktime') var flag=!p.getControllerVisible();\n if (d.playerType=='flash') var flag=true; // TBD\n this.showControls(id,flag);\n}\nconfig.macros.player.fullScreen=function(id) {\n var d=document.getElementById(id+"_div"); if (!d) return false;\n var p=document.getElementById(id); if (!p) return false;\n if (d.playerType=='windows') p.DisplaySize=3;\n if (d.playerType=='realone') p.SetFullScreen();\n if (d.playerType=='quicktime') { alert('full screen not available'); }\n if (d.playerType=='flash') { alert('full screen not available'); }\n}\n//}}}\n\n// // Player HTML\n\n//{{{\n// placeholder (no player)\nconfig.macros.player.html.none=' \s\n <table id="%i%" width="%w%" height="%h%" style="background-color:#111;border:0;margin:0;padding:0;"> \s\n <tr style="background-color:#111;border:0;margin:0;padding:0;"> \s\n <td width="%w%" height="%h%" style="background-color:#111;color:#ccc;border:0;margin:0;padding:0;text-align:center;"> \s\n &nbsp; \s\n %u% \s\n &nbsp; \s\n </td></tr></table>';\n//}}}\n\n//{{{\n// JPG/GIF/PNG still images\nconfig.macros.player.html.image='\s\n <a href="%u%" target="_blank"><img width="%w%" height="%h%" style="display:%s%;" src="%u%"></a>';\n//}}}\n\n//{{{\n// IFRAME web page viewer\nconfig.macros.player.html.iframe='\s\n <iframe id="%i%" width="%w%" height="%h%" style="display:%s%;" src="%u%"></iframe>';\n//}}}\n\n//{{{\n// Windows Media Player\n// v7.1 ID: classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\n// v9 ID: classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95\nconfig.macros.player.html.windows=' \s\n <object id="%i%" width="%w%" height="%h%" style="margin:0;padding:0;width:%w%;height:%h%px;" \s\n classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" \s\n codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" \s\n align="baseline" border="0" \s\n standby="Loading Microsoft Windows Media Player components..." \s\n type="application/x-oleobject"> \s\n <param name="FileName" value="%u%"> <param name="ShowControls" value="%s%"> \s\n <param name="ShowPositionControls" value="1"> <param name="ShowAudioControls" value="1"> \s\n <param name="ShowTracker" value="1"> <param name="ShowDisplay" value="0"> \s\n <param name="ShowStatusBar" value="1"> <param name="AutoSize" value="1"> \s\n <param name="ShowGotoBar" value="0"> <param name="ShowCaptioning" value="0"> \s\n <param name="AutoStart" value="%a%"> <param name="AnimationAtStart" value="1"> \s\n <param name="TransparentAtStart" value="0"> <param name="AllowScan" value="1"> \s\n <param name="EnableContextMenu" value="1"> <param name="ClickToPlay" value="1"> \s\n <param name="InvokeURLs" value="1"> <param name="DefaultFrame" value="datawindow"> \s\n %x% \s\n <embed src="%u%" style="margin:0;padding:0;width:%w%;height:%h%px;" \s\n align="baseline" border="0" width="%w%" height="%h%" \s\n type="application/x-mplayer2" \s\n pluginspage="http://www.microsoft.com/windows/windowsmedia/download/default.asp" \s\n name="%i%" showcontrols="%s%" showpositioncontrols="1" \s\n showaudiocontrols="1" showtracker="1" showdisplay="0" \s\n showstatusbar="%s%" autosize="1" showgotobar="0" showcaptioning="0" \s\n autostart="%a%" autorewind="0" animationatstart="1" transparentatstart="0" \s\n allowscan="1" enablecontextmenu="1" clicktoplay="0" invokeurls="1" \s\n defaultframe="datawindow"> \s\n </embed> \s\n </object>';\n//}}}\n\n//{{{\n// RealNetworks' RealOne Player\nconfig.macros.player.html.realone=' \s\n <table width="%w%" style="border:0;margin:0;padding:0;"><tr style="border:0;margin:0;padding:0;"><td style="border:0;margin:0;padding:0;"> \s\n <object id="%i%" width="%w%" height="%h%" style="margin:0;padding:0;" \s\n CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> \s\n <PARAM NAME="CONSOLE" VALUE="player"> \s\n <PARAM NAME="CONTROLS" VALUE="ImageWindow"> \s\n <PARAM NAME="AUTOSTART" Value="%a%"> \s\n <PARAM NAME="MAINTAINASPECT" Value="true"> \s\n <PARAM NAME="NOLOGO" Value="true"> \s\n <PARAM name="BACKGROUNDCOLOR" VALUE="#333333"> \s\n <PARAM NAME="SRC" VALUE="%u%"> \s\n %x% \s\n <EMBED width="%w%" height="%h%" controls="ImageWindow" type="audio/x-pn-realaudio-plugin" style="margin:0;padding:0;" \s\n name="%i%" \s\n src="%u%" \s\n console=player \s\n maintainaspect=true \s\n nologo=true \s\n backgroundcolor=#333333 \s\n autostart=%a%> \s\n </OBJECT> \s\n </td></tr><tr style="border:0;margin:0;padding:0;"><td style="border:0;margin:0;padding:0;"> \s\n <object id="%i%_controls" width="%w%" height="60" style="margin:0;padding:0;display:%s%" \s\n CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> \s\n <PARAM NAME="CONSOLE" VALUE="player"> \s\n <PARAM NAME="CONTROLS" VALUE="All"> \s\n <PARAM NAME="NOJAVA" Value="true"> \s\n <PARAM NAME="MAINTAINASPECT" Value="true"> \s\n <PARAM NAME="NOLOGO" Value="true"> \s\n <PARAM name="BACKGROUNDCOLOR" VALUE="#333333"> \s\n <PARAM NAME="SRC" VALUE="%u%"> \s\n %x% \s\n <EMBED WIDTH="%w%" HEIGHT="60" NOJAVA="true" type="audio/x-pn-realaudio-plugin" style="margin:0;padding:0;display:%s%" \s\n controls="All" \s\n name="%i%_controls" \s\n src="%u%" \s\n console=player \s\n maintainaspect=true \s\n nologo=true \s\n backgroundcolor=#333333> \s\n </OBJECT> \s\n </td></tr></table>';\n//}}}\n\n//{{{\n// QuickTime Player\nconfig.macros.player.html.quicktime=' \s\n <OBJECT ID="%i%" WIDTH="%w%" HEIGHT="%h%" style="margin:0;padding:0;" \s\n CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" \s\n CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab"> \s\n <PARAM name="SRC" VALUE="%u%"> \s\n <PARAM name="AUTOPLAY" VALUE="%a%"> \s\n <PARAM name="CONTROLLER" VALUE="%s%"> \s\n <PARAM name="BGCOLOR" VALUE="#333333"> \s\n <PARAM name="SCALE" VALUE="aspect"> \s\n <PARAM name="SAVEEMBEDTAGS" VALUE="true"> \s\n %x% \s\n <EMBED name="%i%" WIDTH="%w%" HEIGHT="%h%" style="margin:0;padding:0;" \s\n SRC="%u%" \s\n AUTOPLAY="%a%" \s\n SCALE="aspect" \s\n CONTROLLER="%s%" \s\n BGCOLOR="#333333" \s\n EnableJavaSript="true" \s\n PLUGINSPAGE="http://www.apple.com/quicktime/download/"> \s\n </EMBED> \s\n </OBJECT>';\n//}}}\n\n//{{{\n// Flash Player\nconfig.macros.player.html.flash='\s\n <object id="%i%" width="%w%" height="%h%" style="margin:0;padding:0;" \s\n classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" \s\n codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"> \s\n <param name="movie" value="%u%"> \s\n <param name="quality" value="high"> \s\n <param name="SCALE" value="exactfit"> \s\n <param name="bgcolor" value="333333"> \s\n %x% \s\n <embed name="%i%" src="%u%" style="margin:0;padding:0;" \s\n height="%h%" width="%w%" quality="high" \s\n pluginspage="http://www.macromedia.com/go/getflashplayer" \s\n type="application/x-shockwave-flash" scale="exactfit"> \s\n </embed> \s\n </object>';\n//}}}
/***\n|Name|TagCloudPlugin|\n|Source|http://www.TiddlyTools.com/#TagCloudPlugin|\n|Version|0.0.0|\n|Author|Clint Checketts|\n|License|unknown|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides||\n|Description||\n\n!Usage\n<<tagCloud>>\n\n!Code\n***/\n//{{{\nversion.extensions.tagCloud = {major: 1, minor: 0 , revision: 0, date: new Date(2006,2,04)};\n//Created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman\n\nconfig.macros.tagCloud = {\n noTags: "No tag cloud created because there are no tags.",\n tooltip: "%1 tiddlers tagged with '%0'"\n};\n\nconfig.shadowTiddlers.TagCloud="<<tagCloud>>";\n\nconfig.macros.tagCloud.handler = function(place,macroName,params) {\n \nvar tagCloudWrapper = createTiddlyElement(place,"div",null,"tagCloud",null);\n\nvar tags = store.getTags();\nfor (var t=0; t<tags.length; t++) {\n for (var p=0;p<params.length; p++) if (tags[t][0] == params[p]) tags[t][0] = "";\n}\n\n if(tags.length == 0) \n createTiddlyElement(tagCloudWrapper,"span",null,null,this.noTags);\n //Findout the maximum number of tags\n var mostTags = 0;\n for (var t=0; t<tags.length; t++) if (tags[t][0].length > 0){\n if (tags[t][1] > mostTags) mostTags = tags[t][1];\n }\n //divide the mostTags into 4 segments for the 4 different tagCloud sizes\n var tagSegment = mostTags / 4;\n\n for (var t=0; t<tags.length; t++) if (tags[t][0].length > 0){\n var tagCloudElement = createTiddlyElement(tagCloudWrapper,"span",null,null,null);\n tagCloudWrapper.appendChild(document.createTextNode(" "));\n var theTag = createTiddlyButton(tagCloudElement,tags[t][0],this.tooltip.format(tags[t]),onClickTag,"tagCloudtag tagCloud" + (Math.round(tags[t][1]/tagSegment)+1));\n theTag.setAttribute("tag",tags[t][0]);\n }\n\n};\n\nsetStylesheet(".tagCloud span{height: 1.8em;margin: 3px;}.tagCloud1{font-size: 1.2em;}.tagCloud2{font-size: 1.4em;}.tagCloud3{font-size: 1.6em;}.tagCloud4{font-size: 1.8em;}.tagCloud5{font-size: 1.8em;font-weight: bold;}","tagCloudsStyles");\n//}}}
http://tiddlytools.com/
as of 1.019:\n\nBonjour:\nmrmr servers publish a service named mrmrsrvr of type UDP on port 1337.\nmrmr clients publish a service named mrmr of type TCP on port 31337 (NB: mrmr interfaces will typically be sent from the server to the client over TCP, while mrmr control data is sent from the client to the server over UDP)\n\nManaging clients:\nmrmr clients who have 'autoconnect' set to TRUE or who respond with YES to the prompt to join the session will go immediately into play mode and send the server a single OSC message to request the default interface.\n\nThis message is sent with namespace "/mrmr connect" and a single string argument containing the client's current IP number or hostname. Servers should respond to this request by sending out the current default mrmr patch.
\nMrmr's interface builder will support standard OSC over UDP, as well as a hybridized OSC over TCP, for instances when potential UDP packet-loss is unacceptable. The syntax is identical, enabling a Mrmr server to generate one set of messages and then decide over which protocol to distribute them to clients.\n\nWhen sending any messages to a Mrmr client, remember to prepend the mrmr IB (interface builder) namespace to any packets that you want Mrmr to consider. By default, this namespace prefix is /mrmrIB. So, to send a pushbutton to mrmr via TCP, the full command might be: /mrmrIB pushbutton nil .1 4 4 1 1 1 1 test\n\nIn addition to commands for the creation of UI widgets, version .3 of the Mrmr interface protocol also supports some [[event management commands]]. These are used to push alert or informational messages to Mrmr clients outside of the Mrmr control context (e.g., a notice that the event will begin/end/change etc), and to prompt the user to accept or reject incoming interface or configuration changes.\n\n\nIf you are not on a Mac, then you will have to use your own TCP sockets to communicate with the Mrmr client. We recommend using the cross-platform tool NETCAT. Here's some basic [[netcat instructions]].\n\n[img[http://poly.share.dj/images/bonjour_browser_view.jpg]]\n\nFor instance, the choice of whether to use UDP or TCP could be determined by parsing a Mrmr client's bonjour/mdns service to see which they support.\n\n\n[img[http://poly.share.dj/images/protocol_ib.jpg]]\n\n!!additional widgets not listed in the table above:\n''togglebutton'' - behaves otherwise like a pushbutton except that it toggles (tip: change the size with the style attribute - style 2 is the smaller button style)\n''titleview''\n''tactilezone''\n''textinputview'' - use the label attribute to set its placeholder text\n''webview'' - pass the url in the label attribute - great way to push custom images to your interface!\n''accelerometer'' (3 different styles: full XYZ, just rotation, and up/left/right/down - choose which you want by using the style attribute)\n\n\nhere is an example of a complete Mrmr interface (to send this to an actual Mrmr client, remember to prepend the namespace string to each packet, i.e., /mrmrIB):\n\n[img[http://poly.share.dj/images/mrmr_interface.jpg]]\n\npushbutton nil .1 4 4 1 1 1 1 test\n\npushbutton nil .1 4 4 1 4 1 1 test2\n\npushbutton nil .1 4 3 2 2 1 1 test3\n\npushbutton nil .1 4 3 3 2 1 1 test4\n\npushbutton nil .1 4 4 4 1 1 1 test5\n\npushbutton nil .1 4 4 4 4 1 1 test6\n\nslider nil .1 4 8 1 3 4 1 test_slider\niiiii\ntextview nil .1 4 8 1 6 4 1 This_is_an_example_of_text_in_mrmr.\n
I have found on my Mac Book Pro running OSX10.5.5 that if you are installing Interface Builder for the first time and it is version V1.2 it will not work. You will find you can't set the Namespace to anything and so it will not upload an interface. \n\nThe solution I found was to down load the source code for version V1.0 compile and run it. Here, you can set the Namespace so set it to /mrmrIB and up load an interface. Now you will find that when you load in V1.2 with all the new features it will work and the name space box is filled in. The colours, however all seem to be the same despite the style you give the controls.\n
pushbutton nil 0.200000 3 6 1 1 1 1 my_button 1\npushbutton nil 0.200000 3 6 2 1 1 1 my_little_button 2\nslider nil 0.200000 3 6 1 2 1 1 horizontal_slider 1\nslider nil 0.200000 3 6 2 2 1 1 vertical_slider 2\ntogglebutton nil 0.200000 3 6 3 1 1 1 my_toggle 1\ntextview nil 0.200000 3 6 3 3 1 1 my_textview_with_text\nwebview nil 0.200000 3 6 1 3 1 1 http://google.com\ntextinputview nil 0.200000 3 6 3 2 1 1 tap_to_type 1\ntitleview nil 0.200000 3 6 1 6 3 1 my_title_text 1\ntactilezone nil 0.200000 3 6 1 4 3 1 my_touch_zone 1\naccelerometer nil 0.200000 3 6 1 5 3 1 accelerometer
The mrmr_setPrecision command (http://poly.share.dj/projects/#mrmr) doesn't work. Though I prefer float, I decided to program superDraw to use int because it was the client default. I had to change both Dan and CJ's preference manually to get it working.\n\nclients shouldn't see each other as servers\n\nlarge tactile zones = bad performance\n\nwhen server sends the interface and the main mrmr screen is open, really strange behaviour occurs. I got around this by sending "|*|" before sending the interface, which seemed to put the client into kiosk mode, but nobody could get out of it without quitting mrmr (this kiosk mode also had no bank select).\n\nneed a pref for frequency of accel data updates
Type the text for '21 January 2009'
Type the text for 'QTCaptureKit'
Type the text for 'LKTimingFunction'
Type the text for 'ObjCOSC'
Type the text for '21 February 2009'
... using the oscroute protocol?\n\nthis would be good for keep the displays in sync when you do automated stuff in max.\n\ni couldn't figure that out reading the documentation. \n\nthanks,\nctrlzjones\n