S.F. Page

Programming,Music,etc...

Windows Store Apps

音声ファイルから動画ファイルを作成する(9) – Windows Store Appだと制限が多いな・・

IMFSinkWriter::GetServiceForStreamで取得できるインターフェースだが皆目見当がつかない。IMFMediaSinkとかIMFTransformとかICodecAPIとか試してみたが皆ダメだ。ICodecAPIなどはインターフェースそのものがWindows Store Appでは未定義と同じ扱いになって…

音声ファイルから動画ファイルを作成する(8) – IMFSinkWriter::GetServiceForStreamの使い方がよくわからない

画質向上のためにエンコーダーのパラメータをいじるべく調査を進めていて、SinkWriterの出力エンコーダーの設定のいじり方がなんとなくわかってきた。IMFSinkWriter::GetServiceForStreamでエンコーダーMFTを取得->IPropertyStoreを取得->設定の順で行えばよ…

音声ファイルから動画ファイルを作成する(7) – 波形データをDirect2Dで描画してみた。

ようやくだが、Direct2Dを使ってテクスチャに波形データを表示することができた。でもちょっと手抜きだ。 ソースコード(変更部分) 720p/30FPSなのになぜか画質が悪い。H.264エンコーダの設定に問題があるのかもしれないが、今のところどうすればいいのかわ…

音声ファイルから動画ファイルを作成する(5) – 凡ミスだった。

OpenAsyncでハマっていた例外は、内部的に発生しているものできちんとキャッチされているから障害ではないことがわかった。どうもデバッガの例外オプションで、すべての例外を発生時にブレークするように設定していたために、気にしなくても良い例外までブレ…

音声ファイルから動画ファイルを作成する(5) – StorageFile::OpenAsyncでまだハマっている。

今日もOpenAsyncが出す例外でハマり続けている。今日は下記のコードを書いて試してみた。 create_task(Windows::Storage::KnownFolders::MusicLibrary->CreateFileAsync (L"test.m4v", Windows::Storage::CreationCollisionOption::ReplaceExisting)) .then(…

音声ファイルから動画ファイルを作成する(4) - StorageFile::OpenAsyncでハマっている

FileOpenPickerを使ってWAVファイルを選択してOpenAsyncでファイルを開こうとしている。簡単なコードなのだがよくわからない例外が発生して悩んでいる。 void sfmfMain::OpenFile() { auto openPicker = ref new Windows::Storage::Pickers::FileOpenPicker(…

音声ファイルから動画ファイルを作成する(3)

昨日の話を絵にすると こんな感じになる。ちなみにこれはスクリーンショットにペイントで手書きで追記したものである。ペイントはタッチパネルも考慮しているようである。Windows 8以降のバージョンだけかもしれないが。 昨日は動画テクスチャをプレビュー表…

Media Foundationを使って音声ファイルから動画ファイルを作成する(2)

先週はずっとMedia FoundationのSourceReader/SinkWriterあたりのリファレンスやサンプルコードを観ながら具体的にどう作るかを考えていきつつ、ぼちぼちとコードを書き始めている。ちょっと前にかじっていたはずなのだがすっかり忘れてしまっており、思い出…

Box2D + WinRTでゲームを作る (19) – task.then()のスレッド実行コンテキスト

ゲームオーバー時の処理 ゲームオーバー状態に遷移してから3秒後にメニュー表示に戻るコードを考えていて、思いついたのが下記のコード。 struct GameOver : msmf::state<>{ template <class Event, class Fsm> void on_entry(Event const& ev, Fsm& ) { GameMain^ g = ev.getGameMai</class>…

GridViewのItemClickイベント

GridViewのItemClickイベントはビューのアイテムをクリックすると発生するのだけれども、このイベントの引数senderはアイテムにバインドされたデータソースのアイテムへのポインタであった。キャストは必要だが、なんと簡単な。Win32APIだとこの辺面倒くささ…

Box2D + WinRTでゲームを作る (13) – Menuページを作る

ページ切り換えのアイデア 最初UIの切り換えをWindow::Current->ContentにFrameをセットしてページを遷移する方法、つまり普通のやり方でやろうかなと思ったけれど、ページの中にFrameを埋め込み、そこにページを埋め込むやり方もあることを知り試すことにし…

StandardStyles.xamlが反映されない

やっぱりおかしい 基本ページを問題なく追加できたように見えたが、何かおかしい。タイトルの文字サイズが異様に小さいのである。 よく見ると追加しているページでエラーが発生している。 エラー 1 リソース "LayoutRootStyle" を解決できません。 エラー 2 …

基本ページ追加後に発生するエラー

基本ページを追加するという技 VS2012では「基本ページを追加する」という技がある。小技かな。 新しいプロジェクト項目として[基本ページ]を追加する。このときにメッセージボックスが出てきて、「不足しているファイルを自動的に追加しますか?」と尋ねら…

Box2D + WinRTでゲームを作る (12) – システム構成を考える

ちょこちょことUIのコードをいじっているが、まだしっくりとは来ていない。どうも全体像がつかめないし、何がどう機能しているのかもよくわからない。キーボード入力ってどういう風に書けばいいの?というレベルである。Win32 APIだとウィンドウメッセージを…

Box2D + WinRTでゲームを作る (11) – UI構成を考える

マップエディタやBox2Dのエディタも作れるようにXAMLの勉強を今している。一応Windows8がβ版のころからいじってはいたものの、デスクトップに回帰したためにすっかり忘れてしまっている。LayoutAwarePageってなんぞやと検索すると自分のブログの記事が出てき…

Box2D + WinRTでゲームを作る (4) – 動画出力できるようになった。

今週はWeb上のDirect3D、Media Foundationのリソースを参考にしながらコードを書いていた。まあなんとかスワップチェインの内容を動画出力できるようになった。 ソースコード ここで考えた手順でほぼうまくいった。 一応720p/30fpsでの出力はできている。今…

Box2D + WinRTでゲームを作る (3) – 動画出力方法を考える

今日はMedia Foundationドキュメントをみながらスワップチェインをどう出力するのかを考えていた。GPUメモリ -> CPUメモリの転送も極力減らしたいし、 拡大縮小もGPUにやらせたい。で以下の手順でいけるのではないかと。 スワップチェインと同じ大きさのテク…

Box2D + WinRTでゲームを作る (2) - 動画出力を試みる

作成中の画面を動画にしていたのだが、ちょっと処理速度的に厳しくなってきた。 アマレココでもExpression Encoderでも15FPSで処理がもたつく。デスクトップのキャプチャーは結構重い処理なのであろう。 Media FoundationのSink Writerを使って、スワップチ…

Box2D + Windows Store Appsで出直し

Musicシーケンサーを作るといいながらなぜかシューティングゲームを作る流れとなっているが、このままデスクトップでシューティングゲームのコードを書いていくと最終的にはWindows Store Appの「XAML DirectX 3D shooting game sample」のようなものに行き…

Dual-use Coding Techniques for Games, part 2 - Games for Windows and the DirectX SDK - Site Home - MSDN Blogs

Dual-use Coding Techniques for Games, part 2 - Games for Windows and the DirectX SDK - Site Home - MSDN Blogs. additional notes on Win32 APIsの表がわかりやすくて良かった。

Dual-use Coding Techniques for Games, part 1 - Games for Windows and the DirectX SDK - Site Home - MSDN Blogs

Dual-use Coding Techniques for Games, part 1 - Games for Windows and the DirectX SDK - Site Home - MSDN Blogs. Gameで使うミドルウエアやライブラリをWindows Store AppとDesktopで共用するためのコーディング・テクニック。

そろそろ何か作るか

Buzzでカバー曲作りにいそしんでいたが、そろそろ何かアプリを作ってみようと思う。再開というべきか。まずはTwitterクライアントを作ってみようかなと思っている。少し使い勝手についてアイデアがあるので。しかしそのアイデアを具現化するにはタッチパネル…

Windows 8 RTM ではURL エンコード/デコード APIが追加されている。

「Windows 8 RTM を開発者向けに提供開始 - Windows 8 アプリ開発者ブログ - Site Home - MSDN Blogs」にRelease Previewからの移行ガイドへのリンクがあったので読んでいたら、新しいAPIとしてWindows::Foundation::Uri::EscapeComponent/UnescapeComponent…

CryptographicBuffer class

CryptographicBuffer class. 昨日URLエンコード・デコードを調べていたら見つけたクラス。スタティックメソッドのみで、IBufferに関する下記の操作を提供するユーティリティ・クラスだ。 メソッド名内容 Compare2つのIBuffer^を比較する。 ConvertBinaryToS…

Metro Style Apps - C++上でURLエスケープ処理を簡単に行う方法って

TwitterRTのTwitterRtLibraryの部分をC++/CXに書き換えてみているのだけれど、Uri.EscapeDataString()に相当するものがWinRTにないので困っている。単に見落としているだけならいいのだが、そうでもないようだ。 shlwapiにUrlEscapeはあるんだけどMetro Styl…

Twitterのアプリ承認部分の実装を進める

OAuthとかWeb認証とかそのあたり。まああんまり詳しくないので基本的なところから勉強している。コードについてはサンプル・コードを見ながらMVVMっぽくなるようにスクラッチで作るつもり。もちろんAPIでカバーできるところは使うけれど。

Windows 8がRTMに 開発者は8月15日から入手可能 - ITmedia ニュース

Windows 8がRTMに 開発者は8月15日から入手可能 - ITmedia ニュース. そうかとうとうRTMになったのか。MSDNの会員ではないので10月まで待たねばいけないけれどRCからの変更内容を早く知りたいところだ。

MetroスタイルアプリでFTPサーバーへのアップロードができない話 - 酢ろぐ

引用元: MetroスタイルアプリでFTPサーバーへのアップロードができない話 - 酢ろぐ. なるほど。ここにもMetro Style Appsの制約のきつさが出ていますな。

Data binding overview (Metro style apps using C#/VB/C++ and XAML)

Data binding overview (Metro style apps using C#/VB/C++ and XAML). Data Bindingについては今一度このドキュメントをチェックするとしよう。今までは軽く読み飛ばしていたけどね。

すこしずつコードをいじってみるかな

そろそろコードいじりを再開しようかな。なんかサンプルを見てもBlogを見てもいまいち頭に入ってこないので、小さいサンプルを実際作ってみようかなと思う。 波形メモリシンセのUIを「さくっ」とXAMLで作れないかなと思ったが、未経験にほとんど等しい私にと…

c++/cx metro の場合 mvvm がどのように実装されているか | Moonmile Solutions Blog

c++/cx metro の場合 mvvm がどのように実装されているか | Moonmile Solutions Blog. ちょうどいいタイミングでこのコンテンツを発見。

MVVMパターンの勉強

MVVMパターンのドキュメントを読んで重要なものをメモしとこう。下記がどの程度WinRT+XAMLで使えるのかわからないが。 MVVMはXAML系のために生まれたMVC系パターンである。 XAML系ライブラリでアプリを作ると自然とMVVMパターンとなるように制約が設けられて…

WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン

WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン. やっぱりWinRTのUIはXAMLなんだから、WPF/Silverlightなどの資料を読むのか理解への近道なんだろうということで漁っているのだけれど、どのドキュメントにも出てくるのがMVVMパターン。やっぱ…

MVVMパターンとイベント駆動開発、そしてMVC/MVP/PMパターンとの関係 – 何故MVVMなのか - the sea of fertility

MVVMパターンとイベント駆動開発、そしてMVC/MVP/PMパターンとの関係 – 何故MVVMなのか - the sea of fertility. MVVMパターンの勉強中。この中のプレゼン資料がとてもわかりやすいね。

LayoutAwarePageまわりを調べつつ

LayoutAwarePageを勉強している。ちなみにLayoutAwarePageというのはヘルパクラスでテンプレートでページを作ると基底クラスとなるものである。ページ遷移とかビュー状態とかを管理するためのフレームワークがあらかじめ実装されている。 イマドキのUIライブ…

Audio Playback in a Metro style App

Audio Playback in a Metro style App. ん、これはノーチェックだったかな?

メニューの背景画像

項目ページテンプレートを作って最初に表示されるメニューを作っている。項目の背景イメージをセットできるのでsvgで作ったイメージを表示させようとするのだけれどうまくいかなかった。ImageタグのSourceにセットできるのはビットマップだけのようだ。ここ…

メニューから作り始める

高校野球の地方予選に熱中していて依然としてプログラミングの方には集中できないでいる状態なのだが、チュートリアルを一通りやってみておぼろげながら「セオリー」のようなものが見えてきたので、メニューから作り始めることにした。 LayoutAwarePageをベ…

チュートリアルのパート1をやってみる。

チュートリアルのパート1をやってみた。 データバインディングを使ってRSSフィードのデータを表示するというもの。

XAMLを一つずつ勉強していくか

まずはVS2012のプロジェクト・テンプレートで作られるコードの中身を理解するために、XAMLコードの中にあるタグをひとつひとつ勉強していくことにしようかなと思う。前から言っているような気もするが。 テンプレートで作られるコードは結構複雑で、それをベ…

Windows 8 の入力を最新化する - Windows 8 アプリ開発者ブログ - Site Home - MSDN Blogs

Windows 8 の入力を最新化する - Windows 8 アプリ開発者ブログ - Site Home - MSDN Blogs. このあたりも大変なところなんだよねぇ。入力プラットフォームをうまく使うと省力化できるのかな?

ぼちぼちとUIのデザインをはじめる

まずはXAMLの習熟ということでUIデザイナーを使ってデザインを試みている。 マークアップするかコントロールをぺたぺた貼り付けていくだけなので簡単だ。

Synth部分だけを切り離して作ることにした。

なんかこう行き詰まりを感じてきた。やっぱりMetro StyleとBoost.MSMを覚えながら実装していくというのは私の頭ではきつい。のでまずはMetro Styleをひととおりおさえてから、次の段階(MSM)に進むことにした。 まずはブランクページのプロジェクトを作り、そ…

道のりは遠い

安直にUIエディタが優れているという理由だけでいきおいMetro Style Appsの世界に踏み込んだのだけれど、そんなに甘い世界でもなかった。 Metro Style Appは制約・規約がきっちりと決まっている。お作法がきっちりしているのでUIだけ楽させてもらってあと…

Metro Style アプリのライフサイクルと状態管理

パート 2: アプリのライフサイクルと状態を管理する C#/VB と XAML を使った Metro スタイル アプリ. SuspendedからNot Runningヘの遷移が新しいところ。SuspendedからNot Runningヘの遷移は通知されないから、Suspendingイベントでアプリの状態を保存してお…

Windows Developer Days 2012 | Channel 9

Windows Developer Days 2012 | Channel 9. 今更だけど。動画をiPod Touchに入れて電車の中で観るとするかな。

チュートリアル: C++ を使った初めての Metro スタイル アプリの作成

チュートリアル: C++ を使った初めての Metro スタイル アプリの作成. おとといから読んでいるが結構長いのでまだ読み切れていない。

Metro スタイルアプリのガイドライン一覧 (沢山あるよ~): biac の それさえもおそらくは幸せな日々@nifty

Metro スタイルアプリのガイドライン一覧 (沢山あるよ~): biac の それさえもおそらくは幸せな日々@nifty. うひゃーこれはすごい量だ。

チュートリアル: C++ を使った初めての Metro スタイル アプリの作成

チュートリアル: C++ を使った初めての Metro スタイル アプリの作成. 基本的なことはここに書いてあった。のでちゃんと読むことにする。

UI構成を作り直している

いまのままのUI構成だと破綻しそうな気がするので改造している。1つのページの中でコンテンツを差し替える形から、複数ページを切り替える形に。