Jump to content

Seeking for Java expert


TK.
 Share

Recommended Posts

Hi,

I would like to create an OS-independent upload/download/debug GUI for MIOS, based on Java. Unfortunately my Java skills are not high enough for creating a new application from scratch. I've experiences in enhancing existing Java code for my needs (see MIDIbox SID editor, which is based on jsynth), but I've no idea how to create a menu, a toolbar, a filebrowser, a selection bar, a hex-monitor window, etc...

Therefore I'm searching for somebody with java experiences who would like to setup a GUI framework, so that it's easier for me to integrate the hex2syx and syx2hex conversion routines, the RAM monitor, etc.. into that thingy

Is anybody interested? :-)

Best Regards, Thorsten.

P.S.: For the connection to the MIDI interface I would recomment to re-use the existing driver which comes with jsynthlib, it works under Windows/Mac/Linux

Link to comment
Share on other sites

as I already told you, I work this summer on something like that... my lack of java programming skill makes this very hard.

But now I have study it at school, so I can help with it, I know how to make gui too... but the big problem for me is the driver for the midi interface use by Jsynth... and this from http://www.bonneville.nl/software/Wire/:

Since JDK1.4.1 Midi I/O should be supported with pure Java. There are still some bugs (see here and here), but I recommend you to look at it instead of using Wire, because then you do not need any extra classes and your application works at several platforms at once too. It should work pretty well. The Wire sources are shown here if you want to take a look at them. I will later post an easy example to get you started using the JDK 1.4.1.

so???... under linux the java API from SUN doesn't work, but it's not too hard to make something work (using tritonus, or make a class). But using the same way that jsynth is quite hard... as the class for midi driver are not independant from jsynth... :-/

By the way, if you have a clear idea of a GUI (I mean which menu, which window... ect) I will be very happy to help! :) (as I learn to like java ;) and I want to improve my skill!)

Link to comment
Share on other sites

Hi Pilo,

I didn't know if you are still working on this project or if you already gave up due to the missing skills, but now, where you are learning Java, I guess that you are exactly the right person who can help me (remember that the final GUI will be the standard tool for every MIOS user - this should boost the motivation ;-))

As for the MIDI driver, I can only say that Wire works very fine under Windows, but the alternative Native Java option doesn't. However, maybe a bug in jsynth itself? Some examinations from your side would be fine - so long as a SysEx string of more than 1000 bytes can be sent and received at the same time, the API will be sufficient.

Support for Linux (tritonus) isn't so important yet - I wasn't able to get it running on my PC (neither on my 4*2 USB interfaces, nor on the RME Multiface), but I hope that with Linux 2.6 (which comes with the overworked ALSA library) this issue will be solved, especially because of the improved realtime capabilities.

So - focus on Windows first (since most people are also working under this platform). For Mac: let us hope that it will run ;-)

GUI: it should be written in a way which allows me (and others of course) to add options to the menu easily for new MIOS features. Main reason: I don't want to bother you when I've implemented a new function into MIOS which requires a tool update (it would take more time to describe the required changes than to make it oneself)

Unfortunately I never was able to start your midi.java application due to the tritonus issues, so I don't know what you've already done. So, for the first try please don't use an external package.

Menu functions which should be available for the first shot:

  • File->Open File...: supported file types: .hex and .syx - when a file is opened, a function has to be triggered which converts the content to an immediate data format. This format (and the appr. conversion routines) will be added by me later
  • File->Save File as...: supported file types: .syx and .inc, here also a conversion function has to be called which will be added later
  • File->Quit of course ;-)
  • Window->MIDI Transfer: a window with a down- and upload button should pop up. This window should also contain a status message (the appr. code will be added later)
  • Window->MIDI Exec: to trigger a MIOS function, the window should contain a field for the input address, WREG, MIOS_PARAMETER1, 2, 3... and for the output: WREG, MIOS_PARAMETER1, 2, 3
  • Window->SRAM Monitor: should look like a hex monitor (16 bytes per line, entry field for new address and number of lines, and a Read/Write button)
  • Window->MIDI Monitor: should display incoming MIDI events
  • Window->MIDI Sender: should allow to send some MIDI bytes over the interface (similar to the SysEx command window of MIDI-Ox)
  • Window->MIOS Status: should request some dedicated SRAM addresses and display the content in readable form. I only need a scrollable list + a update button
  • Options->MIDI devices: to select the MIDI ports
  • Help->About a copyright message with your name :-)

You don't need to program the functions itself, just only the GUI framework (and more if you want :-)

Just ask if anything isn't clear enough (-> email).

No need to hurry!

Best Regards, Thorsten.

Link to comment
Share on other sites

good ;)

I gave up with the "last version"... But about 2 month ago I try to work on it again, from the begining, and it was a lot easier :)

I think I can do it ;) first I need to make some test under windows (I use 2k).

It shouldn't take a lot of time to make this ;)

Link to comment
Share on other sites

Hi,

I would love to work on this app for you, TK... I'm a software engineer by profession (electronics and music are my hobbies)... and would love to contribute back to the community here by donating my skills.

The functionality doesn't appear difficult, but getting the multiple windows to work (ie. designing a good framework) might be tricky.

Wilba

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...
 Share

×
×
  • Create New...