Juno Gi Editor

Forum for JUNO-Gi
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Juno Gi Editor

Post by kmtaylor »

gi_editor.tar.bz2
A nascent software editor for the Juno Gi
(13.08 KiB) Downloaded 669 times
So I noticed that there is a long forum entry discussing an editor for the Gi and it seems Roland aren't interested in providing one.

What they have provided is a midi specification, and this should really be enough for a basic editor.

I started a project, gi_editor that parses the midi spec, and provides a library of each midi address.
At the moment, it is capable of listening to the Gi and listing all of its SysEx MIDI events while providing meaningful descriptions etc...

At the moment I've only completed the SysEx parser and written a small test application. Next, I will be working on a TUI that will expose all of the Gi's options on a screen.

Saving/restoring patches is then easy, and we can share our patches around like the Juno G users can.

I've attached the sources so far, but be concious that this is still very much a work in progress.

Cheers.
User avatar
flyingace
Posts: 264
Joined: 22:11, 31 August 2011
Location: Central Arkansas, USA
Contact:

Re: Juno Gi Editor

Post by flyingace »

Keep up the good work, I'm sure there are plenty out there that would love to get their hands on this. It seems to me, that in this day and age, every professional (even entry level) keyboard from a major manufacturer (like Roland) should have a software based editor included with it! It should be part of the development of the product from R&D and up. It seems that the rest of the world has advanced technologically in the past 20 years but these keyboard manufacturers are still climbing out of the dark ages of the late 80s!

Keep us posted on your progress. Price it well and I'll buy it!
RadioDJ
Posts: 27
Joined: 22:44, 13 March 2011

Re: Juno Gi Editor

Post by RadioDJ »

Very Cool! I attempted to make the program with the following error.

/home/steven/juno$ make
gcc -MM -D_GNU_SOURCE common.c libgieditor.h > .depend
make: *** No rule to make target `midi_addresses.c', needed by `midi_addresses.o'. Stop.

Are there package dependicies that I do need to install? Using Debian Squeeze.

-Steven Kelley
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Re: Juno Gi Editor

Post by kmtaylor »

Hi Steven,

You need to build midi_addresses.c from the roland manaul (download it from their website).

Then go into /manual_parse/ and symlink the manual pdf as midi_manual.pdf (or just rename it).

Then run make and it will build a 40MB! file called midi_addresses.c. You can then build the rest of the program. I did this so that there are no issues of redistributing Roland's copyrighted documents.

I'm currently in the process of re-ordering the midi_address database, so that it'll be a more reasonable 4MB.

There was also a bug in the jack code that I've since fixed. I'll repost as soon as the changes are complete.

Cheers.
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Re: Juno Gi Editor

Post by kmtaylor »

OK, here is today's version.

Much improved data base structure.

The dependancies are pdfedit, flex, bison, gcc, make ...
Attachments
gi_editor.tar.bz2
(14 KiB) Downloaded 484 times
RadioDJ
Posts: 27
Joined: 22:44, 13 March 2011

Re: Juno Gi Editor

Post by RadioDJ »

I downloaded JUNO-Gi_OM.pdf from the Roland site. (Is this the correct manual?) I also tried the procedure with JUNO-Gi_MI.pdf. Both gave errors. Here are the results from trying the OM pdf file:

make
gcc -MM -D_GNU_SOURCE dump_tree.c midi_tree.h > .depend
pdftotext midi_manual.pdf tmp.txt -raw -nopgbrk
./trim.sh tmp.txt midi_addresses.txt
sed: -e expression #1, char 12: invalid usage of line address 0
patch midi_addresses.txt addresses.patch
patching file midi_addresses.txt
Hunk #1 FAILED at 16.
Hunk #2 FAILED at 58.
Hunk #3 FAILED at 62.
Hunk #4 FAILED at 66.
4 out of 4 hunks FAILED -- saving rejects to file midi_addresses.txt.rej
make: *** [midi_addresses.txt] Error 1
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Re: Juno Gi Editor

Post by kmtaylor »

The file that you want is the "MI" one. It is entitled: "JUNO-Gi MIDI Implementation".

Let me see the errors you experienced with that file.

Cheers.
RadioDJ
Posts: 27
Joined: 22:44, 13 March 2011

Re: Juno Gi Editor

Post by RadioDJ »

/home/steven/juno/gi_editor/manual_parse$ make
gcc -MM -D_GNU_SOURCE dump_tree.c midi_tree.h > .depend
pdftotext midi_manual.pdf tmp.txt -raw -nopgbrk
./trim.sh tmp.txt midi_addresses.txt
patch midi_addresses.txt addresses.patch
patching file midi_addresses.txt
Hunk #1 succeeded at 15 (offset -1 lines).
Hunk #2 succeeded at 309 (offset -1 lines).
Hunk #3 succeeded at 325 (offset -1 lines).
Hunk #4 succeeded at 341 (offset -1 lines).
rm -f tmp.txt
flex -s -o manual_scanner.c --header-file=manual_scanner.h manual_scanner.l
bison -d -o manual_parser.c manual_parser.y
gcc -Wall -Wno-unused-result -O0 -g -o dump_tree -D_GNU_SOURCE \
-DUSE_LOG=1 dump_tree.c manual_scanner.c manual_parser.c ../common.c ../log.c class_map.c
manual_scanner.c:1210: warning: âyyunputâ defined but not used
manual_scanner.c:1251: warning: âinputâ defined but not used
./dump_tree > midi_addresses.c 2> midi_addresses.h
make: *** [midi_addresses.c] Error 134

------------
midi_addresses.c is blank.
------------
$ cat midi_addresses.h
dump_tree: ../log.c:43: common_log: Assertion `logfile != ((void *)0)' failed.
Aborted
------------
Using Debian Squeeze
------
$pdftotext -v
pdftotext version 0.12.4
-----
$ bison -V
bison (GNU Bison) 2.4.1
-----
$ pdfedit --version
0.4.5-20100603071400

-----

gcc version 4.4.5 (Debian 4.4.5-8)

-----

GNU Make 3.81
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Re: Juno Gi Editor

Post by kmtaylor »

Ahh, I see. I had some directory names in log.h that were specific to my system.

The uploaded file should fix it.

Good luck!
Attachments
log.h
(1012 Bytes) Downloaded 440 times
RadioDJ
Posts: 27
Joined: 22:44, 13 March 2011

Re: Juno Gi Editor

Post by RadioDJ »

Same error.

Core was generated by `./dump_tree'.
Program terminated with signal 11, Segmentation fault.
#0 0x080494ce in main () at dump_tree.c:382
382 toplevel_addresses = get_class_address_list(midi_tree->first);


-----

$ cat midi_addresses.h
/* Parsed midi addresses.
* This file is automatically generated, DO NOT MODIFY
*/

extern midi_address libgieditor_midi_addresses[];
Segmentation fault

=============

$ cat midi.log
Sat Jun 9 12:46:23 2012
Errors encountered reading midispecification
These can probably be safely ignored

============
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Re: Juno Gi Editor

Post by kmtaylor »

By the way Steven, thanks for posting these errors, I need someone to test this code on other systems.

The error you're getting seems to suggest that there aren't any address lines parsed. Are you able to upload your midi_addresses.txt file? The fact that the patching process has an offset of 1 line is curious.

Thanks.
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Re: Juno Gi Editor

Post by kmtaylor »

Or perhaps, just the first two or three lines?
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Re: Juno Gi Editor

Post by kmtaylor »

I get the same error if the line "| Start | |" is not the first line of midi_addresses.txt.

This could have something to do with different versions of grep??

I've uploaded trim.sh which echos the lines that it will delete.
Attachments
trim.txt
rename to trim.sh and replace the version in manual_parse. This forum doesn't allow the .sh extension for some reason.
(282 Bytes) Downloaded 427 times
RadioDJ
Posts: 27
Joined: 22:44, 13 March 2011

Re: Juno Gi Editor

Post by RadioDJ »

Hello - I replaced trim.sh. I did not noticed any difference from that change, nothing additional was echoed to the screen

You are absolutely correct, the midi_addresses.txt files does not contain | Start | | as the first line. I manually added | Start | | and forced the rebuild of midi_addresses.c by deleting midid_address.c file. That worked, then I successfully made read_midi. Now I need to add the other prereq packages to test the functionality.

$ grep --version
GNU grep 2.6.3

Are you using a different greg?
kmtaylor
Posts: 44
Joined: 02:57, 30 May 2012

Re: Juno Gi Editor

Post by kmtaylor »

Cool, glad you got it compiled.

My grep version is 2.9, although I was thinking that the difference is more likely to be in pdftotext. As far as I'm aware, there are two versions, the poppler version and the xpdf version.
I have: pdftotext version 0.18.4.
Post Reply