background image

Blog archive for August 2007

Testing NeoOffice again

August 1, 2007

I have been giving the Mac OSX versions of the Open Office office suit NeoOffice and the X11 port occasional test runs over the last three or four years. Earlier tests have not been satisfying. Slow unstable and with the X11 interface feeling clunky. On the FLOSS ideology vs. pragmatic axis I have a bend towards being pragmatic so it has been left on it’s own in the past.

This week I have been giving the NeoOffice word processor another shot and the experience has improved a lot. Maybe it’s a mix of a faster computer (Intel-based MacBookPro) and resent optimalizations in the NeoOffice code but I now have the impression that slowness is mainly due to me having to get accustomed to the work flow in NeoOffice. I also noted a few handy features that are not part of the slightly old-fashioned MS Word version I have access to improved spell checking and hyphenation (due to Norwegian dictionaries although the initial installation process is a bit convoluted) an outline-like tool bar for rearranging bulleted and numbered lists CMD + arrows up and down could be used for rearranging paragraphs and the “Export to DDF” feature creating PDF documents with outline based on headings.

I had one crash using it extensively for two days. From the old days of using MS-DOS saving every 5 minutes is more or less a subconscious reflex so I can live with this. NeoOffice also seems to autosave every 5 to 10 minutes. I might actually make the move this time using it for word processing and simple spreadsheets first. The budget system used at BEK is fairly complex and will be the last to get tested in NeoOffice.

External for Music Editing and Cooperative Work

August 1, 2007

Paolo Nesi of the Department of Systems and Informatics Distributed Systems and Internet Technology Lab University of Florence has announced a set of Max externals for music editing and cooperative work (Windows only):

MED: music editing tools with rendering of music notation
and processing of symbolic music representation the so called
MPEG SMR with also load and save it is an XML standard format
for music notation

MUCS: a tool to transform you max in a real cooperative
work tool it add to your max application a P2P and a layer
for computer supported cooperative work creation of workgroup
joining them exchange of message send command and anti commands
send files automatic discovering of the tools etc…

The full set of tools can be downloaded from:

  • Music Editor based on MPEG SMR format for PC Windows Stand alone
  • Music Viewer based on MPEG SMR format for PC Windows Stand alone
  • Extended Music Editor the socalled WEDELMUSIC Editor for Windows Stand alone
  • several examples of Coded Music in MPEG SMR
  • Music Editor into MAX/MSP for MPEG SMR based on MED tool
  • MED: Music Editor and viewer based on MPEG SMR for MAX/MSP
    you have to install the RUN TIME of MAX/MSP version 4.600 for WINDOWS
  • MUCS: Cooperative work support for MAX/MSP also for MED
    you have to install the RUN TIME of MAX/MSP version 4.600 for WINDOWS
  • Cooperative tools and support for MAX/MSP
  • Chord editor in MPEG SMR format
  • w8632-MPEG-SMR-part-23-rev-public.pdf

FCD version of the symbolic music representation standard: w8632-MPEG-SMR-part-23-rev-public.pdf
to IEEE Multimedia article on Symbolic Music Representation in MPEG: other
/dl/mags/mu/&amp toc=comp/mags/mu/2005/04/u4toc.xml
&amp DOI=10.1109/MMUL.2005.82

to GET MPEG-4 Player with SMR decoder including

Link to MPEG SMR technology description on MEPG site:
decription of MPEG SMR technology

usage of MPEG SMR in the IMAESTRO tools: tool=smr
MPEG SMR overview

usage of MPEG SMR into MAX/MSP tool: tool=smr

usage of MPEG SMR for cooeprative work on Music editing :
I-Maestro MED overview

Playstation 3 to use ambisonics

August 3, 2007

Players will also hear the impact thanks to an advanced audio system. On the PLAYSTATION 3 system one 3.200 GHz SPU vector co-processor is dedicated to audio and delivers 7.100 and 5.100 surround sound using third-order Ambisonic soundfields for the most realistic positioning.

From a Codemaster press release

New cue-triggering module in Jamoma

August 3, 2007

I have been adding a new module to Jamoma to be used in conjunction with the jmod.cuelist module. It receives information on all cues of the currently loaded script and then provides a simple and intuitive interface for progressing through them.

This will be required for the upcomming Floating charactes stage production to be presented at BiT Teatergarasjen at the end of the month. This will be the first large-scale real-life test of the Jamoma 0.400 core and it will be interesting to see if it is up to it.

“Floating Characters” is a theatrical experiment meandering the borders and overlaps of screen digital media and live art during live performances utilizing puppets objects actors video and audio media installation inspired by Alexander Vvedenskij’s play – A Certain Number of Conversations – .

Concept: Karen Kipphoff

With: Mathias Arvastsson Pedro Gomez-Egana Are Viktor Hauffen Mikkel Hofplass Rasmussen Tor Endre Kalveness Trond Lossius Jette Lund Agnes Nedregaard Viktorija Rudyté og Karen Skog.

Max – still learning

August 5, 2007

Having used Max for 10 years now I’ve never heard of this before Chris Muir brought it up at the Max list today:

On the Mac and maybe on Windows for all I know typing Command period will halt the Max scheduler. A little dialog comes up that says something like “Select Resume to restart scheduler”. This means that pretty much all of the event-level stuff is suspended.

Not sure what to use it for but…

OpenGL Shader for viewing alpha channel content

August 8, 2007

Below is a simple shader for viewing alpha channel content of OpenGL textures in Max/Jitter.

Save as tl.alpha.view.jxs:
&lt jittershader name=" viewalpha" &gt
&lt description&gt
view content of alpha channel
&lt /description&gt
&lt param name=" tex0" type=" int" default=" 0" /&gt
&lt language name=" glsl" version=" 1.0" &gt
&lt bind param=" tex0" program=" fp" /&gt
&lt program name=" vp" type=" vertex" source=" sh.passthru.xform.vp.glsl" /&gt
&lt program name=" fp" type=" fragment" &gt
&lt ![CDATA[
//setup for single texture
varying vec2 texcoord0
uniform sampler2DRect tex0
//luma threshold
void main()
vec4 a = texture2DRect(tex0 texcoord0)
// output texture with alpha-mask
gl_FragColor = vec4(a.a a.a a.a 1.)
&lt /program&gt
&lt /language&gt
&lt /jittershader&gt
Save as tl.alpha.view.jxs:
#P window setfont “Sans Serif” 9.000
#P window linecount 1
#P hidden newex 241 456 60 196617 loadmess 1
#P comment 327 90 52 196617 Source
#P newex 241 500 27 196617 + 1
#P user ubumenu 241 480 75 196617 0 1 1 0
#X add apply alpha
#X add view alpha
#X prefix_set 0 0 0
#P newex 327 549 216 196617 tl.alphaview @file tl.alpha.view.jxs
#P newex 290 525 47 196617 gate 2 1
#P number 469 293 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0
#P toggle 519 292 15 0
#P flonum 651 293 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0
#P flonum 596 293 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0
#P message 596 313 54 196617 thresh $1
#P message 651 313 44 196617 fade $1
#P message 469 313 48 196617 plane $1
#P message 469 141 27 196617 stop
#P flonum 500 122 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0
#P message 500 141 42 196617 rate $1
#P message 437 141 28 196617 read
#P newex 437 174 105 196617 320 240
#P message 519 313 70 196617 lum2alpha $1
#P newex 457 335 76 196617 prepend param
#P newex 290 584 305 196617 tl.alphaview @scale 1.333 1.000 1.000 @blend_enable 1
#P window linecount 2
#P newex 327 368 120 196617 tl.alphaview @file cc.alphaglue.jxs
#P window linecount 1
#P message 359 141 27 196617 stop
#P flonum 390 121 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0
#P message 390 141 42 196617 rate $1
#P message 327 141 28 196617 read
#P newex 327 174 105 196617 320 240
#P newex 50 236 116 196617 jit.window tl.alphaview
#P newex 50 214 167 196617 tl.alphaview @ortho 2
#P newex 50 170 58 196617 t b b erase
#P flonum 91 128 35 9 0.500 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0
#P toggle 50 128 15 0
#P newex 50 149 51 196617 qmetro 2
#P comment 606 390 100 196617 add alpha layer
#P user panel 307 279 414 136
#X brgb 209 211 220
#X frgb 0 0 0
#X border 0
#X rounded 0
#X shadow 0
#X done
#P comment 437 90 130 196617 Image to be used as alpha
#P window setfont “Sans Serif” 18.000
#P comment 41 26 117 196626 tl.alpha.view
#P window setfont “Sans Serif” 9.000
#P comment 40 54 244 196617 view the content of alpha channel
#P connect 6 0 5 0
#P connect 5 0 8 0
#P connect 8 0 9 0
#P fasten 8 2 9 0 103 196 55 196
#P connect 7 0 5 1
#P hidden connect 37 0 34 0
#P connect 34 0 35 0
#P fasten 35 0 32 0 246 521 295 521
#P connect 32 0 17 0
#P fasten 33 0 17 0 332 576 295 576
#P fasten 8 1 11 0 79 206 332 206
#P fasten 13 0 11 0 395 165 332 165
#P fasten 15 0 11 0 364 165 332 165
#P fasten 12 0 11 0 332 165 332 165
#P fasten 18 0 16 0 462 359 332 359
#P connect 11 0 16 0
#P connect 16 0 32 1
#P connect 32 1 33 0
#P connect 14 0 13 0
#P fasten 21 0 20 0 442 165 442 165
#P fasten 24 0 20 0 474 165 442 165
#P fasten 22 0 20 0 505 165 442 165
#P fasten 8 1 20 0 79 203 442 203
#P connect 20 0 16 1
#P fasten 27 0 18 0 601 331 462 331
#P fasten 26 0 18 0 656 331 462 331
#P fasten 25 0 18 0 474 331 462 331
#P fasten 19 0 18 0 524 331 462 331
#P connect 31 0 25 0
#P connect 23 0 22 0
#P connect 30 0 19 0
#P connect 28 0 27 0
#P connect 29 0 26 0
#P window clipboard copycount 38

Electronic instruments 1870-1990

August 10, 2007

I just stumbled across this fabulous resource on electronic instruments from 1870 to 1990.

Update 2012-06-09:

Sarah Thompson informed me that the link now seem to be broken, and suggest this as an alternative reference:

Thanks, Sara!

Friday rant on events cues and the meaning of liff.

August 10, 2007

Friday rants on cue scripts etc. on the Jamoma-devel list today. Tim suggests thinking about things like cuelist display editors
etc. in terms of structures. Below is my reply:

When thinking about this one has to have an idea of what one wants to use it for as it is likely to influence design decisions. A solution might be perfect for a certain kind of use but inappropriate for other approaches. As such I don’t think we should aim for just one approach towards how to control Jamoma.

Still I would always try to see how two criteria could be maintained as far as possible:

  • modularity
  • usability

I think that we should be cautious about adopting the cue and event terminology and in the process attempt at creating rigorous definitions of the terminology we settle for. We should definitively review common conceptions used for compositions controlling light for stage etc. but that should be used to inform our discussions and decisions but not to limit them. I believe that most common solutions have been made to work for a conventional and linear way of composing in time. That’s were the main commercial marked is regardless of whether on create technology for video editing narration (text) score composing DAW or stage light. We have to come up with solutions that might work for this but that will work equally well when challenging the conventions of the linear narrative.

So if I should start of defining an event this would be one way of doing so:

Event: A single control message to be executed

Events could then be bundled. Bundles will contain a mix of vertical and horizontal structure:

Vertical: several events fired collectively and instantaneously
Horizontal: a time-based stream of time-tagged events

A timeline will be mainly horizontal a cue mainly vertical but the RAMP and WAIT syntaxes introduce a horizontal component in the cue as any MIDI chord represents a degree of vertical structure in a stream.

If a bundle can be triggered using a single control message it is per definition just a special case of an event. Thus a bundle can itself become part of a bundle.

To me this aspect is important. A traditional division into cue and event might suggest the existence of two levels only.

The reason why struct doesn’t ring with me is that it seems to suggest containers of fixed size. I don’t think of events as something to be contained but rather something to be executed. Neither do I see the size of bundles as fixed. This is the main reason why I have problems with pattrstorage as a system for controlling patches.

I would instead think in terms of an event being comparable to a single line of code while cues are functions:

  • Once the function is set up calling it looks and feel the same as executing a single command. So a function becomes a way of extending the programming language introducing new commands that can be executed. There is one important and interesting exception though: The added possibility for passing arguments back and forth which itself is an intriguing idea for extending how we conceptualize cues.
  • A function can itself call other functions.

This to me is critical for the system to be modular.

From a user perspective it has to be human readable and easy to modify on the fly in any way: adding or taking away change values reorder substitute etc. So if it is important to know e.g. NUM_CUES this should be figured out by the module itself by scanning the file when loading it kind of “compiling” the script.

What is it about politicians?

August 10, 2007

Researcher: The Artic is melting.

Politician: Wow! Let’s plant a flag!


Update: More on the arctic sea ice here.

DIPS – Digital Image Processing with Sound

August 17, 2007

This might have been around for long but I only got aware of it seeing that there will a workshop at ICMC2007:

The DIPS “Digital Image Processing with Sound” is the set of Max objects that handles the real-time visual image processing events and the OpenGL functions in the Max/MSP GUI programming environment. It enables the interaction between audio events and visual events in the Max patch thus strongly supports composers and artists to realize the real-time interactive multimedia art.

The DIPS objects include more than eighty OpenGL functions VideoIn objects various video effect objects movie file handling objects 3D model and particle handling objects and so on. Since it doesn’t need to be compiled we can work heuristically in real-time.

Update: DIPS does not seem to be Universal Binary at the moment.

The art book as semiotic machine

August 18, 2007

If for Malraux the value of the art book is that it democratizes the experience of art by bringing it into the lives of vastly more people than the elitist museums had done (a value that is exponentially increased by the web in the eyes of enthusiasts of the “information superhighway”) this was not its primary function. Rather it was that by means of its concatenation of photographic reproductions the book recodes works of art from “objects” into “meanings” – as he had said the works gain “the utmost significance as to style that they can possibly acquire.” The art book is a semantic machine then and the photograph is what gives it leverage. For the photograph is the great facilitator of comparison of moving past the contemplation of a work in isolation to the differential experience of it its meaning emerging – as linguist Ferdinand de Saussure had assured it it would – in relation to what it is not.

R. Krauss in Foster et al: Art since 1900 p. 274.

Floating Characters (2007)

August 28, 2007

FLOATING CHARACTERS, directed by Karen Kipphoff, explores the borders of screen, digital media and live art during performances utilizing puppets, objects, actors, text, audio and visual media.

It is inspired by Bunraku theatre, video games, slapstick, panoramic experiences and the text “A Certain Number of Conversations” by Alexander Vvedenskij.