-
pfxteam ブログに .NET 4 Beta 2 での TPL の更新について3+1回で紹介されています。
-
Visual Studio 2010 & .NET 4 Beta 2 の日本語版が MSDN Subscription で公開されました。それに伴い、MSDN Library のドキュメントも Beta 2 に更新されています。
.NET Framework 4 の並列プログラミングのタイトル“Parallel Programming in the .NET Framework” は「.NET Framework でのプログラミングを並列します」から「.NET Framework で並列プログラミング」になっています。
-
Codeplexに、WPFでの MVVM パターンの実装を容易にする WPF Starter Kit が公開されています。これは US Microsoftのコンサルタントが開発しており、以下の内容が含まれています。
- View/ViewModel間の明確なナビゲーションを可能にするナビゲーション フレームワーク
- ViewModelどおしのデータ渡しのサポート
- 汎用的な例外処理
- UI スレッドでの長期実行操作のサポート
ダウンロードページに解説用のPPTもあります。
-
スレッドセーフでロックフリーのデータコレクション(同時実行コンテナ)concurrent_queueとconcurrent_vector は、PDC 08で紹介されていましたが、Visual Studio 2010 Beta 1 には実装されていませんでした。
Parellel Programming for Native Code ブログ「What’s new in Beta 2 for the Concurrency Runtime, Parallel Pattern Library and Asynchronous Agents Library」によると、Beta 2 にはこの2つのコンテナが入っているとのことです。
このブログではそれ以外の Beta 2 での更新内容(デバッグ、ドキュメント、task_groupなど)も紹介されています。
-
.NET Framework 4 Beta 2 ドキュメント(英語)がオンラインで公開されています。WPF 4 のコンテンツもこの中にあります。
“Controls” の章はかなり更新されています。どうやって既存のコントロールをカスタマイズするかという内容が追加されており、”Control Customization” の項目もあります。Controls の目次は以下の通りです。
- Controls Overview
- Walkthroughs: Create a Custom Animated Button
- Control Library
- Control Customization
- Controls by Category
- WPF Content Model
WPFのコントロールはStyleやControlTemplateなどを使ってかなりカスタマイズできるのですが、これまであまりドキュメント化されていなかったので、その習得に時間がかかりました。
Beta 2 でも機械翻訳かもしれませんが、日本語版が出るのが楽しみです。
-
code.msdnで公開されている 並列プログラム サンプル for .NET 4 がベータ2用に更新されました。サンプルの数も倍増しており、「食事する哲学者」などが追加されています。
-
MSDNマガジン9月号日本語版にVS2010の並列デバッガーの記事が載っています。この号のいくつかの記事は機械翻訳ですが、幸いなことにこの記事は人間翻訳のようです。レイアウトが崩れいているところがあるのが、残念ですが...
VS2010の新機能である並列タスク ウィンドウと並列スタック ウィンドウの使い方が解説されています。
.gif)
.gif)
-
CodePlexにSilverlight Toolkit (October 2009)が公開されました。以下の機能が追加されています。
- Visual Studio 2010 Beta2でのデザイン用のメタデータ
- ドラッグ&ドロップ(詳細)
- グラフの改善(詳細)
このツールキットには以下のコントロールが含まれています。
| SDKに含まれているものAutoCompleteBox Calendar ChildWindow DataGrid DataPager DatePicker GridSplitter HeaderedItemsControl TabControl TreeView | 安定版 DockPanel Expander HeaderedContentControl Label NumericUpDown Viewbox WrapPanel |
| プレビュー版 Accordion Charting DataForm DomainUpDown ImplicitStyleManager LayoutTransformer Rating TimePicker TimeUpDown 11 のビジュアルテーマ | 実験版 GlobalCalendar TransitioningContentControl TreeMap Drag and Drop support for items controls |
-
VS2010 & .NET 4 Beat2 英語版が MSDN サブスクリプションで公開されました。日本語版も近々公開される予定のようです。
VS2010 のエディションは新しく次のエディション名になりました。Officeみたいですね。
- Microsoft Visual Studio 2010 Ultimate with MSDN
- Microsoft Visual Studio 2010 Premium with MSDN
- Microsoft Visual Studio 2010 Professional with MSDN
【追記】ダウンロードセンターからもダウンロードできるようになりました。詳しくはVS2010のページ(英語)。
-
WPF 4 テキスト&レイアウトの新機能がWPF Text ブログに公開されています。現在のところ以下のような内容が公開されています。
-
10月21日(水)に札幌イノベーション ディ 2009が東札幌の「札幌市産業振興センター」で開催されます。私も以下の2つの内容で講演させていただきます。
『Windows 7のユーザー エクスペリエンス』
概 要
Windows 7のデスクトップには、マルチタッチや新しいタスクバーなどの新しいユーザー エクスペリエンスが搭載されています。本講演では、これらの新しいユーザー エクスペリエンスの詳細を解説するとともに、先日公開されたWindows ユーザー エクスペリエンス ガイドラインを紹介します
『RIAプラットフォーム Silverlight 3と
オーサリング ツール Expression Blend 3 の紹介』
概 要
マイクロソフトの RIA プラットフォームである Silverlight 3 の、メディア・グラフィックスに追加された新機能および新しいOut of Browser機能を解説するとともに、そのオーサリングツール Expression Blend 3に搭載されたプロトタイピング機能 SketchFlowを利用した画面設計プロセスを紹介します。
-
CESA ゲーム開発技術ロードマップが公開されました。現在ゲームに使われている技術と、数年後に使われるであろう技術項目をリストして、ゲーム開発者だけではなく研究者や学生と議論するベースとなるたたき台となるものであり、内容は毎年見直すとのことです。
以下の5つの分野の内容が公開されています。これらの項目を見るだけで現在のゲームがいかにさまざまな技術が統合されてできているかがわかりますね。
- プログラミング分野
- プログラミング一般
- コンピューター グラフィックス
- AI
- 物理
- アニメーション
- ビジュアルアーツ分野
- レンダリング
- アニメーション
- グラフィック デザイン
- オーサリング プロダクション
- ゲームデザイン分野
- ゲームシステム
- 生産性と品質の向上
- 気にしなければならない周辺技術
- サウンド分野
- DSP
- シンセサイズ、波形生成、音声合成、音声解析
- オーサリング環境、圧縮フォーマット
- ネットワーク分野
- 個人所有データの概念の拡大
- P2P利用とリソース共有
- Web技術を取り入れたネットワーク環境の構築
- ゲーム コミュニティ統合
-
WPF の MediaElementには SpeedRatio プロパティがあるので再生速度の変更(早送り)が可能です、また再生速度については MediaClock や MediaTimeline を見ることもできます。しかし、Silverlight の MediaElement にはそのようなプロパティがなく、再生速度の調整はできません。
しかし Silverlight の MediaElement にも Position プロパティはあるので、メディア ファイルが正しくロードされていれば、任意の位置に移動できます。任意の位置に移動するとその位置での静止画が表示されます。
Silverlight ビデオ早送りのアイデアは、DispatcherTimer で100ミリ秒ごとにコールバックを呼び出し、N倍速のときN*100ミリ秒分だけPositionを変更するというものです。つまり4倍速早送りなら4*100ミリ秒、8倍巻き戻しなら
-8*100ミリ秒だけPositionを進めるのです。
通常ビデオは30fps(33ミリ秒)なので、少しカクカクしますが、早送りなのであまり目立ちません。また、再生していないので早送り・巻き戻し中に音は出ません。
XAMLでは以下のように一連のボタンと MediaElement(myMediaElement) とプログレスバーが配置されているとします。
コードビハインドは以下のようになります。キモは赤字にした Position の変更です。
//速度レート
internal enum Speed:int
{back8=-8, back4=-4, pause= -1, stop = 0,
play=1, forward4=4, forward8=8};
internal int currentSpeedRate = (int)Speed.stop;
//タイマー
internal DispatcherTimer timer = new DispatcherTimer();
//タイマーの時間幅を100ミリ秒に設定
internal static int timerinterval = 100;
/// <summary>
/// タイマーによるコールバック
/// 倍速・巻き戻しの時、時間幅に速度レートを掛けて
/// メディアのPositionを移動
/// </summary>
private void timerCallback(object sender, EventArgs e)
{
if (currentSpeedRate < (int)Speed.pause ||
currentSpeedRate > (int)Speed.play)
{
myMediaElement1.Position +=
new TimeSpan(0, 0, 0, 0, timerinterval * currentSpeedRate);
if (myMediaElement1.Position>myMediaElement1.NaturalDuration.TimeSpan
|| myMediaElement1.Position < new TimeSpan())
{
myMediaElement1.Stop();
currentSpeedRate = (int)Speed.stop;
}
}
myProgressbar.Value = (double)myMediaElement1.Position.Ticks;
}
/// <summary>
/// メディアロード時にタイマーをスタート
/// </summary>
private void myMediaElement1_Loaded(object sender, RoutedEventArgs e)
{
timer.Tick += new EventHandler(timerCallback);
timer.Interval = new TimeSpan(0, 0, 0, 0, timerinterval);
timer.Start();
}
/// <summary>
/// 倍速・巻き戻しボタンが押された時のコールバック
/// メディアをポーズにして速度レートを設定
/// </summary>
private void Button_Click(object sender, RoutedEventArgs e)
{
myMediaElement1.Pause();
Button b = (Button)sender;
switch ((string)b.Content)
{
case "<<8":
currentSpeedRate = (int)Speed.back8;
break;
case "<<4":
currentSpeedRate = (int)Speed.back4;
break;
case "4>>":
currentSpeedRate = (int)Speed.forward4;
break;
case "8>>":
currentSpeedRate = (int)Speed.forward8;
break;
}
}
-
Software Transactional Memory for .NET Framework(STM.NET) が MSDN Devlab に公開されています。これは .NET Framework 4 Beta 1(つまり VS2010 Beta1)といっしょに使うことができます。STM は並列プログラミングにとって重要な要素の一つであり、このリリースでは以下の項目がサポートされています。
- ツールのサポート
- ロックの相互運用性
- 伝統的なトランザクションとの相互運用性
- out of the box での MSMQ のサポート
- このサポートを、繰り延べや補償アクションに強化
- 以下の指定ができるアノテーション:
- メソッドは、あるトランザクションに、run in, not run in, may run in のいずれかでなければならない
- フィールドはあるトランザクション内でアクセスされなければならない
- このメソッドのためにトランザクションを止める
- トランザクション 呼び出しを他のメソッドにリダイレクトする
- アノテーションの清適・動的なチェック
- 組み込みBCLライブラリーと型の多くをサポート
- 以下のために CLR に多数の追加を行った
- ガベージコレクターとの統合
- byrefs のサポート
- Pay-for-play
詳細はプログラミング ガイド(英語)をお読みください。また、STMチームのブログも参考にしてください。
-
Windows 7 上の Dolby Digital CODEC(AC-3など)には制限があるので、独自のメディア アプリケーションを開発される方は、注意してください。SDK ドキュメント「Microsoft MPEG-1/DD/AAC Audio Decoder」によると、以下のように記述されています。
Note The Microsoft implementation of the Dolby Digital technology is restricted under terms of the Dolby Digital licensing program to use by Microsoft applications.
つまり、Windows 7 に搭載されている、マイクロソフトが実装した AC-3 デコーダー(DirectShow フィルター)は、マイクロソフト製品(たとえば Windows Media Player)以外では使うことができません。
したがって、AC-3 でエンコードされたメディアを再生したいアプリケーション開発者は Dolby Digital からライセンスを取得し、デコーダーを実装する必要があります。