back to list

software release announcement

🔗Aaron K. Johnson <akjmicro@...>

3/3/2005 6:51:39 AM

Hey all,

Margo Schulter has been a wonderful and keen beta-tester for my software
'et_compose' and 'ji_compose'. Although I have been using this software for a
couple of years now (I wrote 'Juggler' with et_compose), I feel confident
that it is mature and stable and bug-free enough to release to the public
with a 'beta' label.

You can find explanation and the actual source at

http://www.akjmusic.com/pub

Caveat:

The current version is aimed t Linux-platform users. It might work as well on
Mac OS-X, I don't know.

Windows users might seek out my guidance with altering the Python source. In
fact, I'd be willing to go through some beta-testing procedures with a
Windows-using volunteer, and offer a second version specifically for Windows.
The issue is that the file structure referred to in the Python source is *nix
file structure, referring to a typical *nix file tree, and with correct,
forward slash-style file tree syntax (Windows uses the ugly, misguided
backslash syntax). So there would have to be some minor changes to the Python
source, including the libraries, for it to work without a hitch on Windows.
If you are running a Windows platform, and would still like to use
'et_compose' or 'ji_compose', contact me and I can walk you through the
process. This will help me offer an alternative script for Windows users.

Also, Windows users might seek out the binary executable for 'mf2t' and 't2mf'
by themselves: I think Windows doesn't come with a free C-language compiler,
i.e. you'd have to shell out cash to develop your own software you wanted to
give away.

Best,
--
Aaron Krister Johnson
http://www.akjmusic.com
http://www.dividebypi.com

🔗Carl Lumma <ekin@...>

3/3/2005 8:05:35 AM

>Windows users might seek out my guidance with altering the Python source.
>In fact, I'd be willing to go through some beta-testing procedures with a
>Windows-using volunteer, and offer a second version specifically for
>Windows. The issue is that the file structure referred to in the Python
>source is *nix file structure, referring to a typical *nix file tree,

Heard of abstraction?

The Python developers haven't either. As of about 1.5 years ago, their
installer only worked if the path was c:\python. When I reported this
bug on sourceforge, they made lame excuses.

>and with correct, forward slash-style file tree syntax (Windows uses
>the ugly, misguided backslash syntax).

It supports both / and \ paths, at least from the command prompt.

>Also, Windows users might seek out the binary executable for 'mf2t' and
>'t2mf' by themselves: I think Windows doesn't come with a free C-language
>compiler, i.e. you'd have to shell out cash to develop your own software
>you wanted to give away.

It doesn't come with one, but there are plenty freely available.

-Carl

🔗Jonathan M. Szanto <JSZANTO@...>

3/3/2005 8:17:59 AM

Gentlemen,

{you wrote...}
> >Also, Windows users might seek out the binary executable for 'mf2t' and
> >'t2mf' by themselves: I think Windows doesn't come with a free C-language
> >compiler, i.e. you'd have to shell out cash to develop your own software
> >you wanted to give away.
>
>It doesn't come with one, but there are plenty freely available.

Python is interpreted, not compiled, right? Anyhow, what is the C compiler for - t2mf and mf2t? If that is the case, the binaries come with Scala, IIRC. No normal person should have to use a C compiler! :)

Cheers,
Jon

🔗Aaron K. Johnson <akjmicro@...>

3/3/2005 8:34:35 AM

On Thursday 03 March 2005 10:17 am, Jonathan M. Szanto wrote:
> Gentlemen,
>
> {you wrote...}
>
> > >Also, Windows users might seek out the binary executable for 'mf2t' and
> > >'t2mf' by themselves: I think Windows doesn't come with a free
> > > C-language compiler, i.e. you'd have to shell out cash to develop your
> > > own software you wanted to give away.
> >
> >It doesn't come with one, but there are plenty freely available.
>
> Python is interpreted, not compiled, right? Anyhow, what is the C compiler
> for - t2mf and mf2t?

Yes....

> If that is the case, the binaries come with Scala,
> IIRC.

That's great, if that's the case. I think you may be right.

> No normal person should have to use a C compiler! :)

I agree, where it is possible.

Aaron Krister Johnson
http://www.akjmusic.com
http://www.dividebypi.com

🔗Aaron K. Johnson <akjmicro@...>

3/3/2005 8:38:22 AM

On Thursday 03 March 2005 10:05 am, Carl Lumma wrote:
> >Windows users might seek out my guidance with altering the Python source.
> >In fact, I'd be willing to go through some beta-testing procedures with a
> >Windows-using volunteer, and offer a second version specifically for
> >Windows. The issue is that the file structure referred to in the Python
> >source is *nix file structure, referring to a typical *nix file tree,
>
> Heard of abstraction?
>
> The Python developers haven't either. As of about 1.5 years ago, their
> installer only worked if the path was c:\python. When I reported this
> bug on sourceforge, they made lame excuses.

That's too bad.....

It's still the easiest to use, most featureful and ready to use for
everything, language out there.

>
> >and with correct, forward slash-style file tree syntax (Windows uses
> >the ugly, misguided backslash syntax).
>
> It supports both / and \ paths, at least from the command prompt.

I didn't know that. I stand corrected. Is that new to XP?

There still might be problems with directories...does Windows have a
top-level /tmp directory? 'et_compose' reads and writes there to do some
temporary work.

> >Also, Windows users might seek out the binary executable for 'mf2t' and
> >'t2mf' by themselves: I think Windows doesn't come with a free C-language
> >compiler, i.e. you'd have to shell out cash to develop your own software
> >you wanted to give away.
>
> It doesn't come with one, but there are plenty freely available.

Jon said that mf2t comes with Windows Scala, so that might be moot.

> -Carl
>
>
>
>
>
> Yahoo! Groups Links
>
>
>

--
Aaron Krister Johnson
http://www.akjmusic.com
http://www.dividebypi.com

🔗Aaron K. Johnson <akjmicro@...>

3/3/2005 8:44:30 AM

On Thursday 03 March 2005 10:05 am, Carl Lumma wrote:
> >Windows users might seek out my guidance with altering the Python source.
> >In fact, I'd be willing to go through some beta-testing procedures with a
> >Windows-using volunteer, and offer a second version specifically for
> >Windows. The issue is that the file structure referred to in the Python
> >source is *nix file structure, referring to a typical *nix file tree,
>
> Heard of abstraction?
>
> The Python developers haven't either. As of about 1.5 years ago, their
> installer only worked if the path was c:\python. When I reported this

Also, BTW, just so you know, the 'source' I was referring to was my own, not
python.org's interpreter.

If any new libraries that handle cross-platform directory issues transparently
exist, the fault is mine, not the fine folks of the Python development team.

Aaron Krister Johnson
http://www.akjmusic.com
http://www.dividebypi.com

🔗Carl Lumma <ekin@...>

3/3/2005 4:52:42 PM

>Gentlemen,
>
>{you wrote...}
>> >Also, Windows users might seek out the binary executable for 'mf2t' and
>> >'t2mf' by themselves: I think Windows doesn't come with a free C-language
>> >compiler, i.e. you'd have to shell out cash to develop your own software
>> >you wanted to give away.
>>
>>It doesn't come with one, but there are plenty freely available.
>
>Python is interpreted, not compiled, right?

I think there are compilers available for it.

-Carl

🔗Carl Lumma <ekin@...>

3/3/2005 4:58:01 PM

>It's still the easiest to use, most featureful and ready to use for
>everything, language out there.

It is my favorite lang at the moment.

>> >and with correct, forward slash-style file tree syntax (Windows uses
>> >the ugly, misguided backslash syntax).
>>
>> It supports both / and \ paths, at least from the command prompt.
>
>I didn't know that. I stand corrected. Is that new to XP?

I believe it goes back all the way, or at least to Win2K.

>There still might be problems with directories...does Windows have a
>top-level /tmp directory? 'et_compose' reads and writes there to do some
>temporary work.

The user could always make the required structure, but it's better
to use a variable.

>> >Also, Windows users might seek out the binary executable for 'mf2t'
>> >and 't2mf' by themselves: I think Windows doesn't come with a free
>> >C-language compiler, i.e. you'd have to shell out cash to develop
>> >your own software you wanted to give away.
>>
>> It doesn't come with one, but there are plenty freely available.
>
>Jon said that mf2t comes with Windows Scala, so that might be moot.

The author of those programs also gives away up-to-date binaries.

-Carl

🔗Carl Lumma <ekin@...>

3/3/2005 4:58:48 PM

>Also, BTW, just so you know, the 'source' I was referring to was my
>own, not python.org's interpreter.

Yes, I know, and I think it's phantastic that you're sharing it!
Sorry I didn't say so before.

-Carl

🔗Rich Holmes <rsholmes@...>

3/3/2005 6:44:32 PM

Carl Lumma <ekin@...> writes:

> >Jon said that mf2t comes with Windows Scala, so that might be moot.
>
> The author of those programs also gives away up-to-date binaries.

In which case this might be moot, too.

I am not an expert on C programming for Mac OS X, so I don't know how
boneheaded any of this is, but I did get mf2t and t2mf to compile and
run. mf2t on example1.mid reproduces example1.txt exactly; t2mf on
example1.txt does not replicate example1.mid, but it sounds the same,
and mf2t on the result does replicate example1.txt, so I think both
programs are working. The zip file with my mods is here: <
http://www.richholmes.net/music/xen/mf2tsrc.zip >. Use

make -f makefile.osx

to compile.

As for Aaron's scripts, less luck there. Python I know almost nothing
about. Python 2.3 is there under Mac OS X 10.3, but I get an error
when I try to run et_compose_v1beta::

Traceback (most recent call last):
File "./et_compose_v1beta", line 6, in ?
from readline import *
ImportError: No module named readline

Looks like just some environment variable needs to be fixed up, or
something, but I'm ignorant...

- Rich Holmes

🔗Aaron K. Johnson <akjmicro@...>

3/5/2005 10:03:00 AM

On Thursday 03 March 2005 08:44 pm, Rich Holmes wrote:
> Carl Lumma <ekin@...> writes:
> > >Jon said that mf2t comes with Windows Scala, so that might be moot.
> >
> > The author of those programs also gives away up-to-date binaries.
>
> In which case this might be moot, too.
>
> I am not an expert on C programming for Mac OS X, so I don't know how
> boneheaded any of this is, but I did get mf2t and t2mf to compile and
> run. mf2t on example1.mid reproduces example1.txt exactly; t2mf on
> example1.txt does not replicate example1.mid, but it sounds the same,
> and mf2t on the result does replicate example1.txt, so I think both
> programs are working. The zip file with my mods is here: <
> http://www.richholmes.net/music/xen/mf2tsrc.zip >. Use
>
> make -f makefile.osx
>
> to compile.
>
> As for Aaron's scripts, less luck there. Python I know almost nothing
> about. Python 2.3 is there under Mac OS X 10.3, but I get an error
> when I try to run et_compose_v1beta::
>
> Traceback (most recent call last):
> File "./et_compose_v1beta", line 6, in ?
> from readline import *
> ImportError: No module named readline
>
> Looks like just some environment variable needs to be fixed up, or
> something, but I'm ignorant...

Realine is a vanilla Unix feature. It basically allows for command line
completion and the like. Mac-OS X apparantly is not vanilla Unix, claims of
BSD compatibility to the contrary. I think you can safely try to rmove the
line "from readline import *", you just won't have those feature if you run
the command in interactive mode (i.e. with out a command line file argument)

Let me know if that works. Also, make sure you install my own libraries, which
you'll need for et_compose, in the Python libraries (modules) directory,
wherever that is on Mac. Or symlink to them (I do that so I keep the standard
modules distinct from my own in case of a reinstall, etc.)

Best,
Aaron Krister Johnson
http://www.akjmusic.com
http://www.dividebypi.com

🔗Rich Holmes <rsholmes@...>

3/5/2005 7:10:13 PM

"Aaron K. Johnson" <akjmicro@...> writes:

> Realine is a vanilla Unix feature. It basically allows for command line
> completion and the like. Mac-OS X apparantly is not vanilla Unix, claims of
> BSD compatibility to the contrary.

I'm sure you know more about this than I do, but I do find this in
Appendix A of the Python tutorial:

Some versions of the Python interpreter support editing of the
current input line and history substitution, similar to facilities
found in the Korn shell and the GNU Bash shell. This is implemented
using the GNU Readline library, which supports Emacs-style and
vi-style editing.

which implies to me that not all versions of the Python interpreter
support readline, and that this depends on a GNU library, not a BSD
feature.

> I think you can safely try to rmove the
> line "from readline import *",

Yes, that seems to be OK.

> Let me know if that works. Also, make sure you install my own libraries, which
> you'll need for et_compose, in the Python libraries (modules) directory,
> wherever that is on Mac.

By "my own libraries" do you mean microtonal.py, etc? I don't know
where the libraries directory is either, but it seems to work to just
leave them in the same directory with the main program.

Doing that and running with an input file containing the example from
your README, I get the error

syntax error--try again
notes

eight times. It looks as if it's confused by comments not starting at
the beginning of a line. If I edit the input file to remove those
comments, I get a MIDI file which I presume is correct. With the
comments in place I still get a MIDI file in spite of the syntax error
messages; it seems to be the same length as the MIDI file I get
without the comments, but the contents are a little different and it
sounds a little different.

So I think it's sort of working.

- Rich Holmes

🔗Aaron K. Johnson <akjmicro@...>

3/6/2005 7:05:47 AM

On Saturday 05 March 2005 09:10 pm, Rich Holmes wrote:
> "Aaron K. Johnson" <akjmicro@...> writes:
> > Realine is a vanilla Unix feature. It basically allows for command line
> > completion and the like. Mac-OS X apparantly is not vanilla Unix, claims
> > of BSD compatibility to the contrary.
>
> I'm sure you know more about this than I do, but I do find this in
> Appendix A of the Python tutorial:
>
> Some versions of the Python interpreter support editing of the
> current input line and history substitution, similar to facilities
> found in the Korn shell and the GNU Bash shell. This is implemented
> using the GNU Readline library, which supports Emacs-style and
> vi-style editing.
>
> which implies to me that not all versions of the Python interpreter
> support readline, and that this depends on a GNU library, not a BSD
> feature.

Yes, you are correct....it's a GNU feature (which is, these days, vanilla
UNIX, to my knowledge)

> > I think you can safely try to rmove the
> > line "from readline import *",
>
> Yes, that seems to be OK.

I'm curious, and since this is OT, you can reply offline (I write it here now
because maybe others are interested)---do you have command-line completion at
the OS X terminal, and history substitution (with the up arrow). If so, I
wonder how/why OS X would do this without GNU libreadline.

Best,
Aaron Krister Johnson
http://www.akjmusic.com
http://www.dividebypi.com

🔗Aaron K. Johnson <akjmicro@...>

3/6/2005 6:49:23 AM

On Saturday 05 March 2005 09:10 pm, Rich Holmes wrote:
> "Aaron K. Johnson" <akjmicro@...> writes:
> > Realine is a vanilla Unix feature. It basically allows for command line
> > completion and the like. Mac-OS X apparantly is not vanilla Unix, claims
> > of BSD compatibility to the contrary.
>
> I'm sure you know more about this than I do, but I do find this in
> Appendix A of the Python tutorial:
>
> Some versions of the Python interpreter support editing of the
> current input line and history substitution, similar to facilities
> found in the Korn shell and the GNU Bash shell. This is implemented
> using the GNU Readline library, which supports Emacs-style and
> vi-style editing.
>
> which implies to me that not all versions of the Python interpreter
> support readline, and that this depends on a GNU library, not a BSD
> feature.
>
> > I think you can safely try to rmove the
> > line "from readline import *",
>
> Yes, that seems to be OK.

Good!

> > Let me know if that works. Also, make sure you install my own libraries,
> > which you'll need for et_compose, in the Python libraries (modules)
> > directory, wherever that is on Mac.
>
> By "my own libraries" do you mean microtonal.py, etc? I don't know
> where the libraries directory is either, but it seems to work to just
> leave them in the same directory with the main program.

That'll work, too, when the modules are in the same directory as the main
script, it's just not as tidy. But maybe that's easier for you than making a
seperate subdirectory and linking them.

> Doing that and running with an input file containing the example from
> your README, I get the error
>
> syntax error--try again
> notes
>
> eight times. It looks as if it's confused by comments not starting at
> the beginning of a line. If I edit the input file to remove those
> comments, I get a MIDI file which I presume is correct. With the
> comments in place I still get a MIDI file in spite of the syntax error
> messages; it seems to be the same length as the MIDI file I get
> without the comments, but the contents are a little different and it
> sounds a little different.

Thanks for catching this bug!!! I fixed it, and v2beta is up at
http://www.akjmusic.com/pub

Best,
Aaron Krister Johnson
http://www.akjmusic.com
http://www.dividebypi.com

🔗Rich Holmes <rsholmes@...>

3/6/2005 12:15:44 PM

"Aaron K. Johnson" <akjmicro@...> writes:

> I'm curious, and since this is OT, you can reply offline (I write it here now
> because maybe others are interested)---do you have command-line completion at
> the OS X terminal, and history substitution (with the up arrow). If so, I
> wonder how/why OS X would do this without GNU libreadline.

Yes, at least in bash, which is indeed one of the shells shipped with
OS X.

I wonder too.

- Rich

🔗Rich Holmes <rsholmes@...>

3/9/2005 5:31:20 PM

"Aaron K. Johnson" <akjmicro@...> writes:

> Thanks for catching this bug!!! I fixed it, and v2beta is up at
> http://www.akjmusic.com/pub

Great -- that fixes that issue. As for readline, I am informed that
there's an OS X version available -- compiled version at

<http://www.pycs.net/bbum/2004/1/21/readline.so.gz>

(uncompress with gzip and copy into /Library/Python/2.3/readline.so --
which, I think, also is where you can move Aaron's Python modules to,
if you want) or compilable source from

<http://www.pycs.net/bbum/2004/1/21/py-readline-s.tgz>

With that library and Aaron's bug fix, et_compose looks like it works
for me.

- Rich Holmes