Delphi ASIO & VST sourceforge project
-
Christian Budde Christian Budde https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=25572
- KVRAF
- Topic Starter
- 1538 posts since 14 May, 2004 from Europe
It's rather an entire framework with support of the VST interface, but also lots more. I'm still constantly adding little steps towards version 1.5. but no guarantee for any release soon.kartalex wrote:Hi, Mr Budde - are you still working on VST Delphi SDK ? Is it alive?
Christian
-
- KVRist
- 56 posts since 20 Sep, 2006 from Hamburg, Germany
Hi!
Can one help me to install the components into my Delphi5?
When I want to compile the D5 package, it tells me that LCLIntf.dcu can not be found.
The compiler error occurs in Unit DAVDCommon.pas in these lines
I realized the definition of DELPHI7 and edited it to DELPHI5, but then it demands the types.dcu unit, which haven't, too.
What now?
Can one help me to install the components into my Delphi5?
When I want to compile the D5 package, it tells me that LCLIntf.dcu can not be found.
The compiler error occurs in Unit DAVDCommon.pas in these lines
Code: Select all
{$IFDEF DELPHI7_UP}
uses Windows {$IFDEF UseNativeTypes}, Types{$ENDIF};
{$ELSE}
uses LCLIntf; {$DEFINE PUREPASCAL}
{$ENDIF}What now?
-
Christian Budde Christian Budde https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=25572
- KVRAF
- Topic Starter
- 1538 posts since 14 May, 2004 from Europe
Delphi 5 is officially not supported anymore!
There are several reasons for this and it would be necessary to review (& rewrite) several parts from scratch.
Christian
PS: I think one of the early versions still compile in Delphi 5
There are several reasons for this and it would be necessary to review (& rewrite) several parts from scratch.
Christian
PS: I think one of the early versions still compile in Delphi 5
-
- KVRist
- 63 posts since 22 May, 2002
Hi Christian
I briefly tested TCustomAudioFileAIFF and found some bugs:
ReadSSNDChunk needs to be
Also TChannel32DataCoderFixedPoint.DeinterleaveData doesn't take endianness into account.
I don't know where to report bugs so I'm hoping to reach you here.
Thanks,
rola
I briefly tested TCustomAudioFileAIFF and found some bugs:
ReadSSNDChunk needs to be
Code: Select all
procedure TCustomAudioFileAIFF.ReadSSNDChunk.ReadSSNDChunk(const Stream: TStream);
var
DataSize : Cardinal;
begin
with Stream do
begin
// skip chunk name
Position := Position + 4;
// read data size
Read(DataSize, 4);
Flip32(DataSize);
// store SSND chunk position
FAudioDataPosition := Stream.Position;
// apply padding
DataSize := ((DataSize + 1) shr 1) shl 1;
Position := Position + DataSize;
end;
end;I don't know where to report bugs so I'm hoping to reach you here.
Thanks,
rola
-
Christian Budde Christian Budde https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=25572
- KVRAF
- Topic Starter
- 1538 posts since 14 May, 2004 from Europe
Hi,
The bug is acknowledged.
I have a notify on this post to be able to read it in no time after someone posts here. This however, does not mean that I answer all posts here directly and if I don't that often means I forgot to do so later.
In respect of the bug, you should consider creating a patch file against the latest revision, this way the bugfix can be applied easily.
If you do so, please use the appropriate unit test tool to verify that no new bugs have been introduced (NOTE: in the current state the unit test tool does not necessary pass all tests positively).
The bug is acknowledged.
I have a notify on this post to be able to read it in no time after someone posts here. This however, does not mean that I answer all posts here directly and if I don't that often means I forgot to do so later.
In respect of the bug, you should consider creating a patch file against the latest revision, this way the bugfix can be applied easily.
If you do so, please use the appropriate unit test tool to verify that no new bugs have been introduced (NOTE: in the current state the unit test tool does not necessary pass all tests positively).
-
- KVRist
- 63 posts since 22 May, 2002
Christian,
Thanks for the reply.
To submit a patch file do I upload it under tracker-patches in sourceforge?
To be honest I'm not sure it's a good idea for me to upload patches as I do not fully understand the code yet. I'll have to look into it more.
I noticed a couple of things:
- The TCustomAudioFileAIFF.ReadSSNDChunk fix I pointed out earlier.
- The DataCoder InterleaveData, DeinterleaveData need a switch for Big-endian files. I noticed a ByteAlign property in the DataCoder but I'm not sure what it's for. Looks like it only affects scaling.
- ReadAudioDataFromStream functions need a check that audio data size isn't larger than the file size. I have some corrupt audio files on my hd and it can quickly run out of memory. It might also be good to be able to set a flag in OnDecode to cancel decoding.
- Would it be possible to add switch to not use assertions for audiofiles? Generally I find that it's best to be able to ignore 'bad' chunks if the important chunks are ok. Also it should behave well when assertions are off.
Thanks for making these great components. They do cover a lot. If I can be of any help please say so.
Thanks for the reply.
To submit a patch file do I upload it under tracker-patches in sourceforge?
To be honest I'm not sure it's a good idea for me to upload patches as I do not fully understand the code yet. I'll have to look into it more.
I noticed a couple of things:
- The TCustomAudioFileAIFF.ReadSSNDChunk fix I pointed out earlier.
- The DataCoder InterleaveData, DeinterleaveData need a switch for Big-endian files. I noticed a ByteAlign property in the DataCoder but I'm not sure what it's for. Looks like it only affects scaling.
- ReadAudioDataFromStream functions need a check that audio data size isn't larger than the file size. I have some corrupt audio files on my hd and it can quickly run out of memory. It might also be good to be able to set a flag in OnDecode to cancel decoding.
- Would it be possible to add switch to not use assertions for audiofiles? Generally I find that it's best to be able to ignore 'bad' chunks if the important chunks are ok. Also it should behave well when assertions are off.
Thanks for making these great components. They do cover a lot. If I can be of any help please say so.
-
- KVRist
- 95 posts since 8 Jan, 2008 from norway
Does anyone know if the Lazarus/DLL problems has been sorted out yet?
FPC is version 2.4.4 afaik, but I don't want to dive on the pascal route if there's still trouble in that area..
edit: http://62.166.198.202/view.php?id=7182&nbn=13
FPC is version 2.4.4 afaik, but I don't want to dive on the pascal route if there's still trouble in that area..
edit: http://62.166.198.202/view.php?id=7182&nbn=13
-
- KVRAF
- 8389 posts since 11 Apr, 2003 from back on the hillside again - but now with a garden!
It looks like http://62.166.198.202/view.php?id=15126 provides an answer for doing it on windows..
I had a long look at reparenting on OSX some time back. Both Phil (as in macpgmr of XDev fame) and myself delved in, then about 8 or 9 months later found parts of it to be working fine.. test the LCL in DLL project on OSX to confirm whether it's truly resolved on mac platforms.
Alas, Delphi work has taken a massive downturn for me, working for clients wanting only C++. I miss the ease of Delphi.
I had a long look at reparenting on OSX some time back. Both Phil (as in macpgmr of XDev fame) and myself delved in, then about 8 or 9 months later found parts of it to be working fine.. test the LCL in DLL project on OSX to confirm whether it's truly resolved on mac platforms.
Alas, Delphi work has taken a massive downturn for me, working for clients wanting only C++. I miss the ease of Delphi.
-
- KVRist
- 95 posts since 8 Jan, 2008 from norway
Personally I actually like the C++ syntax better.. but the visual stuff is so timeconsuming that I'm gonna port stuff over to pascal/lazarus once it's working as it should..
-
- KVRist
- 95 posts since 8 Jan, 2008 from norway
I was bored and installed an old version of delphi (7) and downloaded the latest SVN repository, it installed fine and everything, but every project that uses the call effFlagsCanDoubleReplacing makes Reaper crash when loading the plugin.. It happens with the example projects also.. It's fine when its set to 'false' 
- KVRian
- 745 posts since 5 Jul, 2005 from Southern California
Hi Duncan,
Getting back to doing some Delphi after being tied up doing other projects and finally getting my Delph210 properly setup.
For the DelphiAsioVST setup what is the best way to setup the Library Path(s)?
I tried just referencing the root source path, which on my machine was:
D:\DevTools\D2010Addons\DelphiAsioVST\trunk\Source
but when I tried to compile a project it couldn't find all the DCU files until I added the subfolders.
Do I have to add every subfolder,
ASIO, DSP, FileFormats, GUI, Math, Modular, Plugin, SE, STK, VST?
Just seems like there should be a better way, maybe specify a separate folder for the DCUs or something.
...Steven
Getting back to doing some Delphi after being tied up doing other projects and finally getting my Delph210 properly setup.
For the DelphiAsioVST setup what is the best way to setup the Library Path(s)?
I tried just referencing the root source path, which on my machine was:
D:\DevTools\D2010Addons\DelphiAsioVST\trunk\Source
but when I tried to compile a project it couldn't find all the DCU files until I added the subfolders.
Do I have to add every subfolder,
ASIO, DSP, FileFormats, GUI, Math, Modular, Plugin, SE, STK, VST?
Just seems like there should be a better way, maybe specify a separate folder for the DCUs or something.
...Steven
-
- KVRAF
- 8389 posts since 11 Apr, 2003 from back on the hillside again - but now with a garden!
Hi Steven
Alas, I haven't used DAV for some time, and last installed it into D7; so memory is sketchy. However compiling DCUs to a single folder is a common way to resolve these sorts of issues, I've worked with a company who explicitly go this route, and it can make debugging build & dependency issues much simpler. The alternative is that you do have to add every sub-folder, as the Delphi compiler doesn't search the nest for files, only looking in the boxes told it's allowed to (if you'll forgive mixing metaphors).
The choice is up to you - generally I go for the latter myself, as I find the management of a project easier being able to see when things are missing. There are advantages and disadvantages to both approaches
DSP
Alas, I haven't used DAV for some time, and last installed it into D7; so memory is sketchy. However compiling DCUs to a single folder is a common way to resolve these sorts of issues, I've worked with a company who explicitly go this route, and it can make debugging build & dependency issues much simpler. The alternative is that you do have to add every sub-folder, as the Delphi compiler doesn't search the nest for files, only looking in the boxes told it's allowed to (if you'll forgive mixing metaphors).
The choice is up to you - generally I go for the latter myself, as I find the management of a project easier being able to see when things are missing. There are advantages and disadvantages to both approaches
DSP


