mySoftware [Updates]

Once you create a user profile on Motifator and update with the appropriate information, the updates shown here will be specific to you.

newProducts [YOK]

rssFeeds [Syndicate]


forumforum
 

Old Motifator threads are available in the Archive.

Viewing topic "motif2text App For Windows Released"

   
Page 3 of 4
Posted on: February 11, 2014 @ 05:05 PM
5pinDIN
Avatar
Total Posts:  11891
Joined  09-16-2010
status: Legend
VikasSharma - 11 February 2014 10:07 AM
5pinDIN - 11 February 2014 07:28 AM

The new version is attached.

Please let me know if it’s up to expected standards.  ;-)

This new version looks really cool. Thanks for your work!

You’re welcome - I wouldn’t want to disappoint.  :-)

Of course, Michael Trigoboff has been doing the important work!

  [ Ignore ]  

Posted on: February 11, 2014 @ 05:26 PM
Michael Trigoboff
Avatar
Total Posts:  647
Joined  09-05-2011
status: Guru
5pinDIN - 11 February 2014 05:05 PM
VikasSharma - 11 February 2014 10:07 AM
5pinDIN - 11 February 2014 07:28 AM

The new version is attached.

Please let me know if it’s up to expected standards.  ;-)

This new version looks really cool. Thanks for your work!

You’re welcome - I wouldn’t want to disappoint.  :-)

Of course, Michael Trigoboff has been doing the important work!

But the Marketing Department really likes that new icon. They say it’s really going to help sales…

  [ Ignore ]  

Posted on: February 11, 2014 @ 05:45 PM
5pinDIN
Avatar
Total Posts:  11891
Joined  09-16-2010
status: Legend
Michael Trigoboff - 11 February 2014 05:26 PM

But the Marketing Department really likes that new icon. They say it’s really going to help sales…

Well, in that case I’m happy to be a part of what undeniably will be the project’s ultimate success.

  [ Ignore ]  

Posted on: February 11, 2014 @ 06:00 PM
Michael Trigoboff
Avatar
Total Posts:  647
Joined  09-05-2011
status: Guru
5pinDIN - 11 February 2014 01:37 PM

However, I’m still experiencing problems with XS “All” files (X0A). I’ve attached a zip with an X0A and resulting files that illustrate the problems.

I just looked into the problem with your X0A file. The problem is that the X0A file format is significantly different from the X3A file format.

For instance, the length of a Master record in an X3A file is 560 bytes. In an X0A file, it’s 368 bytes. That difference is what’s causing the crash you observed.

Given that, it doesn’t surprise me that there are other errors such as losing the first characters of item names.

If there’s someone around here with programming skills who owns an XS, I’ll be happy to help get them up to speed with how to adapt my Python code to read an X0A file. It could be relatively simple, but then again it might not be.

If someone does that, I’ll be happy to integrate the resulting code into motif2text.

But adapting the code to read an X0A file is beyond the scope of what I want to do with this project.

EDIT

I just looked through cdw’s notes on the file formats. It may be easier to adapt the code to read X0A files than I thought. Stay tuned…

  [ Ignore ]  

Posted on: February 11, 2014 @ 06:33 PM
Michael Trigoboff
Avatar
Total Posts:  647
Joined  09-05-2011
status: Guru
5pinDIN - 11 February 2014 01:37 PM

There are a couple of other issues…

1) Would it be possible to incorporate a means of deleting the created text file if a permanent copy wasn’t wanted? Most of the time I would want to see the content of a Motif file on screen, but not need a record of it to remain on the drive.

I saved myself a lot of programming effort by using the default text app instead of writing my own text window.

One consequence of this is that once I tell the default app to open the text file, it’s completely out of my hands. The user can choose to edit the file, save it under another name, etc.

I could keep a list of the .txt files I created, and delete them when the user closed the app. But then if the user left the text window(s) open, I’d be yanking the file(s) out from under the text app, with unknown and potentially annoying-to-dangerous consequences.

I looked at the Python docs, and there is another possibility. I could have the app wait until the text window was closed. But that would jam the app’s GUI until you did that. You wouldn’t be able to do anything with the app until you closed the first text window.

I’d have more flexibility if I went ahead and created my own text window.

The text files are relatively small. Do you think leaving them around on the disk is a problem that needs to be corrected?

2) It appears that the program opens a file on the drive for the text output without checking that the selected input file is valid. If “Create Text” is clicked in that circumstance, not only does that result in a crash and the error screen display, but an empty text file is written to the drive. Probably it would be good to verify that the selected file at least has a valid extension.

I’ll see what I can do to fix that. I know that at least I can catch the exception and keep it from crashing the app and displaying the error screen.

Thanks very much for making your program available to us - it’s a valuable aid, and I know how much time and effort it takes to create something like this.

You’re most welcome. Given the amount of help I’ve gotten around here for the past couple of years, I’m delighted to be able to give something back.

  [ Ignore ]  

Posted on: February 11, 2014 @ 08:40 PM
Michael Trigoboff
Avatar
Total Posts:  647
Joined  09-05-2011
status: Guru

Here’s the latest version, v1.02.

This one fixes the problem 5pinDIN mentioned, where a problem reading a file gives you an error screen. Now the GUI will tell you there’s a problem, the error screen will not appear, and a .txt file will not be created in that situation.

Also, you can now bring up the help file by hitting F1.

Keep up the good work finding and reporting bugs!

Download new version from first message in thread.

  [ Ignore ]  

Posted on: February 12, 2014 @ 12:17 AM
Michael Trigoboff
Avatar
Total Posts:  647
Joined  09-05-2011
status: Guru
VikasSharma - 11 February 2014 10:34 AM

Well, to be honest, the guess was not all that ‘wild’ after all. After having done B.Tech. in Computer Sc. & Engg. from one of the the National Institutes of Technology in India, it was more of an educated guess. C and C++ used to be my favorite languages during my study days and, in the past 12 years or so of my work life, I’ve had the chance to work on a plethora of various technologies including ASP, HTML, JavaScript, ColdFusion, Oracle DB, D2K, Java, SAP ABAP, etc.

A fellow programmer/musician! I might have known…

  [ Ignore ]  

Posted on: February 12, 2014 @ 04:58 AM
5pinDIN
Avatar
Total Posts:  11891
Joined  09-16-2010
status: Legend
Michael Trigoboff - 12 February 2014 12:17 AM
VikasSharma - 11 February 2014 10:34 AM

Well, to be honest, the guess was not all that ‘wild’ after all. After having done B.Tech. in Computer Sc. & Engg. from one of the the National Institutes of Technology in India, it was more of an educated guess. C and C++ used to be my favorite languages during my study days and, in the past 12 years or so of my work life, I’ve had the chance to work on a plethora of various technologies including ASP, HTML, JavaScript, ColdFusion, Oracle DB, D2K, Java, SAP ABAP, etc.

A fellow programmer/musician! I might have known…

Although programming isn’t a major endeavor of mine, I’ve done it in the past to create some MIDI software (editor/librarians, file converters, etc.).

However, my experience with computer languages isn’t recent - early on it was with Fortran, and later with various flavors of BASIC. “C” and “C+” were just mediocre grades in school, and they didn’t give “C++” as a grade (probably “B-").  :-)

  [ Ignore ]  

Posted on: February 12, 2014 @ 06:51 AM
5pinDIN
Avatar
Total Posts:  11891
Joined  09-16-2010
status: Legend
Michael Trigoboff - 11 February 2014 08:40 PM

Here’s the latest version, v1.02.

This one fixes the problem 5pinDIN mentioned, where a problem reading a file gives you an error screen. Now the GUI will tell you there’s a problem, the error screen will not appear, and a .txt file will not be created in that situation.

Also, you can now bring up the help file by hitting F1.

Keep up the good work finding and reporting bugs!

Thanks for the most recent version. It does resolve the problem with invalid files, and I noticed that you “locked out” XS “All” (X0A) files. The program seems to work correctly with XS “All Voice” (X0V) files.

While motif2text accepts XS “All Pattern” (X0P), “All Song” (X0S), and “All Arpeggio” (X0G) files as input without crashing, the text output has the problem I mentioned previously of names having the first character missing. Hopefully that isn’t too difficult to resolve (I suspect it might not be, but I’d never assume that). If you need an X0P, etc., file to test with, please let me know.

Thanks again for your (continuing) work.

  [ Ignore ]  

Posted on: February 12, 2014 @ 10:23 AM
Michael Trigoboff
Avatar
Total Posts:  647
Joined  09-05-2011
status: Guru
5pinDIN - 12 February 2014 06:51 AM

Thanks for the most recent version. It does resolve the problem with invalid files, and I noticed that you “locked out” XS “All” (X0A) files. The program seems to work correctly with XS “All Voice” (X0V) files.

While motif2text accepts XS “All Pattern” (X0P), “All Song” (X0S), and “All Arpeggio” (X0G) files as input without crashing, the text output has the problem I mentioned previously of names having the first character missing. Hopefully that isn’t too difficult to resolve (I suspect it might not be, but I’d never assume that). If you need an X0P, etc., file to test with, please let me know.

Thanks again for your (continuing) work.

You’re welcome.

I didn’t lock out X0A files. What I did instead was code the GUI to catch the exception when the file reading code crashes, which it still does with X0A files in version 1.02.

Good news! I just got the app to read an X0A file without crashing. Motif files have an internal set of file version numbers (good work, Yamaha!), and all I had to do was check those and suitably adjust the expected length of a Master data block.

Some of the names are still showing up missing the first character, but that’s going to be trivial to fix. I have to go teach my CS class now, so I won’t be able to release a new version until later today.

  [ Ignore ]  

Posted on: February 12, 2014 @ 10:49 AM
5pinDIN
Avatar
Total Posts:  11891
Joined  09-16-2010
status: Legend
Michael Trigoboff - 12 February 2014 10:23 AM

I didn’t lock out X0A files. What I did instead was code the GUI to catch the exception when the file reading code crashes, which it still does with X0A files in version 1.02.

I wasn’t sure how you handled the X0A problem in v1.02, which is why I put “locked out” in quotes.

 

Michael Trigoboff -

Good news! I just got the app to read an X0A file without crashing. Motif files have an internal set of file version numbers (good work, Yamaha!), and all I had to do was check those and suitably adjust the expected length of a Master data block.

Some of the names are still showing up missing the first character, but that’s going to be trivial to fix. I have to go teach my CS class now, so I won’t be able to release a new version until later today.

Great! I’ve already got a slightly modified icon ready in anticipation of a version of motif2text that works fully with XS files. It retains the white-on-black lettering of the XF logo, but the color scheme of the keyboard part is close to that of the XS. See attachment.

File Attachments
MOTIF2TEXT_32-XSicon.zip  (File Size: 1KB - Downloads: 297)
  [ Ignore ]  

Posted on: February 12, 2014 @ 05:56 PM
Michael Trigoboff
Avatar
Total Posts:  647
Joined  09-05-2011
status: Guru
5pinDIN - 12 February 2014 04:58 AM

Although programming isn’t a major endeavor of mine, I’ve done it in the past to create some MIDI software (editor/librarians, file converters, etc.).

However, my experience with computer languages isn’t recent - early on it was with Fortran, and later with various flavors of BASIC. “C” and “C+” were just mediocre grades in school, and they didn’t give “C++” as a grade (probably “B-").  :-)

And yet another programmer/musician. A few more, and we could have a “club” or something.

My first high-level language was Fortran, back in the days of punch cards, which reminds me of my first experience with computer music. At my first programming job, this guy wrote some code with loops in it that ran at different frequencies. He put an AM radio tuned between stations on top of the computer and ran the code. It played a song in different tones of AM static. For 1970, it was pretty cool.

C++ as a grade. I love it! My fellow CS instructors at PCC are going to get a real kick out of that…

  [ Ignore ]  

Posted on: February 12, 2014 @ 06:10 PM
Michael Trigoboff
Avatar
Total Posts:  647
Joined  09-05-2011
status: Guru
5pinDIN - 12 February 2014 04:58 AM

“C" and “C+” were just mediocre grades in school, and they didn’t give “C++” as a grade (probably “B-").  :-)

Would ++C be a better grade?

(In-joke for programmers.)

  [ Ignore ]  

Posted on: February 12, 2014 @ 07:25 PM
Michael Trigoboff
Avatar
Total Posts:  647
Joined  09-05-2011
status: Guru

Here’s v1.03 of the motif2text app.

This one can read X0A files, and presumably any other file type that an XS can produce.

As always, your testing and bug reporting is a crucial part of getting the app to be working and available.

Download new version from first message in thread.

  [ Ignore ]  

Posted on: February 13, 2014 @ 02:47 AM
5pinDIN
Avatar
Total Posts:  11891
Joined  09-16-2010
status: Legend
Michael Trigoboff - 12 February 2014 07:25 PM

Here’s v1.03 of the motif2text app.

This one can read X0A files, and presumably any other file type that an XS can produce.

As always, your testing and bug reporting is a crucial part of getting the app to be working and available.

It’s looking pretty good, I found just two minor things…

1) User Waveforms aren’t being numbered correctly.

XS example:
Waveforms (30)
-127: UNISAW (should be 001)
-126: SAWPHASE A (should be 002)
(cut -125 through -099)
-098: Tek2 Slice (should be 030)

XF example from Inspiration in a Flash, which has a single User Waveform:
Waveforms (354)
-127: YTS_05.wav (should be 001)
0001: S700SftSt
0002: S700MedSt
(Waveform numbering for Flash is OK.)

I didn’t look at the Motif files, so I don’t know for sure what the “-” is preceding the User Waveform numbers, although it appears to be a “minus” sign. As things are right now, the “-” differentiates the User and Flash Waveforms. It seems that perhaps 128 will play a part in resolving the numbering issue  :-) .

2) This is really minor, possibly not at all important, or might be intentional. Where duplicate Waveforms are called out, the number given for the duplicate has leading zeros “missing” in comparison to the main part of the list.

Example from IiaF:
0019: SweetPanFl
  duplicates: [138] (it’s 0138 in the main part of list)

Otherwise, v1.03 seems to be fine. Thanks.

  [ Ignore ]  


Page 3 of 4


     


Previous Topic:

‹‹ Karma questions
Next Topic:

    Gig Bag ››