Author Topic: SampleDisplay3D.dll beta  (Read 2732 times)

3delite

  • Posts: 895
SampleDisplay3D.dll beta
« on: 3 Mar '08 - 17:59 »
Hi!

I put together a .dll for any developer environment from TSampleDisplay3D.
It's in beta stage, replies are wellcome.



A component for use in Win32 (9x/ME/2K/XP/Vista) software. It's purpose is to provide the most powerful and efficient (yet easy to use), 3D sample functions like displaying the sample in 3D with configurable colors, automatic support for ID3v2 SESC, making a selection, zooming, quick-playing from click, configurable selection playback repeat count, edit and create Subsong seekpoints, etc. all on a powerfull Direct3D display.

See the homepage for more information.

The package is under "Sample Display 3D Library" in the download archive (3MB).

It's new and under development. Looking for beta testers.

3delite

Wishmaster

  • Posts: 149
Re: SampleDisplay3D.dll beta
« Reply #1 on: 17 Mar '08 - 06:18 »
Hi

I like what you are trying to create. But the interface is not very efficient.
It would be easier/powerful when you do it like the rest of the bass_???.Dll's

For Example

    Channel:= BASS_StreamCreateFile(..., BASS_STREAM_DECODE or ?) or
             BASS_Mixer_StreamCreate(..., BASS_STREAM_DECODE or ?) Maybe
             BASS_RecordStart();
   
   
    SampChan:= SampleDisplay3D_Create(...., Channel);

        SampleDisplay3D_Render(SampChan) or SampleDisplay3D_Start(SampChan)
   SampleDisplay3D_Pause(SampChan);
   SampleDisplay3D_Stop(SampChan);
   
   Flag
    SAMPLE_Progress
    SAMPLE_START
    SAMPLE_END
    ?.
   
   SampleDisplay3D_GetPosition(SampChan, Flags) : int64;

   use it like
         start:=  SampleDisplay3D_GetPosition(SampChan, SAMPLE_START);
    length:= SampleDisplay3D_GetPosition(SampChan, SAMPLE_END);
   
    Mixer:= BASS_Mixer_StreamCreate(44100, 2, BASS_SAMPLE_FLOAT or BASS_STREAM_DECODE);
    BASS_Mixer_StreamAddChannelEx(mixer, channel, 0, start, length); // add the channel
   
    BASS_Encode_Start(mixer, 'Filename.wav', BASS_ENCODE_PCM or BASS_ENCODE_FP_32BIT);

   
      
   There is a lot of unnecessary code which unnecessarily increases the size of the dll, like
   
   StreamSaveWAV        << use bassenc.dll
   StreamSaveWAV32
   StreamLoadCUE
   StreamSaveCUE
   ID3v2 Stuff
   DecodeUnicode
   NGetFileSize
   
   
   Feature request:
     live (spectrum3D, Oscilloscope3D, ...?) like in ...\delphi\SampleVis
   
   
   PS.    
    You could rename the dll to Bass_SampleDisplay3D ;)



Thanks!

3delite

  • Posts: 895
Re: SampleDisplay3D.dll beta
« Reply #2 on: 19 Mar '08 - 13:46 »
Thanks for the reply!

I am afraid only streams that have a lenght are supported, so can't be used on a recording channel.
Made some modifications and updated the archive.

I made another component (yet Delphi only) based on your suggestion. ;)
TSpectrum3D component for Delphi

3delite