Search found 266 matches

by eriansa
Mon Sep 02, 2013 12:20 pm
Forum: Tricks 'n' Tips
Topic: PB Asio
Replies: 10
Views: 9593

Re: PB Asio

oryaaaaa wrote:Nice, thanks.
How output samples?
see procedure "BufferSwitchTimeInfo"
by eriansa
Wed Aug 21, 2013 9:16 am
Forum: Tricks 'n' Tips
Topic: PB Asio
Replies: 10
Views: 9593

PB Asio

Feel free to update the code to 5.20 (I still use 4.31)...

;:=============================================================================
;:- PB_Asio.pb
;:- Author : Eric Nassen (www.raxntrax.com) / (www.raxntrax.com/modulys)
;:- Date : August 21, 2013
;:- Compiler : PureBasic 4.31
;:- Target OS ...
by eriansa
Sun Aug 18, 2013 7:00 am
Forum: Coding Questions
Topic: Interfacing a _stdcall 32bit dll (Asio driver)
Replies: 7
Views: 1666

Re: Interfacing a _stdcall 32bit dll (Asio driver)

do you have a link to the libraries or their headers ?

I don't think I can post it publicly due to Steinberg's license agreement, but you can get the ASIO SDK from their website.

http://www.steinberg.net/en/company/developer.html

You can find a Delphi translation here : http://www.axiworld.be ...
by eriansa
Sun Aug 18, 2013 6:20 am
Forum: Coding Questions
Topic: Interfacing a _stdcall 32bit dll (Asio driver)
Replies: 7
Views: 1666

Re: Interfacing a _stdcall 32bit dll (Asio driver)

@idle
Thanks for your effort, but I am 100% sure it is a stdcall. Like I said it works without the C warpper on x64. The strange thing is, that on x86, a first call to a method works, but every second call (to the same or to another method) results in an invalid memory address. EAX is screwed ...
by eriansa
Fri Aug 16, 2013 10:08 am
Forum: Coding Questions
Topic: Interfacing a _stdcall 32bit dll (Asio driver)
Replies: 7
Views: 1666

Interfacing a _stdcall 32bit dll (Asio driver)

I can natively interface a 64 bit asio driver without a problem :D

I can also interface a 32 bit asio driver through a C wrapper dll : this dll simply exports the Asio functions as STDMETHODIMP. 8)
(STDMETHODIMP is a COM return type, which expands to HRESULT __export __stdcall. It's declared in ...
by eriansa
Fri Jul 12, 2013 8:37 am
Forum: Assembly and C Programming in PureBasic
Topic: 64bit ASM question
Replies: 1
Views: 3618

64bit ASM question

This is valid in 32Bit :

!use32
!push edi

But not in 64Bit. Why?

A workaround :

compilerif SizeOf(Integer)=8
!push rbp
!push rdi
CompilerElse
!push ebp
!push edi
CompilerEndIf
!mov eax,10
compilerif SizeOf(Integer)=8
!pop rdi
!pop rbp
CompilerElse
!pop edi
!pop ebp
CompilerEndIf ...
by eriansa
Tue Feb 26, 2013 4:01 pm
Forum: Feature Requests and Wishlists
Topic: PB5.1 X64 DLL
Replies: 4
Views: 1542

Re: PB5.1 X64 DLL

But i still dont see whats wrong with MMX state. XMM are SSE registers and dont have any reference to the FPU registers. So there is no EMMS needed.

Perhaps that part shouldn't be in "Feature Requests and Wishlists",
but there are a lot of DLL-Hosts that do not take responsability to reset the ...
by eriansa
Tue Feb 26, 2013 9:05 am
Forum: Feature Requests and Wishlists
Topic: PB5.1 X64 DLL
Replies: 4
Views: 1542

Re: PB5.1 X64 DLL

PB does not use any instruction set expansion.
So it does not return anything using MMX or XMM registers and it does not set up or reset MMX mode. Executing emms has to be done by the MMX code, not by a dll not using MMX.

Please read x64 cDecl calling conventions.

http://en.wikipedia.org/wiki ...
by eriansa
Sat Feb 23, 2013 11:48 am
Forum: Feature Requests and Wishlists
Topic: PB5.1 X64 DLL
Replies: 4
Views: 1542

PB5.1 X64 DLL

I've noticed that when a PB 64Bit DLL is called from a C/C++ program following happens :

- The FPU state is still in MMX mode
(one should call !Emms to make sure all float calculations are correct)

- Returning a Float from the DLL should be stored in MMX0
(instead of ProcedureReturn fFloat.f ...
by eriansa
Sun Sep 23, 2012 10:48 am
Forum: Coding Questions
Topic: What does UseGadgetList() exactly do?
Replies: 2
Views: 1107

Re: What does UseGadgetList() exactly do?

I know how to use UseGadgetList().
(I am programming computers for over 30 years...)

The question is what exactly does the asm statement

CALL _PB_UseGadgetList@4

do?

I mean what could be the reason for an IMA in that asm statement?

Surely I could post the sources. But you need to test it in ...
by eriansa
Sat Sep 22, 2012 5:41 pm
Forum: Coding Questions
Topic: What does UseGadgetList() exactly do?
Replies: 2
Views: 1107

What does UseGadgetList() exactly do?

Stupid question you think?

Well, I sometimes get an IMA on this function.
I've PM'ed Fred about this in a long mail. But didn't get any response.

So what I lke to know is what could be a reason for this IMA.

(the context is a VST-plugin (dll) that works in most DAW's but not in Reaper, this ...
by eriansa
Thu Aug 23, 2012 5:19 pm
Forum: Windows
Topic: Need Help to Implement VST in PureBasic
Replies: 23
Views: 30582

Re: Need Help to Implement VST in PureBasic

If it's any help, a LOT of synthedit vsti's crash reaper. A LOT of them. No one knows why.

They work in all other DAWs except Reaper.

I think you are focussing too much on one DAW when there are 20 others that work fine.

Perhaps you are right...Next week I'll have time to dig in deeper. If no ...
by eriansa
Tue Aug 21, 2012 12:40 pm
Forum: Coding Questions
Topic: VST Plugin Help
Replies: 5
Views: 3570

Re: VST Plugin Help

And RaxnTrax was made with PureBasic?

Is the source code available?

Mike

see http://www.purebasic.fr/english/viewtopic.php?f=5&t=12935&p=388469#p388469

BUT : the source code of RaXnTraX will not be released, it's a work of 7 years + more than 70000 lines of code.

As stated in above message ...
by eriansa
Tue Aug 21, 2012 12:32 pm
Forum: Windows
Topic: Need Help to Implement VST in PureBasic
Replies: 23
Views: 30582

Re: Need Help to Implement VST in PureBasic

Is the VST host mentioned here done or available? Like was asked, has anyone successfully created a VST with PureBasic?

Mike

Sure, the VST-Host is available for FREE -> http://www.raxntrax.com

Concerning the VST itself :

I've tested it in following hosts :
RaXnTraX : ok!
Mulab : ok ...