Current version

v1.10.4 (stable)

Navigation

Main page
Archived news
Downloads
Documentation
   Capture
   Compiling
   Processing
   Crashes
Features
Filters
Plugin SDK
Knowledge base
Donate
Contact info
Forum
 
Other projects
   Altirra

Search

Calendar

« September 2014
S M T W T F S
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

Archives

01 Dec - 31 Dec 2013
01 Oct - 31 Oct 2013
01 Aug - 31 Aug 2013
01 May - 31 May 2013
01 Mar - 31 Mar 2013
01 Feb - 29 Feb 2013
01 Dec - 31 Dec 2012
01 Nov - 30 Nov 2012
01 Oct - 31 Oct 2012
01 Sep - 30 Sep 2012
01 Aug - 31 Aug 2012
01 June - 30 June 2012
01 May - 31 May 2012
01 Apr - 30 Apr 2012
01 Dec - 31 Dec 2011
01 Nov - 30 Nov 2011
01 Oct - 31 Oct 2011
01 Sep - 30 Sep 2011
01 Aug - 31 Aug 2011
01 Jul - 31 Jul 2011
01 June - 30 June 2011
01 May - 31 May 2011
01 Apr - 30 Apr 2011
01 Mar - 31 Mar 2011
01 Feb - 29 Feb 2011
01 Jan - 31 Jan 2011
01 Dec - 31 Dec 2010
01 Nov - 30 Nov 2010
01 Oct - 31 Oct 2010
01 Sep - 30 Sep 2010
01 Aug - 31 Aug 2010
01 Jul - 31 Jul 2010
01 June - 30 June 2010
01 May - 31 May 2010
01 Apr - 30 Apr 2010
01 Mar - 31 Mar 2010
01 Feb - 29 Feb 2010
01 Jan - 31 Jan 2010
01 Dec - 31 Dec 2009
01 Nov - 30 Nov 2009
01 Oct - 31 Oct 2009
01 Sep - 30 Sep 2009
01 Aug - 31 Aug 2009
01 Jul - 31 Jul 2009
01 June - 30 June 2009
01 May - 31 May 2009
01 Apr - 30 Apr 2009
01 Mar - 31 Mar 2009
01 Feb - 29 Feb 2009
01 Jan - 31 Jan 2009
01 Dec - 31 Dec 2008
01 Nov - 30 Nov 2008
01 Oct - 31 Oct 2008
01 Sep - 30 Sep 2008
01 Aug - 31 Aug 2008
01 Jul - 31 Jul 2008
01 June - 30 June 2008
01 May - 31 May 2008
01 Apr - 30 Apr 2008
01 Mar - 31 Mar 2008
01 Feb - 29 Feb 2008
01 Jan - 31 Jan 2008
01 Dec - 31 Dec 2007
01 Nov - 30 Nov 2007
01 Oct - 31 Oct 2007
01 Sep - 30 Sep 2007
01 Aug - 31 Aug 2007
01 Jul - 31 Jul 2007
01 June - 30 June 2007
01 May - 31 May 2007
01 Apr - 30 Apr 2007
01 Mar - 31 Mar 2007
01 Feb - 29 Feb 2007
01 Jan - 31 Jan 2007
01 Dec - 31 Dec 2006
01 Nov - 30 Nov 2006
01 Oct - 31 Oct 2006
01 Sep - 30 Sep 2006
01 Aug - 31 Aug 2006
01 Jul - 31 Jul 2006
01 June - 30 June 2006
01 May - 31 May 2006
01 Apr - 30 Apr 2006
01 Mar - 31 Mar 2006
01 Feb - 29 Feb 2006
01 Jan - 31 Jan 2006
01 Dec - 31 Dec 2005
01 Nov - 30 Nov 2005
01 Oct - 31 Oct 2005
01 Sep - 30 Sep 2005
01 Aug - 31 Aug 2005
01 Jul - 31 Jul 2005
01 June - 30 June 2005
01 May - 31 May 2005
01 Apr - 30 Apr 2005
01 Mar - 31 Mar 2005
01 Feb - 29 Feb 2005
01 Jan - 31 Jan 2005
01 Dec - 31 Dec 2004
01 Nov - 30 Nov 2004
01 Oct - 31 Oct 2004
01 Sep - 30 Sep 2004
01 Aug - 31 Aug 2004

Stuff

Powered by Pivot  
XML: RSS feed 
XML: Atom feed 

§ Learning DirectSound and audio with more than 2 channels

About a week ago, I acquired a Creative Labs Audigy 2 ZS Notebook card, partly out of the need to do some testing with 24-bit audio support, and partly due to disdain for the wonderfully fancy AC97 codec in my laptop. As far as I can tell, it has essentially the same feature set as a regular Audigy 2 ZS, including the EMU10K2-based effects engine and the separate 24-bit/96KHz support chip. It has a single headphone port on the side that doubles both for a regular wired connection and an optical output. An unexpected feature, however, is that if you don't plug anything into the Audigy 2 ZS Notebook, its drivers can take the output of the effects engine and push it through your regular sound card. The latency is a bit high, but this means that I can get EAX environmental effects through the onboard speakers. Also, the built-in sound card's mixer and the Audigy 2's mixer are both active, so I can set the built-in one's mixer such that the volume control that most programs see has a normal range instead of loud to extremely loud to ear-shatteringly loud. Neat.

Now, I had another agenda with getting this card, and that is to try a surround-sound hack. The idea was to use the "center cut" algorithm to split the center audio from the sides and run two speakers with the side audio and one or two more in front with the center audio. (With major help from Moitah on the forums, the algorithm has been improved -- the new version will appear in 1.7.0.) In order to do this, however, I needed to output sound with more than two channels, which I had never done before. I figured that while I was mucking around with this I might as well learn DirectSound as well.

The surround-sound hack sounded terrible, but DirectSound turned out to not be as bad, and it was interesting learning about the current state of the Windows sound system.

(Read more....)

§ "Word mark," again

While not yet resolved, the situation with the word mark in Germany becomes stranger. (part 1, part 2)

First, Mr. Kliemen sent a response back to the letter sent by a lawyer on my behalf. In it, he restates that he believes himself to be the rightful owner of the mark, due to having registered it, regardless of prior use. He also states that there is no conflict with me since I am in the USA and the mark is German. (Threatening my users changes that.) More strangely, however, he then offers to license it freely to me, as long he retains the mark -- an offer of dubious worth which I have refused -- and then proceeds to accuse my lawyer of acting without authorization and of attempted fraud. Mr. Kliemen will be surprised to learn soon that Mrs. Stumpf has signed correspondence from me authorizing her actions.

Incidentally, in case there is still doubt, Mrs. Stumpf has advised that anyone having received a warning letter in this regard should not pay Mr. Kliemen. I apologize to everyone for not offering such reassurances earlier. This is, of course, not official legal advice and anyone involved should discuss this with his own lawyer, but I have not heard a lawyer recommend otherwise.

Second, in the previous post, someone noted that the German Patent and Trademark office online database now lists the VIRTUALDUB word mark as having an opposition motion in progress. This confused me somewhat, as I had just started preparing for my own challenge on bad-faith grounds. Well, I asked Mrs. Stumpf to look into the matter -- the automated translation of the notice certainly wasn't any clearer to me -- and it turns out that the cancellation request was filed by the Office itself! Apparently, the Examiner received over a hundred complaints and has directly started a cancellation motion. More information is supposed to be forthcoming in about three months, but this is good news. In the meantime, I am preparing for possibly filing for a preliminary injunction against Mr. Kliemen to prevent him from sending any more warnings.

So, it looks like a resolution to this issue will be coming soon. I hope this news is of some relief to those who have been directly affected by Mr. Kliemen's actions.

(Read more....)

§ Why don't I drop Windows 98 support?

A while back, someone asked why I don't simply drop Windows 98/ME support altogether.

The reason is, simply, that I don't yet have to.

For the most part, the rule for making a program compatible with down-level operating systems is as follows: don't use functionality that isn't available. I claim that this isn't that hard. If all you need is to call GetLongPathName(), simply check for the entry point using GetProcAddress(), and if it isn't present, emulate or stub it. It's poor style to fail to load on Windows 98 just because you called GetModuleAddressEx() in one spot. Using Unicode entry points can be a problem, since very few functions have their Unicode versions supported on Windows 95/98/ME, but UNICOWS, the Microsoft's Unicode API emulation layer, is available for that if you want to take the easy route.

Now, there are a couple of good justifications for dropping Windows 95/98/ME support. One is memory: if you require at least 1GB of memory, you might as well drop 9x support, because there are very few stable 9x systems out there with that much RAM due to a kernel address space problem with the default cache behavior. The second is testing -- the share of 9x systems out there is minimal at this point, and in commercial development, it probably isn't worth the cost of testing those platforms. If you don't test those platforms, you might as well not support them at all, because you won't be able to state with confidence that it will run on 9x platforms or devote real development time to fix any problems that are found anyway. On an open-source project with less formal development/release/testing processes, however, there are fewer excuses.

In VirtualDub's case, there are also more specific circumstances in which it would be very annoying not to be able to run on 9x platforms. Some video capture devices never made the transition successfully to the NT driver model, and thus are permanently stranded. Other devices performed better under 9x, at least at one time. Finally, there are some perfectly good 9x systems out there that can't make the jump to XP, either due to general lack of drivers, or due to memory; VirtualDub and Windows 98 will run comfortably in 96MB of memory, but you would have to be insane to run Windows XP on that much. I see being able to run on these down-level platforms as a distinctive feature.

(Read more....)