19 Jun '13 - 06:22 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
  Home Help Search Login Register  
  Show Posts
Pages: 1 2 [3] 4 5 ... 7
41  Developments / BASS / Re: BASS_VST 2.4.0.5 - available for download on: 6 Nov '08 - 14:34
The .Net wrapper for the VST add-on (and also for all other BASS stuff/add-ons) is already available for a long long time ;-)
See BASS.NET here: http://www.un4seen.com/bass.html#apis

Many thx Mr Radio42 !

Hope I have it easily translated to my out of the ark visual basic version  Grin

[EDIT]
I downloaded your package, but I don't have .Net !
I thought I could find wrapper for BASS_VST in a plain .bas file, somewhere ... But I could only see a dll and help files.

Where are the sample codes and so on hidden ?

From what I can see now, I think your files are of no use for me then, too bad :-(

May be I didn't read the right documentation.
Please help if I misunderstood something. Thx !!!
[/EDIT]
ReplyReply Reply with quoteQuote
42  Developments / BASS / Re: BASS_VST 2.3.0.4 - available for download on: 6 Nov '08 - 13:52
Hi Bjoern,
How do I use BASS_VST in VB6-in particular to load a VST?
Hello aafuss,
sorry, I do not know more about VB6 than the fact, that it is possible to access external DLLs written in C/C++ Smiley
Maybe someone else can help? The BASS_VST API itself is documented in bass_vst.h.
Best regards,
Bjoern

Hi Bjoern and all  Smiley

I was looking for user plugable effects, searched for LADSPA import and finally saw this excellent thread, Thanks Bjoern !

I can insure you, VB6 does run with BASS dlls which are written in C/C++, I think.
So there shouldn't be any problem to write down a similar wrapper for your VST interface.

Did any one made it happen ?
I don't know anything about .Net but may be .Net wrapper may perhaps be easily adapted ...

What about VB6 sample code ?
Yes, asking for lots of things, but if anyone did the trick, I'd love not to reinvent the wheel ...

Thanks in advance !
ReplyReply Reply with quoteQuote
43  Developments / BASS / LADSPA plug-in effects in BASS ? on: 5 Nov '08 - 10:35
Hi Ian & all ...

Did you hear about LADSPA plugins ?
As far as I understood, they are developped for Linux environment, but some are available for Audacity, under Windows OS.
Some clues here.

Did someone ever developped some (DSP ?) interface to use them within BASS ?

As I didn't see if it could be real-time (Audacity needs me to select a wave region and then apply plugin effect to it), do you think it is worth trying to implement ?

Thx for your advice.
ReplyReply Reply with quoteQuote
44  Developments / BASS / Re: [BassMidi] BASS_MIDI_FontGetPreset to a VB string on: 24 Oct '08 - 14:17
The VBStrFromAnsiPtr function should do the trick, something like this...
Dim preset As String
preset = VBStrFromAnsiPtr(BASS_MIDI_FontGetPreset(...))

I didn't read it, it was in your bassmidi.txt file though:
Quote
For the BASS functions that return strings (char*), VB users should use the VBStrFromAnsiPtr function to convert the returned pointer into a VB string.

Shame on me  Embarrassed !

Thanks again Ian, you're always there to help, even in VB ! congratulations!

Best regards from France
Art.
ReplyReply Reply with quoteQuote
45  Developments / BASS / [BassMidi] BASS_MIDI_FontGetPreset to a VB string on: 23 Oct '08 - 20:47
Hi,

got a small problem,

When I call BASS_MIDI_FontGetPreset, it returns a 8 digits number in my tests, I'd like it to tell me "Piano" instead ;-)

Did anyone write the exact syntax to make this function work in VisualBasic (VB6) ?

Thx in advance !
ReplyReply Reply with quoteQuote
46  Developments / BASS / Re: Get effective lyric only on: 23 Oct '08 - 20:40
Hi,

Just to tell my own story :

When I find several tracks containing lyrics or text, when the user wants me to decide, I take the track which got the longer text (may be you could count the maximum of text/lyrics events ?)
ReplyReply Reply with quoteQuote
47  Off Topic / General Discussion / Re: Classical MIDIs on: 8 Oct '08 - 12:39
Hi !

When I listen to the same midi file with different soundfonts, I'm afraid Chorium's piano is to dark.

I prefer ConcertGM0.97 at http://www.fh-merseburg.de/~cmeironk/Soundfonts/ConcertGM0.97test3.exe

If I want piano only soundfont, I choose Maestro at http://sonimusicae.free.fr/matshelgesson-maestro-en.html I converted from Giga to SF2.

The latter one is almost 900MB ... So you understand I use it for piano only files  Wink
ReplyReply Reply with quoteQuote
48  Developments / BASS / Re: Bug? in BASS_SetVolume on: 3 Oct '08 - 12:26
Hi,

If you tell us it sometimes works, I can't figure how, but I must be wrong ...

Please help me pointing out what I wrote wrong above ...
I was almost certain about this.

Thanks,

Regards,
Arthur.
ReplyReply Reply with quoteQuote
49  Developments / BASS / Re: [Almost solved] BASS_ChannelSetSync with BASS_MIDI_StreamEvent has no effect on: 29 Sep '08 - 13:07
Thank you very much Ian, I didn't see this parameter combination,
It does work, mix time is close enough to hear no variations !

Very well thought !

10,000 Thx !
ReplyReply Reply with quoteQuote
50  Developments / BASS / Re: Bug? in BASS_SetVolume on: 29 Sep '08 - 09:23
Hi,
I just wanted to tell you there is a potential error when you write
Vol := Value / 255;
In most programming languages, when Value is declared as an integer, the operation Value / 255 is computed on integer basis, even if Vol is FLOAT
So if you wished Value to grow from 0 to 255, the only value that'd lead to hear something is 255, then Vol = 1, every other value below 255 would lead to Vol = 0.

What I would suggest to you is to double step your calculations, for example :
Vol := Value;
Vol := Vol / 255;

Or even simpler than this : make 255 a FLOAT value :
Vol := Value / 255.0;

Hope this helps,
Regards,
Arthur.


ReplyReply Reply with quoteQuote
51  Developments / BASS / [Almost solved] BASS_ChannelSetSync with BASS_MIDI_StreamEvent has no effect on: 28 Sep '08 - 19:52
Hi Ian and all !

Still in my slowly growing VB6 project.

I'd like to override a CC.

Say, even if midi file says whatever Volume value, I send a BASS_MIDI_StreamEvent with Value=100

Here are some code :
First of all, I set a Sync on the Volume CC Event :
Call BASS_ChannelSetSync(chan, BASS_SYNC_MIDI_EVENT, MIDI_EVENT_VOLUME, AddressOf EventSync, 1)

Later, when the event strikes, this code is executed (modified for comprehension) :
Public Sub EventSync(ByVal handle As Long, ByVal channel As Long, ByVal data As Long, ByVal user As Long)
Dim midichan As Integer ' midi channel (0 to 15) the event belongs to
midichan = data \ 65536 ' midi chan # is in high word
BASS_MIDI_StreamEvent handle, midichan, MIDI_EVENT_VOLUME, 100 ' override !
End Sub

Could you tell me why I still hear volume variations (I built up a graphic gauge to see what comes in and comes out my EventSync proc : input event grow from 10 to 120 then downs back to 0, I can exactly hear this at output) ?

Anyone has already overrideen any CC using this method ?

Please post some code that works ...

Ian, what am I doing wrong ? Didn't you tell me this was the way to change CC values ?

Thanks for your answer !

As an attachment, there is a midi file with which I made tests, midi chans 0 to 7 are growing then 4 to 7 are lowered down to 0, in the first 30 seconds.



Posted on: 28 September 2008, 17:29:51
Hi,

It's me again,

I put a test on the BASS_MIDI_StreamEvent function returned value : False :-(
So I though that, maybe, handle is not a good parameter for this function to work, so I put chan
BASS_MIDI_StreamEvent chan, midichan, MIDI_EVENT_VOLUME, 100 ' override !
and it works ... almost

the function doesn't return False any more, the volume is reset to 100 every time a BASS_EVENT_VOLUME arises.

But too late !
You can hear the signal volume varying heavily between the moment it is set to 0 by the file and the moment it is reset to 100 by BASS_MIDI_StreamEvent then between it and the next MIDI_EVENT_VOLUME from the file, it's awful !!!

As you told earlier, when you tried to exchange notes in the drum part, emitting a zero velocity (note-off) when receiving a "to-delete" note-on is not working because the note is already played and the release slope is already active.

Once again Ian, I do need midi filtering before you apply events !

Pleaaaaaaaaase !  Cry

Thx a lot !

[EDIT] : Yes, I know, the answer is elsewhere ...
Yes, I'll try to learn how to read and patch a midi file and submit it through memory.
Don't bother, I've work to do !

Same thing applies to SoundFont management, if I want my user to select a SoundFont per midi channel, I'll have to deal with SF2 format, patch Bank#, I think ...

You've made a great work, I just wished you'd make mine too ;-)

Seriously, some midi and soundfont manipulations would be great, Ian !
ReplyReply Reply with quoteQuote
52  Developments / XMPlay / Re: Fermata in midi files do not play correctly on: 29 Jul '08 - 11:33
Hi,

Sorry this is not an answer to your question but a question about it :

Fermata, as you call it, seems to be a sheet notation.

It seems to me that it must be translated to a midi event by a sheet-to-midi converter before XMPlay or other midi software may play it ...

If I am wrong, would you please link me to the Fermata midi event description ?

Thanks in advance.

Best regards ...
ReplyReply Reply with quoteQuote
53  Developments / BASS / Re: DSPProc in VisualBasic (VB6) on: 16 Jun '08 - 18:31
Hi Ian  Cheesy

Always here to lend a hand, you're incredible  Grin

So am I, incredible not to look further in the examples you specially wrote for us. Shame on me  Embarrassed

So the solution is to copy the whole block, with the Windows API.

First time to the working area, then back to the buffer you gave us ...

So obvious  Wink

Thanks for still writing politly after all my stupid questions  Cheesy

Best regards, keep on your very good work !
Arthur.


ReplyReply Reply with quoteQuote
54  Developments / BASS / [Solved] DSPProc in VisualBasic (VB6) on: 16 Jun '08 - 09:25
Hi every one  Smiley !

Ian told me to implement DSPProc in order to fade while encoding.

It is very simple : a buffer pointer is passed to the DSPProc for it to modify the values before they are sent to the encoder.

But, as it is really simple in C, because C easily deals with pointers, when you try to code it in VB, there is something lacking : pointers  Cry !

So I tried to implement memory copy calls with Windows API ...
It doesn't work, surely because of time taken, for I may not do anything else than copy a pair of samples from buffer, multiply their value with the actual FadeVol value and then copy them back to the buffer, and iterate through the length of the buffer.

Has anyone got DSPProc working in VB ?

Is there a solution mixing C and VB, if yes, how did you manage to make this work ?

Thank you for any help.

Regards,
Arthur.

ReplyReply Reply with quoteQuote
55  Developments / BASS / Re: [Solved] Encode after start and before end of play on: 13 Jun '08 - 12:20
You are true, Ian !

Thank you for pointing out an issue I didn't event thought of, for I did not try this when encoding.
It was working when playing, though ...

So DSP will be THE solution.

Thanks again for your very precise support.
ReplyReply Reply with quoteQuote
56  Developments / BASS / Re: dsp on 24bit when recording on: 26 May '08 - 07:12
Hi, just a newbie question,
when you write
Sample.a2 shl 16
does the compiler know it must put the result in a wider temporary storage location ?
or does it shift your value 'til it equals to 0 whatever it was before ?
ReplyReply Reply with quoteQuote
57  Developments / BASS / [Solved] Encode after start and before end of play on: 25 May '08 - 07:31
Hi Ian & All,

Finally, I does work like a charm !
Here is the whole trick : (chan is a global var)

    ' Set CueIn point, no FadeIn
    Call BASS_ChannelSetPosition(chan, BASS_ChannelSeconds2Bytes(chan, CueIn), BASS_POS_BYTE) ' CueIn is 8.32 (seconds)
   
    ' Set CueOut Point, with FadeOut
    Call BASS_ChannelSetSync(chan, BASS_SYNC_POS, BASS_ChannelSeconds2Bytes(chan, CueOut), AddressOf FadeOut, 0) ' CuetOut is 182.7 (seconds)
   
    ' Set Start Volume
    Call BASS_ChannelSetAttribute(chan, BASS_ATTRIB_VOL, 1)
       
    Call BASS_ChannelPlay(chan, BASSFALSE)

Here is my FadeOut callback : How simpler could it be ?
Public Sub FadeOut(ByVal handle As Long, ByVal channel As Long, ByVal data As Long, ByVal user As Long)
    Call BASS_ChannelSlideAttribute(chan, BASS_ATTRIB_VOL, 0, FadeOut_ms) ' FadeOut_ms is 5000
    Call BASS_ChannelSetSync(chan, BASS_SYNC_SLIDE, 0, AddressOf EndSync, 0)
End Sub

And in my EndSync callback, among other things, there is a line like this one :
    Call BASS_ChannelStop(chan) ' stop stream

I didn't want to deal with DSP before trying BASS_ChannelSlideAttribute.
This function is perfect (for what I wanted to do)

Thanks again Ian, That was exactly what I needed !
ReplyReply Reply with quoteQuote
58  Developments / BASS / Re: Encode after start and before end of play on: 24 May '08 - 11:12
Hi Ian,
Thank you for your words.

Everything seems so simple when you answer my (stupid) questions  Wink

I set a sync at the end point minus fade out time;
I seek to start, I launch encode and play, no need to fade in as no instrument was playing, you are true;
At sync pos, I begin DSP fading out;
When my dsp slope is null, I can stop encoding and playing.
That's so obvious !

By the way, I will work with stereo 16 bit samples, so my DSP buffer will be 4 bytes wide, I was wondering what if I was using floating point ... I'll have look to DSP processing, this is VERY interesting and amazing.

Once again, Ian, Thank you VERY much !!!
ReplyReply Reply with quoteQuote
59  Developments / BASS / Re: How to use Lame on: 23 May '08 - 13:42
Hi,

Sorry you didn't get answers ...
I don't use Lame class, I use exe one with BassEnc, it does work.

But what I see is that you put input file to "test.mp3" and output to stdout ...
Shouldn't it be the inverse, for you want to produce the test.mp3 file don't you ?
So I would have written
lame.InputFile = ""; //STDIN
lame.OutputFile = "test.mp3"; //STDOUT

Hope This Helps,
Sorry if my answer is out of sync ;-)

Arthur.
ReplyReply Reply with quoteQuote
60  Developments / BASS / [Solved] Encode after start and before end of play on: 23 May '08 - 07:20
Hi Ian & all,

I didn't succeed searching the forum, please apologize if the answer is already there :

I'd like to encode a (rendered midi) stream, but nor from the start to the end, some time after the beginning and stop encode some other time before the ending (or some other other time after start of encoding)
The problem is that I can't figure what to do with the stream before it is encoded.
Furthermore, I'd like to make sure the moment I begin to encode is not "the top of the wave" so there is no click at the begining or at the end of the file, so I thought of including BASS_ChannelSlideAttributes for fading in and another one for fading out.

So, I'd like to BASS_ChannelSetSync encode_start_time and BASS_ChannelSetSync encode_end_time, include BASS_ChannelSlideAttributes at these times from a BASS_MIDI_StreamCreateFile created stream ...

If anyone did the trick, I'd like to see how bricks fit one each other ...

Thanks in advance ...

Regards from France.

ReplyReply Reply with quoteQuote
Pages: 1 2 [3] 4 5 ... 7
Powered by SMF 1.1.18 | SMF © 2013, Simple Machines