Discussion:
[Audacity-devel] Sample editing - output of SDS Midi
p***@muqus.com
2003-07-19 08:49:19 UTC
Permalink
I'm interested in enhancing Audacity to simplify the process of creating
samples for my "sample playback" sound module. A sample is an
audio file + additional info (the loop points, and the type of looping).

I've been communicating with Erik de Castro Lopo, requesting an enhancement
to libsndfile so it can convert to SDS (The Midi sample dump standard) ...
he's working on it.

An additional argument to ExportPCM, so you can specify the format, and I'm
well on the way:

success = ::ExportPCM(project, stereo, fName,
selectionOnly, t0, t1, (long int)(SF_FORMAT_SDS | SF_FORMAT_PCM_16));

Not sure how t0 and t1 are going to be passed to libsndfile, but Erik
may have some insight on that.

Once I've got that working I'll need to work on:

1) More tricky play back scenarios such as playing the loop forwards,
backwards, forwards, backwards etc... The sort of things that samplers
support.
2) Add midi support so I can send the sample directly from Audacity to
my sampler.

Any thoughts...
Shane Mueller
2003-07-20 00:55:14 UTC
Permalink
Phil,

I have refactored some of the exporting code to make it more
object-oriented and easier to deal with the many formats, but we decided
not to land it until after we release Audacity 1.2. Once that happens,
you should be able to write a new midi exporter, if that's how you want
to handle the interface. The code is in the 'exporter_dialog' branch
right now, which is a month old, but you may want to play with it.
Post by p***@muqus.com
I'm interested in enhancing Audacity to simplify the process of creating
samples for my "sample playback" sound module. A sample is an
audio file + additional info (the loop points, and the type of looping).
I've been communicating with Erik de Castro Lopo, requesting an enhancement
to libsndfile so it can convert to SDS (The Midi sample dump standard) ...
he's working on it.
An additional argument to ExportPCM, so you can specify the format, and I'm
success = ::ExportPCM(project, stereo, fName,
selectionOnly, t0, t1, (long int)(SF_FORMAT_SDS | SF_FORMAT_PCM_16));
Not sure how t0 and t1 are going to be passed to libsndfile, but Erik
may have some insight on that.
1) More tricky play back scenarios such as playing the loop forwards,
backwards, forwards, backwards etc... The sort of things that samplers
support.
2) Add midi support so I can send the sample directly from Audacity to
my sampler.
Any thoughts...
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
Audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
--
Shane Mueller <***@umich.edu>
p***@muqus.com
2003-07-20 21:00:27 UTC
Permalink
I've checked out the 'exporter_dialog' branch, but it fails to compile on
my w98 machine, using VC++ and nmake. This may be because I've messed up
my creation of an Audacity.mak file, or may be because the code hasn't been
compiled on a windows environment. Could you please confirm whether the
following error messages occur on other windows systems:


..\src\export\MP3Exporter.h(512) : error C2629: unexpected 'class
PlatformMP3Exporter ('
..\src\export\MP3Exporter.h(512) : error C2238: unexpected token(s)
preceding ';'
..\src\export\Export.cpp(312) : error C2374: 'i' : redefinition; multiple
initialization
..\src\export\Export.cpp(180) : see declaration of 'i'
..\src\export\Export.cpp(324) : error C2374: 'i' : redefinition; multiple
initialization
..\src\export\Export.cpp(180) : see declaration of 'i'
..\src\export\Export.cpp(689) : error C2514: 'PlatformMP3Exporter' : class
has no constructors
..\src\export\MP3Exporter.h(507) : see declaration of
'PlatformMP3Exporter'
..\src\export\Export.cpp(745) : error C2562: 'OnOK' : 'void' function
returning a value
..\src\export\Export.h(77) : see declaration of 'OnOK'
..\src\export\Export.cpp(882) : error C2562: 'OnOK' : 'void' function
returning a value
..\src\export\Export.h(77) : see declaration of 'OnOK'

Phil
Shane Mueller
2003-07-21 04:15:03 UTC
Permalink
This has never been compiled on Windows before. I suspect you will need
to add all of the files in the export/ subdirectory to the project,
including Exporter.h and MP3/OGG/PCM/FLACExporter.h
Post by p***@muqus.com
I've checked out the 'exporter_dialog' branch, but it fails to compile on
my w98 machine, using VC++ and nmake. This may be because I've messed up
my creation of an Audacity.mak file, or may be because the code hasn't been
compiled on a windows environment. Could you please confirm whether the
..\src\export\MP3Exporter.h(512) : error C2629: unexpected 'class
PlatformMP3Exporter ('
..\src\export\MP3Exporter.h(512) : error C2238: unexpected token(s)
preceding ';'
..\src\export\Export.cpp(312) : error C2374: 'i' : redefinition; multiple
initialization
..\src\export\Export.cpp(180) : see declaration of 'i'
..\src\export\Export.cpp(324) : error C2374: 'i' : redefinition; multiple
initialization
..\src\export\Export.cpp(180) : see declaration of 'i'
..\src\export\Export.cpp(689) : error C2514: 'PlatformMP3Exporter' : class
has no constructors
..\src\export\MP3Exporter.h(507) : see declaration of
'PlatformMP3Exporter'
..\src\export\Export.cpp(745) : error C2562: 'OnOK' : 'void' function
returning a value
..\src\export\Export.h(77) : see declaration of 'OnOK'
..\src\export\Export.cpp(882) : error C2562: 'OnOK' : 'void' function
returning a value
..\src\export\Export.h(77) : see declaration of 'OnOK'
Phil
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
Audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
--
Shane Mueller <***@umich.edu>
Shane Mueller
2003-07-21 12:01:23 UTC
Permalink
Phil,
Also, there is a large portion of MP3Exporter.cpp that is
conditionally compiled on each platform. This might be causing many of
the problems below, because I didn't even try to see if it compiled. You
can either try to clean it up to make it compile (the errors don't look
too bad; don't worry about making it producing a correct exporter), or
just comment out stuff until it works. This should only effect your
ability to export to mp3, the other parts will probably work as
advertised.
Post by Shane Mueller
This has never been compiled on Windows before. I suspect you will need
to add all of the files in the export/ subdirectory to the project,
including Exporter.h and MP3/OGG/PCM/FLACExporter.h
Post by p***@muqus.com
I've checked out the 'exporter_dialog' branch, but it fails to compile on
my w98 machine, using VC++ and nmake. This may be because I've messed up
my creation of an Audacity.mak file, or may be because the code hasn't been
compiled on a windows environment. Could you please confirm whether the
..\src\export\MP3Exporter.h(512) : error C2629: unexpected 'class
PlatformMP3Exporter ('
..\src\export\MP3Exporter.h(512) : error C2238: unexpected token(s)
preceding ';'
..\src\export\Export.cpp(312) : error C2374: 'i' : redefinition; multiple
initialization
..\src\export\Export.cpp(180) : see declaration of 'i'
..\src\export\Export.cpp(324) : error C2374: 'i' : redefinition; multiple
initialization
..\src\export\Export.cpp(180) : see declaration of 'i'
..\src\export\Export.cpp(689) : error C2514: 'PlatformMP3Exporter' : class
has no constructors
..\src\export\MP3Exporter.h(507) : see declaration of
'PlatformMP3Exporter'
..\src\export\Export.cpp(745) : error C2562: 'OnOK' : 'void' function
returning a value
..\src\export\Export.h(77) : see declaration of 'OnOK'
..\src\export\Export.cpp(882) : error C2562: 'OnOK' : 'void' function
returning a value
..\src\export\Export.h(77) : see declaration of 'OnOK'
Phil
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
Audacity-devel mailing list
https://lists.sourceforge.net/lists/listinfo/audacity-devel
--
Shane Mueller <***@umich.edu>
Loading...