UWP向けにPixivビューアを作った話

忙しさが有り余って気付いたらTwitterクライアント(Flantter)ではなくPixivビューアを作っていたというお話。

Pixivビューア 「Pixitle」

主な機能として以下が備わっています。

  • みんなの新着画像の確認
  • ランキングの確認
  • 自分がブックマークした画像の確認
  • 自分がフォローしている人のフィードの確認
  • 検索機能

使用するためにPixivのユーザー名とパスワードが必要です。

ダウンロードはこちらよりどうぞ

ダウンロード

作った理由など

ちゃんとしたPixivビューアがUWP向けになかったというのと、 個人的に画像漁るのにブラウザ使うのがめんどかったとか、理由は様々です。 (本当はダウンローダを作りたかったのだが、UWPには向かないというのと、流石に怒られそうなのでやめておいた)

その他

R-18画像は見れないの?

ごにょごにょすることで見れます。 具体的には設定画面のテキストボックスにそれっぽい文字列をカンマ区切りで入れることで可能です。

UWPなのでデフォルトで表示したり、表示できる設定を付けてたりすれば、認定時にエロリジェクトされます。

怒られないの?

すいません許してください!何でもしますから!

技術的なお話

Pixitleの技術的なお話についてですが、どのようにして画像取得しているかとかは一応伏せておきます。 が、ググればそのへんはすぐ出てくるので(pythonのライブラリとか)そこら辺を参考にしています。

アプリの見た目はよくある感じに仕上げました。 SplitViewを全体に配置し、ContentとしてFrameを入れてメニューのボタンを押すたびにNavigateするような形です。 それ以外の部分に関しては現在作成中のFlantterより流用した部分が多いので(画像ビューアとか)そちらを参照すれば似たようなコードが見れます。

https://github.com/cucmberium/Flantter.MilkyWay

Pixitleのソースはストアから消えるときに公開します。

UWPで初めて広告をつけようと思ったのですが例外等多発したせいでまともに表示されない可能性があります。 ユーザー側には関係ないお話ですが。

感想

突貫作業で作成したアプリなので、まだ付けたい機能とかあります。(共有機能とか) ただ、ストアのポリシー的にも、Pixivさん側的にも怖いので、そこまでこだわって作ろうとは思ってないです。

このクライアントを作っていて、結構腐女子の方々の勢いがすごいなー と思いました。 ランキングも結構おそ松さん関係が多くて驚いています(初めて知っただけ)

その他

UWPでアプリをストアに公開するのは初めてでしたが、意外と以前と変わらない感じでした。 次はGW終わりまでにFlantterを公開したい・・・

あともう少し時間を作ってこのブログも定期的に更新出来たらいいなと思ってます。

BMS Playerを作ってみた(ほんとに再生するだけ)

学校が死ぬほど忙しかったり、メインで使ってるPCが壊れたりして全然時間が作れないので、 Flantter.MilkyWay(Ver.3)の開発は当分おあずけです。

なんでBMSPlayer作ってるんだっていうのは、あくまで気分転換です。

BMSって

Beatmaniaに似たゲームです。 詳しくはぐぐって

BMSPlayerって

BMSというフォーマットの何かを再生するソフトです。 現在(2015.05.24)の主流は主にLR2でしょうか。

BMSの再生がどれだけ大変なのか気になったので試しに作ってみました。

ソースコードは↓ github.com

ライブラリにBoost先生を使っています。Boost先生は非常に便利です。 ちなみに音を再生するだけのソフトです。 BPMの変化やストップモーションについていけません。(BPMの変化だけならちょっと再生部を書き換えるだけだと思う) あとWAVの読み込みしかできません。 サウンドの再生部分についてはほとんどがhttp://www.charatsoft.com/develop/otogema/index.htmにあるもののパクリです。

感想

2日で作ったゴミですが、なんとか再生できるのは再生できます。(XhroriaとかBloomingとか) 再生した後にエラー落ちします。直せたら治したいです。

感想ですが、BMSプレイヤーを作るのはこんなに難しかったんだなと思いました。 再生するだけでこれなので、実際にプレーできるくらいのソフトになると死ぬほど大変でしょう。 LR2などのプレイヤーは神だと思いました。

気が向いたら今後もいじるかもしれません。

超参考(ここだけ見て作った)

http://www.charatsoft.com/develop/otogema/index.htm http://hitkey.nekokan.dyndns.info/cmdsJP.htm

Twitterの検索APIについて

便利なクエリとかsearch/universalで引っかかった点とかいろいろ新発見があったので, ブログにまとめておくことにしました.

gist

Twitterの検索API

新発見

min_retweets とか filter:image とかだいぶ使いやすいと思います. これらおそらく全部普通の検索APIでも使えるので便利です.

search/universalとかは使いドコロがあまり見つかりませんが, 特定のWebサービスとかだったらAppOnly認証の代わりに適当なアカウントと公式CK/CSで認証して使うと便利かもしれませんね.

消えないSettingsFlyoutを考える

設定関連のUI要素を載せるものとして便利なSettingsFlyoutですが、 ツイッタークライアントなどでユーザーの情報を表示するようなコントロールとして考えると ウィンドウサイズの変更などで消えてしまい若干不便です。

適当にゴニョゴニョしたところ構造が案外簡単だったので作りました。 デフォルトのStyle.xamlから必要なところを引っ張ってきていじるだけです。

わざわざStyle.xamlから持ってこないでSettingsFlyoutを継承してもできると思います。 今回はWindows10のために今後いじりやすいようにコピペして使ってます。

コード自体はながったらしいので続きから

続きを読む

Windowsストアアプリの認定作業で社員にエロ動画をリツイートされた話

Microsoftの社員にエロ動画をリツイートされました(おそらく)

なんで?

Windowsストアアプリというのは、アプリをストアに掲載してもらう際にマイクロソフト社員からアプリをチェックしてもらう必要があります。

ここの要件の一つに次のようなものがあります。

  • 一般にわいせつまたは露骨な性描写であると感じるコンテンツをアプリに含めたり、アプリで表示してはならない

この要件を確認するためにエロ動画にアクセスできるかどうかを調べる必要はあったのかもしれません。 しかし、エロ動画までリツイートされると正直・・・

しかもその後のメールでアプリが認定されるというオチ。 (まあリジェクトされたら当然Twitter公式アプリもリジェクトされるべきですけど)

マイクロソフト社員は普段からこんななんでしょうかね? 正直頭に来ましたし、なんか、がっかりしてしまいました。

このアカウントは Flantterのサポートアカウント 兼 アプリ認定用提出アカウント であるため, アカウントのパスワードを知っているのはMicrosoftと私(@cucmberium)以外にいません。

今後はアプリ認定用にいらないサブ垢を作る予定です。

追記:

ユーザー名とパスワードの提供はサービスへのログインが必要になる場合必須です。

画像

  • 問題の画像(該当リツイートはすでにこちらですでに削除)

f:id:cucmberium:20150119200010p:plain

  • 何故かNHKとエロ動画ボットが社員にフォローされている

f:id:cucmberium:20150119200527p:plain

SystemFontのリストを取得する

C#からはシステムにインストールされているフォントの名前を取得することができません。 その場合C++/CXを使えばいいらしいです。(そこらへんよくわかってない)

C#でたたけないとAnyCPUが使えなくなっちゃうので不便。 こんなの使うよりもSharpDX使ったほうが何かと便利でいいです。

できたもの

使い方

public IEnumerable<string> SystemFontList
{
    get
    {
        return WinRTSystemFontList.Core.GetSystemFontNameCollection("en-us");
    }
}

参考にさせていただいたサイト