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
|
Many thx Mr Radio42 ! Hope I have it easily translated to my out of the ark visual basic version  [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]
|
Reply
Quote
|
|
|
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++  Maybe someone else can help? The BASS_VST API itself is documented in bass_vst.h. Best regards, Bjoern Hi Bjoern and all  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 !
|
Reply
Quote
|
|
|
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.
|
Reply
Quote
|
|
|
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: 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  ! Thanks again Ian, you're always there to help, even in VB ! congratulations! Best regards from France Art.
|
Reply
Quote
|
|
|
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 ?)
|
Reply
Quote
|
|
|
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.
|
Reply
Quote
|
|
|
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.
|
Reply
Quote
|
|
|
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 !  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 !
|
Reply
Quote
|
|
|
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 ...
|
Reply
Quote
|
|
|
53
|
Developments / BASS / Re: DSPProc in VisualBasic (VB6)
|
on: 16 Jun '08 - 18:31
|
Hi Ian  Always here to lend a hand, you're incredible  So am I, incredible not to look further in the examples you specially wrote for us. Shame on me  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  Thanks for still writing politly after all my stupid questions  Best regards, keep on your very good work ! Arthur.
|
Reply
Quote
|
|
|
54
|
Developments / BASS / [Solved] DSPProc in VisualBasic (VB6)
|
on: 16 Jun '08 - 09:25
|
Hi every one  ! 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  ! 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.
|
Reply
Quote
|
|
|
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 ?
|
Reply
Quote
|
|
|
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 !
|
Reply
Quote
|
|
|
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  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 !!!
|
Reply
Quote
|
|
|
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.
|
Reply
Quote
|
|
|
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.
|
Reply
Quote
|
|
|