2017年8月開発状況


Etow

Etow – nackpan Blog

お絵かき部分、Metalを使った描画機能を組み込み始めました。
以前、AppleのサンプルGLPaintをさわりました。
OpenGLを用いて線の描画を行うサンプルです。PointSpriteを並べることで線を描画しています。
これと同じようなことをMetalでできないものでしょうか。
PointSpriteにあたるものとして、MTLPrimitiveTypePointがありました。
これを利用しているAppleのサンプルを調べました。
MetalShaderShowcaseのParticleのところで使用していました。
<サンプル画像MetalShaderShowcase>
こちらで使用しているshaderを改造しました。

お絵かき機能の原型。

月前半はさっぱり進みませんでしたが、後半はすこし進捗がありました。

8月分の画像をアニメーション化したもの。


選んだ画像からパラパラ漫画風にアニメーション化する機能をつけています。

こちらはカレンダー形式。

画像は日々の進捗に対する気持ち・気分をカレンダー形式で表示したもの。

2017年7月開発状況

Repete Plusの待ち時間の下限を0にする処理を試みましたが、とりやめました。
Repeteの選曲画面をRepete Plusのものに準拠させました。
Etow、カレンダー形式での表示部分を実装中。

Repete Plus

Repete Plus – nackpan Blog
待ち時間の下限を0にする処理を試みました。
そして、十数回繰り返しでもとまらない処理を書けました。
しかし、その処理後の待ち時間0で聞いてみると、やっぱりすこし間ができてしまいました。
残念ながら、不採用。
待ち時間の下限は0.1のままとしました。

Repete

Repete – nackpan Blog
• 選曲画面を変更しました。
Repete Plusで使用しているスタイルに準拠しました。
• 前回選んだ項目を読み込む機能を加えました。
• データベースにRealmを導入しました。
• 初回時、スライダーが進んでいかない不具合を修正しました。

Etow

7月
• カレンダー表示のために、Collection Viewについて学びました。
• 日時のしるしかたについて学びました。
参考: Swift 3 の日時操作チートシート – Qiita
【Swift】Dateの王道 【日付】 – Qiita

日々の進捗に対する気持ち・気分をカレンダー形式で表示したもの。7月後半から。
CGContextを使用した描画方式。
黒ペン、白キャンバス。

2017年6月開発状況

月ごとの開発状況をブログ記事にしていたのですが、2017年5月を最後に途絶えていました。
今になってではありますが、その続きを記します。
2017年5月の記事を読むと、もうMetalは触っていたことや、Etowの開発期間が思っていたよりもさらに長くておののきます。
読み返せるところにやはり書いておくべきだと思いました。

2017年6月の開発状況のまとめ

• Repete Plusのアップデート(version 3.0)を行いました。
• Rendowに、有料の視覚エフェクトを追加しました。
• 10秒絵日記「Etow」には手をつけられませんでした。

Repete Plus

Repete Plus – nackpan Blog
6月前半はRepete Plusのアップデートを行いました。
version 3.0作成しました。
追加した主な機能。
• タップジェスチャーに、「現在区間の再生・再生不要の切り替え」を追加
 これによって、いまの区間は習得したなぁ、というときにタップすれば、その区間を再生不要にできます。
オーディオエディターを開き、波形部分を拡大して、該当する区間を見つけて、チェックを外す、という手間が省けます。

• テキストエリアの拡大機能。
テキストエリアを拡大する機能をつけました。

Rendow

Rendow – nackpan Blog
こちらのアプリに手を入れるのは久しぶり。
走る速度に合わせて音楽の速度がかわるアプリです。

In-App Purchase処理の実装。
有料アイテムとして、視覚エフェクトを追加しました。

Etow

この月は、Etowにはほぼ手をつけられませんでした。

2017年のふりかえりと2018年の抱負

2018年、最初の更新となります。

すでに2月に入っています。大変遅くなってしまいましたが、今年もよろしくお願いします。

2017年のふりかえり

2017年のアプリ開発をふりかえります。

2017年前半は、Repete Plus、Repeteのアップデートを行いました。また、新たなアプリのための調査を開始しました。
このブログでも5月の開発状況までは、書き記していました。
2017年5月開発状況 – nackpan Blog

2017年後半は、Repete Plus、Repeteのアップデートと並行して、新たなアプリの開発を行う予定でした。
しかし、ほぼ新アプリの開発に費やすこととなりました。

新たなアプリの名前は「Etow」
日々の気持ちや気分をさらっと絵で描いて記録しよう、というアプリ。
迷ったり完成度を気にする余地がないように描画時間を10秒に制限しました。
これで例えばアプリ開発の進捗状況を伝えることができるのではないかと考えたもの。

7月から本格的に開発を始めました。
夏の終わりまでにはリリースしたいと考えていました。
しかし。
夏が終わり、秋が過ぎ、冬が来て、年が明けても完成しませんでした。
2月になって、ようやくできました。
あまりに長引いてしまって、開発後半はすっかり気持ちが塞がり、沈み、ぼんやりし、鈍磨しました。
完成間際となると気持ちも持ち直しましたが、やはり予定を大幅に超過するというのは心身によくないです。まいりました。


画像は完成した10秒絵日記「Etow」

2018年の抱負

2017年後半は、Repete Plusを並行して進めるつもりでしたが、さっぱり手をつけることができませんでした。
まずは、Repete PlusとRepeteの改修作業を進めたいと思います。
さまざまな要望、不具合報告をいただいているので、緊急性が高いものから進めて行きたいです。

また、あれこれと作りたいアプリがノートにたまっております。完成しないまま時間が過ぎると心身が不調に陥るので、なんらかの成果物が月にひとつ程度出せるような形で開発ができたらなと思います。

Repete Plusをアップデートしました(version 2.4)

「Repete Plus」をアップデートしました。(version 2.4)

Repete Plusは、語学学習を支援するオーディオプレイヤーです。
語学教材のフレーズごとに自動的に間隔をあけて再生できます。

App Storeはこちら

使い方を紹介しているサポートサイトはこちら
Repete Plus – nackpan Blog


• ファイル末尾に無音を追加できるようになりました。
(設定 > 詳細 > ファイル末尾の追加無音時間 から、時間を指定してください)
(待ち時間なしで使用した場合に、ファイル末尾の区間がすぐに終了してしまう問題に対処しました)


語学学習を手助けする「Repete Plus
よろしくお願いします。

ウォルター・クレイン展に行ってきた

絵本はここから始まった ウォルター・クレインの本の仕事」展へ行ってきました。

ウォルター・クレイン(Walter Crane 1845-1915)は、19世紀後半にイギリスで活躍した現代の絵本の基礎を築いた重要な画家の一人であり、またウィリアム・モリスとともに、アーツ・アンド・クラフツ運動を推進したデザイナーとしても知られています。
(展覧会の図録より)

ものすごく面白かった。
大変、興奮しました。

ウォルター・クレインのほぼ全ての絵本とおもな挿絵本が展示されていました。

トイ・ブック

トイ・ブックという言葉、初めて聞きました。
トイ・ブック。ウォルター・クレインがかつやくしていたころの絵本の形態の一つ。8ページ-12ページ。サイズは現在の「こどものとも」の絵本などと同じぐらい。
ピクチャー・ブックという名称もあるが、それはトイ・ブックをいくつか合本にしたもの。

ウォルター・クレインが描いたトイ・ブックが展示されているわけですが、その展示のしかたに感銘を受けた。
絵本の、全ページが展示されているわけです。すごい。
ただし、ウォルター・クレインのころのトイ・ブックでは、片面印刷なので絵本として製本すると白紙のページがでます。
展示としては、壁に、白紙以外のページが順に貼られていて、見ていくことができます。
そんでもって、子供向けの絵本なので、本によっては簡単な英語だったりもするわけです。
絵を文とともに読み進めることができるんです。
といいつつ、簡単な英語でもすらすら読めないので、つかえつかえじっくり見て行ったわけです。

「この子豚ちゃん 市場へ行った」(This little pig went to market)、見ていてほんとに楽しい。
帰ってネットで調べると、Smithsonian Librariesで電子化されていました。
This little pig went to market

イギリス絵本留学滞在記(著:正置友子)

展覧会から帰ってきてから、図録のテキスト「ウォルター・クレインの絵本 ヴィクトリア時代に芸術と職人の技によって花開いた絵本文化」を執筆されてる正置友子さんの著書「イギリス絵本留学滞在記」を読みました。
54歳から60歳にかけて(1994年~2000年)、絵本研究のために渡ったイギリスへの留学について記されています。
一心に研究に打ち込みヴィクトリア朝時代のトイブックに関する博士論文を書き上げられています。
大家さんのジャッキーやローハンプトン大学大学院の学友、教授、研究者が紹介されています。

ウォルター・クレインの絵本が見られるサイト

The charming world of Walter Crane – Smithsonian Libraries Unbound Smithsonian Libraries Unbound
ウォルター・クレインの紹介。

Smithsonian LibraryのWalter Craneのページ。
Crane, Walter

Repete Plusをアップデートしました(version 2.3)

「Repete Plus」をアップデートしました。(version 2.3)

Repete Plusは、語学学習を支援するオーディオプレイヤーです。
複数のフレーズが収録された語学教材を自動的に間隔をあけて再生できます。


• テキスト編集時に、キーボード上端に再生関連ボタンを表示できるようになりました。
テキスト編集中に、再生・停止・前区間・次区間・早戻し・早送りができます。
(設定 > 詳細 > テキストエリア: 編集時の再生関連ボタン > キーボード上端に再生関連ボタンを表示する をONにしてください)

• バグ修正
* 何も選曲していない時に、リピート回数を変更すると強制終了する不具合を修正しました。
* Googleドライブを開いた時に、ファイルが表示されない!という不具合を修正しました。
以前使用していたクエリ(”‘%@’ in parents and trashed=false and (mimeType contains ‘audio/’ or mimeType = ‘application/vnd.google-apps.folder’)”, parentId)の、’or’部分が効かなくなっていました。
フォルダもしくは、オーディオファイルを抜き出してリストをつくる部分が機能していません。
Search for Files  |  Drive REST API  |  Google Developers
こちらのドキュメントをみる限り、’or’は効くはずなのですが、やってみるとダメでしたね。
指定フォルダのファイルを取得するクエリを発行し、取得結果からオーディオファイルとフォルダをぬきだすかたちに修正しました。
Googleドライブ機能を利用している方がいらした場合、大変申しわけありませんでした。
* フォントサイズの変更を行った際に、表示中のテキストの見た目に反映されない不具合がありました。修正しました。


語学学習を手助けする「Repete Plus
よろしくお願いします。

2017年3月開発状況

1月、Repete Plus(レペテ プラス)をリリースしました。ひきつづき、アップデートを作成中。

Repete PlusはRepeteを大幅に機能強化したアプリです。
* オーディオファイルの区切り編集機能
* 曲送り・曲戻し
* 早送り・戻しでの秒数指定
* テキストメモ機能
* ペア区間作成機能

が主な拡張機能です。


1-19日

Repete Plusの開発。
「よく使う設定を登録する」機能の実装を行いました。
作業中、Xcodeが頻繁に強制終了してしまい困りました。
そろそろ、開発に使っているMacBook Air 2011 Midも買い替えどきなのかもしれません。

Repete Plusのリリース前の開発途中版です。右下、左下にボタンを配置しています。

ここで、リピート、シャッフルを割り当て、変更できるようにする予定でした。
しかし、この実装をすると1ヶ月リリースが遅れるなぁという感触があったので、いったん棚上げとしていました。

リリース後、ペア区間作成機能もできたことから、リピートなどのショートカット機能の実装に取り掛かりました。
ただ、リピート回数以外にもすばやく変更を行いたい設定項目がいくつもあります。

変更したい、かつ変更できそうな項目にはどのようなものがあるかというと?
待ち時間、リピート回数、再生方向、シャッフル、再生速度。
これだけあると、当初案の、リピート、シャッフルをそれぞれのボタンに割り当てる方式では間に合いません。
あらためて考えました。
ある設定から別の設定へ変更するボタンとして作ることとしました。
これだと、「リピート回数をx2にしつつ再生速度1.2」や「すべてのリピート回数を1に戻す」などもできます。

必要な設定を登録してもらう方式に決めたので、どのようなUIにするか?

従来の設定画面をまるまる取り込む形にしました。ただし、今回の登録時には、必要な設定のみ選んでもらうひつようがあるので、チェックボックスつきです。
選んだ項目を並べていって、選択用の名称とすることとしました。
その際、長すぎる名前だと判別しづらいので、名前をつけられるようにしました。

登録した設定を表示する際のアニメーション。
viewcontrollerを表示する際に、選曲画面の表示などで使っている
present(controller, animated: true, completion: nil)
だと、すこしゆっくりすぎました。
画面下端からにゅーっとでる感じになります。
ここは、さっと切り替えたいところです。
8割がたテーブルを表示しているところから開始して残りを0.1秒で表示するtransitionにしました。
UIViewControllerAnimatedTransitioning – UIKit | Apple Developer Documentation
を用いました。

また、「よく使う設定を登録する」機能の実装にあたり、Repete Plusを操作しているうちに不具合をいくつか発見したので、それらの修正も行いました。
• 待ち時間を30秒に指定すると強制終了する不具合を修正しました。
• バックグラウンド再生中に、次区間ボタン(あるいは前区間ボタン)を押した後、待ち時間中にフォアグラウンドに戻ると再生がおかしくなる不具合を修正しました。

20-30日

新作アプリの作成を開始しました。
ちょっとしたお絵かき機能が必要なので作成開始。

いい感じにできたと思ったものの、線をはやく描くとカクカクしている状態。

一から学ぶベジェ曲線 | プログラミング | POSTD
2次ベジェ曲線を使ってなめらかに。

関連

2017年2月開発状況 – nackpan Blog