Jump to content

MIOS Studio Beta Release


TK.

Recommended Posts

Thanks Smash,

Well, looking at the stack trace it doesn't look like good news for mac users. The method that is being called, getReceivers(), is part of the standard Java1.5 API's - it doesn't look like Plumstone provides this method. I will try and find out some more info on Plumstone and get back to you.

In the mean time, I've made a few small improvements/bugfixes and have released a beta3 (http://69.56.171.55/~midibox/mios_studio/MIOSStudio_beta3.jar) version. Main fixes/improvements have been in the PianoController.

- Adam

Link to comment
Share on other sites

  • Replies 64
  • Created
  • Last Reply

Top Posters In This Topic

Hi,

Just ran the "bete3" on 10.3.8 and none of my midi interfaces show in the router window (Presonus firebox and korg microkontrol), I've just downloaded 10.3.9, I'll report back if this changes things. Im no java expert but am happy to report any issues I come across.

Chur

Rowan

Link to comment
Share on other sites

Hi All,

Still not looking good for Mac users,  Bob (creater of Plumstone) had this to say:

So far, PlumStone is only tested on Java 1.4.  How well it works under

Java 5 is presently unknown, but I'll be working on it in soon.

Apple have received a lot of criticism for their policy on Java

upgrades.  It is possible that they may reconsider their decision about

the provision of Java 5 on their earlier operating systems, but I think

you have to assume that Java 5 will only be available to those Mac

users who upgrade to the latest version of OS X.  As far as I know,

applications developed using Java 5 won't work with Java 1.4 and this

problem is well beyond the ability of PlumStone to fix.

So for the time being, it looks like *maybe* only support for Java 1.5 - which at the moment is only being planned for Tiger. Java 1.5 is currently only available for developers so I have no idea how well it works. I'll do my best to make MIOSStudio as cross-platform as possible, but when it comes to Java on anything prior to Tiger, it looks like it'll depend on whether Apple wants to sell more OS X upgrades or truly attract Java developers.

Link to comment
Share on other sites

  • 2 months later...

i hear that tcl/tk is a cross platform language that actually works on lots of platforms, and is supposed to be pretty good for building gui applications, i think it might be a lot of work to port mios studio (and just imagine, porting the whole thing and it still not working on  mac) but it might be worth looking at, it's a lot smaller than java too, and tk (the gui part, hooks into perl as well, python also uses it)

all the best

adam

Link to comment
Share on other sites

Rewriting MIOS Studio in another language would be a huge effort, the cross platform benefits of using Java mean having a standardised GUI, MIDI hardware access, threading support, etc.  Java is where my best programming skills lie, so I won't be changing to another language. With the amount of time it'd take to rewrite the whole thing, hopefully Apple will have released Java5 for the public.

I still haven't had any feedback from anyone who have tried Tiger with Java5??

Link to comment
Share on other sites

i think i m might be confused.... tk/tck/tcl was originally an X / X window based interface...

not sure how that ties in with JAVA.

there are versions of tcl/tk that also run on osx and windows now, pure data (open source version of max/msp, well, msp is a commercial port of pd) uses tcl/tk for it's gui software, i don't really think it ties in with java at all but it is truly cross platform.

as Adam says, it would mean a total rewrite so may not be viable in this case, but for anyone wanting to write cross platform apps from the ground up it might be a good choice in conjunction with something like stk (c++ libraries for sound and midi) which also works on a wide variety of platforms

Link to comment
Share on other sites

I programmed on a perltk based GUI some years ago, it didn't make fun. Perl isn't really an object oriented language (tcl as well), therefore I wouldn't prefer these languages for graphical user interfaces. Of course, simple things are easy to do, but once the complexity increases (and this is the case for MIOS Studio), then you will notice that you are on a one-way-street.

Btw.: Hiroo Hayashi implemented the C++ based MIDI API hook for win32-perl some time ago, I was one of the first users and told him about JSynthLib. Some months later I found Hirro again as one of the main contributors of JSynthLib --- I guess that he found out the same like I wrote above. ;-)

Best Regards, Thorsten.

Link to comment
Share on other sites

i guess with free and cheap old pc's with midi available it's not such a big deal for the mac users if apple haven't got java together yet, it makes me wonder if there are any good alternatives though, it seems a shame to be waiting around for apple, i hear that java interfaces with osc (open sound control), so i'm wondering if that would offer an alternative route to communicating with the pic, as long as there is software that accepts osc input and outputs sysex  via midi (i think pd only outputs sysex on linux for example)

edit:

ps, i think another possibility for the mac is to have an option to route the midi data out via a network port, then use another program to read the network input and output it via midi,  i am fairly sure a max/msp patch or standalone program could do this, the two programs talking to one another via the computers internal loopback  (in the same kind of way that supercollider works). i don't know how much work this is to implement, but if midi output is the only thing that doesn't work on the mac at the moment then this might open the door to use with mac os's prior to tiger (presuming java 1.5 happens)

i haven't tried mios studio yet (connection too flaky to download java 1.5), so  i don't know exactly what would need to be shifted to a "network to midi" patch/program, anything relating to midi output i suppose, though i suppose there might be the possibility to use several network ports as output from mios studio then map these to midi ports in the other (theoretical) patch/program 

best wishes

adam

Link to comment
Share on other sites

  • 3 weeks later...

Anyone,

MIOS Studio looks great, and I am ready to use it, however, can't get it to load.  As previously reported  by "Rene", in windows XP it comes across as a ".ZIP" file.  I tried renaming it before download and it changed to a .JRE file.  The JRE folder designation shows up in the folder section, so it should open.  When I click on it, I see a what looks like a dos window flash open and quickly closes so I can't read what it says.  In any event, Can't start mios studio.

I did download and install Java 1.5 runtime.

Help

Johnc

Link to comment
Share on other sites

Hey,

I am running Tiger 10.4.2 and installed the Java2 beta from Apple's site thanks to a link provided by Tim aka: SmashTV.  http://www.apple.com/support/downloads/java2se50release1.html It clearly states that this updated version does not replace 1.4 unless I tell it to.  I configured it thusly and when I double click the jar file off the desktop, it starts but doesn't do anything.  No window, just something in the menu bar:

java1.jpg

When I use Cmd+Tab to cycle through open programs, it shows up like this: (see it running twice.  It won't quit by tabbing to it and using Cmd+Q like any other app.  When I try Cmd+Opt+Esc, it doesn't show up as a running program to force quit)

java2.jpg

And when I run it from terminal with: java -jar MIOSStudio_beta4_4.jar, I get the following stack dump:

java -jar MIOSStudio_beta4_4.jar
HotSpot Error: update_sharing has failed
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/midibox/apps/miosstudio/MIOSStudio (Unsupported major.minor version 49.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
[powerbook:~/desktop] randy% An unrecoverable error has occured while writing the shared archive file.
Too many jar files to share.
I can run the pc version on Win98se running in Virtual PC version 7.2.  Graphically, it looks great.  However, although it sees emagic MT4 midi interface via usb, it can't access it or say's that the ports are already in use.  I hope this helps.  If I double click the jar file when using java 1.4, nothing opens except an error dialog box stating something about too many files to share. UPDATE: I found some helpful pages on dealing with the 'too many jar files to share' issue and that seems to have gone away.  Now, when I type 'java -jar MIOSStudio_beta4_4.jar' I get the following dumpage:
java -jar MIOSStudio_beta4_4.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/midibox/apps/miosstudio/MIOSStudio (Unsupported major.minor version 49.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Strange thing is, even though I look in Java 1.5 prefs and it shows it as the preferred java version, when I type 'java -version' in terminal, it say's the following:
java version "1.4.2_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-215)
Java HotSpot(TM) Client VM (build 1.4.2-50, mixed mode)

After reading through apple's java pages, it say's, "Please note that applications requiring J2SE 5.0 / JDK 1.5 must explicitly request version 1.5"  Does MIOS Studio explicitly request version 1.5?

-=Randy

Link to comment
Share on other sites

The stack dump is saying that Java 1.4 is being used by default. You'll need to use the 1.5 VM to run MIOS Studio.

I'm no expert on Mac's, but I would say that Java 1.4 is in the default PATH. MIOS Studio doesn't specifically request 1.5, you need to specify it yourself. I would say that you would do it by starting it on the command line by putting in the full path to the Java 1.5 VM.  For example, in Linux you would do this:

eg: /usr/java/jdk1.50/bin/java -jar MIOSStudio_beta4_4.jar

Hope this helps,

- Adam

Link to comment
Share on other sites

Thanks for the info Meeshka.  I looked around apple's discussion boards and found that I also had to delete/recreate an alias'd folder called CurrentJDK.  Even after installing/configuring 1.5, that folder still points to 1.4.2.  Now, when I type "java -version" I get

java version "1.5.0_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_02-56)
Java HotSpot(TM) Client VM (build 1.5.0_02-36, mixed mode, sharing)
When I type "java -jar MIOSStudio_beta4_4.jar" I get the following:
DigiCoreAudioDriver> Found 9 entries in 'SupportedApps.txt'. 
2005-07-29 00:19:26.409 java[646] CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 (0x44f), port = 0x13803, name = 'java.ServiceProvider'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2005-07-29 00:19:26.443 java[646] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (java.ServiceProvider)

Does this mean anything to anybody related to MIOS Studio?  Visually, it's the same as before.  Just the menu name as per the previously posted screen shot.  I guess I'll start searching for those error codes and see if there's something more I can do on my own.

Link to comment
Share on other sites

Plumstone: http://www.cems.uwe.ac.uk/~lrlang/plumstone/

From the website: Currently, the standard Java version 1.4.2 installed on Apple Macintosh OS X computers does not identify connected MIDI devices in a way that is completely compatible with the standard Java Sound API package (javax.sound.midi)

(all trademarks acknowledged).

PlumStone is an open source Java project which fills in the gap, providing javax.sound.midi compatible MIDI input and output on Apple Mac OS X. Once installed, standard Java programs written on other platforms should execute correctly (Errors/bugs/misunderstandings notwithstanding).

I dont' know whether it works with Java1.5, but it is worth a shot.

- Adam

Link to comment
Share on other sites

Nope.  I just tried plumstone and it's the same thing.  It seems to be more a java issue with MIOSStudio rather than a java->midi issue.  The program won't even launch it's window and refuses to quit as described in previous posts. 

Thanks for the tip though.

-=Randy

Link to comment
Share on other sites

Is it still the same error as you posted above? Sorry, there's not much more I can do without having a Mac myself.  I'll have to try and get some Mac users from the JavaSound mailing list to play with MIOS Studio and see it they are having the same issues.

- Adam

Link to comment
Share on other sites

Adam,

I've been using MS4.4 for all my frequent test loads to my circuit (Thanks!) I've been editing and moving the MB64 parameter display items around on some of the display pages tonight on a 2x40 and actually found the LCD test section to be very helpful.

A couple things I was wondering- Have you considered enhancing that section any? It would be cool to have pref boxes or size handles for specifying an LCD size, rather than just the offset boxes, or maybe just options for the common sizes. That way you could easily see what a layout would look like while entering the text. A full resize for the on-screen display, with the number of characters/lines, plus the ability to size the whole box to your actual display size would be incredible. Also, a "hang time" setting or something to keep the message on the screen long enough to get a better look at it.

That thing's great for setting up a layout. Even with the on-screen LCD not matching the character width, it takes a fraction of the time to see how stuff looks with it that it does to keep tweaking all the strings and recompiling.

-Take Care                             

Link to comment
Share on other sites

Hi Jidis,

Yes, I'd originally thought of having a resizeable text box for the LCD debug tool, but didn't think anyone would use it.  I'll add it to the next beta release of MIOS Studio so you can make use of it.

Th "Hang Time" idea sounds more like a MIOS feature, I'll have to check with TK if this is possible to do.

Cheers,

- Adam

Link to comment
Share on other sites

I'd originally thought of having a resizeable text box for the LCD debug tool, but didn't think anyone would use it.

I'd imagine even more people would use it! :)

It would be even more useful after a box had been built, so you could move stuff around on the real LCD while it was in position, then after you've found something that looks cool you could figure out the offsets and spaces in the app.

Leaving it on the screen longer would probably be necessary though. Could you just call the same "print message" function repeatedly?

                                                                             - Thanks for considering!

Link to comment
Share on other sites

Hi Jidis,

I've quickly added these features to the upcoming beta5 release, if you want access to these features now you can download it here: http://69.56.171.55/~midibox/mios_studio/MIOSStudio_beta5.jar

There is a bug with resizing the LCD textbox, but other than that it should work how you've described. Also, pay no attention to the SysEx Upload and Debug Read/Write features, they are not fully implemented yet ;)

After adding these features I've realised the LCD Debug feature could do with more improvement.  How do you think it should interepret what is in MIOS Studio's LCD textbox? Currently it only really works with single lines of text as return characters are not properly displayed by the LCD. I'm thinking that perhaps it should take the text from the textbox, break it up into multiple lines and send a new sysex message for each line to reconstruct it on the physical LCD screen how it looks in MIOS Studio. What are your thoughts on this, would it make it easier to work out layouts, etc?

- Adam

Link to comment
Share on other sites

Adam,

Great, tell me AFTER I get home ;)  I was using the other one all night at the studio. Seriously though, thanks for this new stuff!

Yeah, I noticed that the returns printed a rectangle or something the other night. Your thoughts on it are probably better than mine. I was actually able to calculate how many spaces would push me into the next (real) LCD line the other night. Seeing a properly proportioned virtual LCD with the right number of characters in it is really enough for me.

What you proposed sounds good. If you could have it pull in the next string of characters, whenever it hits the current width setting and print them to the next line and so on, it should be fine. Arrowing around to navigate in the onscreen box shouldn't be difficult, as long as you're restrained by the current size settings, so you know what you're working with.

                                 -Thanks Again

PS- All night I was having a great time tinkering with the CSMD file for my display, moving, resizing and renaming the parameter displays in different pages to see how they looked across the 2x40. This thing should make it a snap!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...