{"id":348,"date":"2009-04-10T16:19:00","date_gmt":"2009-04-10T15:19:00","guid":{"rendered":"http:\/\/www.celesteh.com\/blog\/2009\/04\/10\/platform-independence\/"},"modified":"2015-06-19T00:23:52","modified_gmt":"2015-06-18T23:23:52","slug":"platform-independence","status":"publish","type":"post","link":"https:\/\/www.celesteh.com\/blog\/2009\/04\/10\/platform-independence\/","title":{"rendered":"platform independence"},"content":{"rendered":"<p>live blogging the sc symposium<\/p>\n<p>Marije baalman is talking about cross platform implementation in supercollider.<\/p>\n<p>sc runs on osx, linux, qindows and freenbsd.  It has a language, the synth, the editor, the graphical server.  There arr 10 editors.  SCapp is os x only.  There&#8217;s scel for emacs.  Scvim is a vi plugin.  Sced runs on gedit on linux only.  Psychollider is in python, originally just for windows.  Jsceclipse is in java. Textmate is osx only.  Then there&#8217;s scfront, qcollider, squeak, etc.<\/p>\n<p>os x doesn&#8217;t always mean SCapp.  So we must be aware of editor issues.  Scapp and psycollider have sclang inside, so documents run in the same apllication and don&#8217;t rely on pipes.<\/p>\n<p>insert snarky comment about sc on linux here: it&#8217;s too hard!<\/p>\n<p>the gui abstraction layer solves most of the compatibility issues.  These also help with accessibility issues.<\/p>\n<p>you can stick in extra menu items.  <\/p>\n<p>HIDs are another compatibility issue.  MouseX is now cross platform. Wacom tablets are handled in an os specific way on osx, bur used as an hid by limux.<\/p>\n<p>helpfiles are in html.  Scel has an issue because emacs sucks and doesn&#8217;t support css with w3m and let&#8217;s be clear, this is a violation of the tsandard.  The others handle html in different ways, including with a browser.<\/p>\n<p>i am becoming grumpy from lack of food.<\/p>\n<p>scapp uses webkit for html editing, but this creates crap html code. It&#8217;s wysiwyg, but not for other viewers.  Helper and AutoHelper might be the answer to this. Or perhaps a helpfile template.<\/p>\n<p>compilation issues &#8211;  there are some preprocessor tags which are platform specific. Unix uses scons, which might be a good idea for os x.<\/p>\n<p>audio drivers are obviously very different.  Then there&#8217;s hid stuff and wii code.  The wii code works on linux but not on os x, alas.<\/p>\n<p>some stuff, like text to speech is os x only.<\/p>\n<p>what about for end users?  Audio is the same. Midi is spotty. Hids have different class interfaces, so there&#8217;s an abstraction layer. Wiis use the same class interface.  I&#8217;ve been looking at fixing this btw. I&#8217;m sure somebody else will get it first though.<\/p>\n<p>hid stuff has platform specifity in how hids work.  Anyway. . . <\/p>\n<p>there&#8217;s different installation locations for some default directories.  There&#8217;s a Platform class which is good for abstraction.<\/p>\n<p>if you need to check for an os, thisProcess.platform.name , gui use GUI.id , emacs use thisProcess.platform.hasFeature(emacs)<\/p>\n<p>my batteries are running low. To check os specifity, look at the helpfile or source file and the location.<\/p>\n<p>if you&#8217;re going to distribute, do it cross platform.  Remember that key combos are different when writing helpfiles. Make your example code platform independent.<\/p>\n<p>windows support for sc still sucks.  But windows sucks.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>live blogging the sc symposium Marije baalman is talking about cross platform implementation in supercollider. sc runs on osx, linux, qindows and freenbsd. It has a language, the synth, the editor, the graphical server. There arr 10 editors. SCapp is os x only. There&#8217;s scel for emacs. Scvim is a vi plugin. Sced runs on &hellip; <a href=\"https:\/\/www.celesteh.com\/blog\/2009\/04\/10\/platform-independence\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">platform independence<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[1],"tags":[76,54,90,170],"class_list":["post-348","post","type-post","status-publish","format-standard","hentry","category-uncategorised","tag-celesteh","tag-live-blog","tag-symposium","tag-wesleyan"],"_links":{"self":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/comments?post=348"}],"version-history":[{"count":1,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/348\/revisions"}],"predecessor-version":[{"id":2557,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/348\/revisions\/2557"}],"wp:attachment":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/media?parent=348"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/categories?post=348"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/tags?post=348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}