Visual Studio 2022

Professional 2022 を入れてたんだけど試用版だったので試用期間が切れてしまったので、Community 入れ直し、のついでにアウトプットとして色々書いておこうと思い、書く。途中で飽きるかもしれない。

参考サイト・リファレンス

公式
Visual Studio: IDE and Code Editor for Software Developers and Teams

ダウンロードページ
Download Visual Studio Tools – Install Free for Windows, Mac, Linux

ドキュメント
Visual Studio documentation | Microsoft Docs

Visual Studio のエディション

Community, Professional, Enterprise の三つのエディションがある。
使用ライセンスと使える機能がそれぞれ異なるが、Community と Professional の機能はほとんど変わらない。
(公式の比較ページ:https://visualstudio.microsoft.com/vs/compare/

サブスクリプション版だと Microsoft のほとんどのソフトを開発・テスト用という制限で使えたりする。

価格と購入のオプション | Visual Studio (microsoft.com)

Community

無償で Professional 同等機能が使えるライセンス。
ただし、その使用に規定があり、ざっくりいうと個人・学習・小規模ビジネス向け。
どっからが小規模じゃなくなるの?っていうと、PC 250 台もしくはユーザー 250 人以上から。

詳しいライセンス内容はこちら
License Terms | Microsoft Visual Studio Community 2022 – Visual Studio

Professional

上記の規模を超えた企業等で利用するためのライセンス。
前述したとおり、機能についてはほぼ Community と同等なので個人は Community 使っておけばいい。

使用制限のかかっている CodeLens という機能についての制限内容は以下のようなもの。

<h6>CodeLens is available in Visual Studio Community edition, however, the source control indicators are not available in this edition.</h6>
Find code changes and other history with CodeLens – Visual Studio (Windows) | Microsoft Docs

ソース操作の表示がされないとかなんとか。まぁいらんやろ!

Enterprise

なんか色々使える。高いから知らない。
テスト周りの機能が多いイメージ。

WordPress が色々とまた新しくなってたので触りがてら書いてたんだけどインストール終わったので終わります。

近況報告:42 Tokyo に受かった。

謎の無料のエンジニア養成機関の試験に合格し、11/2 ~ 本格的に開始することになったので、またまたまたまた音楽作業が滞るかもしれないという話。 42 Tokyo についての詳しい話は別で書いたので下記参照。また、42 Tokyo に関連する事項についてはこちらではなく、同様に note の方で書いていこうと思います。

https://note.com/luna_yuta/n/nc8764de3ed85

ということで 2020 年内はひとまず King Gnu 曲全部弦楽四重奏したろ!なノリで進めてたんですが、まぁそれも遅滞してるしどうなるやら。なるようになれ。なるようにしかならん。なるようにしろ。はい。

鬱がまだ引き続いていて、集中力が保てないことが今一番の障壁。ここ一年の経過を振り返ればだいぶ良くはなったものの、バイトしたりバンドしながら10日に一曲、曲と動画を完成させてた頃のエネルギー・集中力には遥かに及ばないのだけれど、これが年齢ってやつか・・・・?まぁ戻れるところまで戻そう。

ひとまず停滞していた独学プログラミングが進む方向性は確定できたので、並行して音楽・映像をコンスタントにやっていく体力をつけたいお気持ち。作りたいものだけが鬱積していき消化されない、消化しようと手を付けても不完全燃焼。あぁ、こうなってダメなオクスリに手を出しちゃったりするのかな。ダメなものはダメだよ~~。そんなものに頼らず俺は俺で俺を取り戻してやる。あ、処方薬はちゃんと飲んでます、はい、あの、はい、まぁそれは、その、それはそれ、これはこれ。

えーっととりあえず近況報告ということで。以上です。質問ある方どうぞー?ないですねー、はい、それでは失礼しまーす。

これまでのプログラミング関連について一度まとめておく。

概要と背景

42 Tokyo という無料のプログラミングスクールの一次オンラインテストを通過し、コロナによる世情の変局の中待つこと約半年、ようやく9月開催の Piscine と呼ばれる二次試験が目前まで迫ってきたため、自分の今の知識状況の確認と復習のために、プログラミングを始めるに当たって自分が理解に時間のかかった部分などまとめておきたいと思います。

あと一応自分のブログサイトも持っているけど音楽のことが主体であるのであまりそちらにプログラミング学習のことを書くのもなんだかなーという思いと、とりあえず Qiita 書いてみたい~という安直な理由。

 → Qiita に書いてたけど自分語りがあまりにも長くなったため、やはりこちらにすることにした。がはは。

これまでの、プログラミングや PC との自分の関係性(隙あらば自分語り)

義務教育辺りまで

父親が SE だったため、比較的子供の頃から Windows 95 が自宅にあり、インターネットブラウジングやら Windows 付属の謎のゲーム(ソリティア・フリーセル・多分今は亡きアリーナなど)を遊ぶ程度に PC を利用。

中学生になって、中学校の廊下に自由に利用できる PC が数台設置されるようになり、MSN チャット・メッセンジャーなどで遊び出す。同級生の中にはチャットで出会った人に会いに北海道まで行ってるやつもいた。出会い系じゃん。

この時点で仕組みのこととかプログラムの挙動についてとかそういったところには全く意識は向いておらず、まぁ言ってしまえばコンシューマ機では出ていないゲームをやるためのゲーム機のような感覚でした。アンジェリークとかやってた気がする。何故乙女げーなのか。

中学校の授業の中で、社会体験(職業体験)や何かしらのテーマをもとにそれぞれで調査・レポートにまとめる、というような課題があったためその際に Microsoft Office などを利用。脳についてや障碍者について調べたりした記憶がある。

高校

高校入学の段階で高校側からノート PC を買えと指定があったため、自分用のノート PC を入手。父親の仕事の関係で富士通の FMV だった気がする。しかし実際に高校の授業で PC を利用することはなく、もっぱら某巨大掲示板を覗いたり、P2P という仕組みを知ったりなどする。某巨大掲示板の某スレでまとめサイトを作ってみたりなどしてその際にHTML・CSSに軽く触れる。

高校三年生の時の文化祭で自主製作映像を作ることになり、音楽を担当することになる。この辺りからようやくちゃんとコンピュータとして使いだした感じ。音楽作成・編集ソフトのフリーソフトや試用版などを調べ、色々と組み合わせて作曲。(YAMAHA のスコアメーカー、SoundEngine など)

映像担当の人間とは Skype でやり取りをしながら製作を進める。多分 2004-5 年辺りの話なんですがこの時点ですでに令和になった今頃ワーキャー騒いでるリモートワークはある程度可能だった模様。
(まぁ高校生のお遊び程度ですが)
(あ、年齢がばれた。)

この辺りで、「あ、PC で音楽作れるんだ」と知り DTM を始める。(ただしフリーソフトを乱用)
あと、受験期真っ盛りなのに友達からエレキギターをもらってコソコソ弾き始めてこれを録音したりなんかし始める。

大学

この辺は詳細に書くと違う方向へ話が行き過ぎてしまうので端折りますが、プログラミング系の学科へ行きたかったのに「そんなもん自分で勉強できるから他んとこ行っとけ」というスパルタ教育(?)により、まぁ結晶構造とかきれいなもの見るの好きだから化学系行っとくかーと行ってみたはいいものの、化学系の大学教育・研究に全く興味が湧かず、バイトに明け暮れ、バンドサークルに明け暮れ、ついに有償の DTM ソフトを手に入れたり VOCALOID に手を出してみたりなどしながら晴れてめでたく中退。

VOCALOID に手を出すに当たって同時に動画作成に手を出し始めるも、うわ、これすごくめんどくさい!って思ったところから動画ってプログラミングで何とかならんかなと思い始める。高校時の映像と音楽を合わせる作業と、Youtube やニコニコ動画の台頭を見ながら、音楽に映像があることの相乗効果に興味を持ち始める。

とは言いつつもプログラミングどっから手を付けていいかわからんのでとりあえず Adobe AfterEffects のエクスプレッションで何とかする方向でしばらく動画制作。今思えば一応エクスプレッションもコードといえばコードか。

フリーター(現在)

楽曲・動画制作に追われ特にプログラミング学習大して進めず。

Processing(Java, Python) というものがとりあえずは手軽そうだなと思いちょくちょく触ってみてはいる。が、3D とかやろうとなるとちょっと物足りず、Unity(C#) とか Unreal Engine のほうに手を出す、After Effects プラグインを自作する(C++)、などの選択肢を睨みつつ、そうなってくるとハードウェアとの連携とかその辺もちゃんと知っといたほうがいいよなとか思いながらそもそもCPUの仕組みってどうなっとるんや、みたいな変に入口のとこから少しずつ勉強したりなどする。

Microsoft Visual Studio Community が個人であれば無償で使えるライセンスであることを知り、開発環境として導入。勉強がてら入門書にあったシンプルなテキストエディターをサンプル見ながらなんとか作成。

歌詞を書きたくないし書いたところで自分が駄々洩れになるのが恥ずかしすぎるのでこれもプログラミングで文字列操作で暗号生成できないかと思い、いくつかの法則を組み合わせたり組み合わせなかったりすることで何種類かの文字列操作を行う謎言語生成ソフトを作成。(C#)
※ 完全に余談ですが、その頃 Nier:Automata にドハマりし、ヨコオタロウという人もかなりシャイなようで、16進数でサブストリーを提示するとかいうひねくれものなため、その16進数解読にこのソフトが役に立ったりなどする副作用があった。

仕事は半年ずつで転々とするという気ままさで生きていたのに、半年ごとにちょうど部署と仕事内容を変えてくれやがる会社に捕まり、流れに流され中間管理職に追いやられ、とても頭の悪いことに真面目に仕事をするなどという愚行に走り、楽曲制作も動画制作も勉強も手が止まりうつ病発症。(診断が正式に下っただけで元から頭はおかしかったという意見は散見されますが(うるせぇ)精神はともかく肉体に変調をきたした)

半年で治しちゃるという気概の元、三か月の休職期間を経て復職。もちろん治ってはいないので今まで見過ごしていた社内の非合理性・非生産性にブチギレて全社員宛メーリングリストにブチギレメールを送った結果、なぜか、よしじゃぁ任せた、ということになり社内向けツールを作ることになるも、社内の色々な制約下で VBA しか使えず VBA と SQL との格闘を始める。

何せ初めてなのでとりあえずどんどん手を動かすかーと思ったらデータ構造の規定をしっかり定めておかないと最終的に詰むことに気付き、ある程度拡張可能な形での仕様の策定から入りつつ設計思想・データベース開発について現在進行形で勉強中。(ちょっと飽き始めてる)

今後の予定

なんとなくの全体イメージ

まぁこんな感じでやっていきます。
35歳くらいになったら政治活動とかもしちゃうかもしれない、うつ病なので。がはは!あ、学習指導要領のこと結局書いてねぇ。まぁそのうち。

以上です。

Cubaseの「名称未設定」フォルダをリネームするバッチファイル

動作

Cubase5をいまだに使っているので以降のバージョンのフォルダ構成が違ったら知りません(´・ω・`)
プログラミング勉強したての人間がググりながら作成したのでもし使う場合には自己責任でご利用ください。

CubaseProjects(人によって名前は違うかも)内にたまっていく「名称未設定」フォルダに一個一個アクセスして中に入っている「.cpr」(プロジェクトファイル)の名前を拾ってフォルダ名をつけ直していきます。たまりますよね、名称未設定。え?溜まらないの?え?気付いたら四桁間近とかたまらない?たまるよね?

フォルダ内に「.cpr」がないフォルダに当たると処理がずれてリネーム処理されなくなってしまうのだけど、頭を使うのが疲れてきていたので何度も処理を呼び出し直すという力業で解決しています。「.cpr」が含まれないフォルダはリネームされません。そもそも「.cpr」が含まれないプロジェクトフォルダって、Cubase起動してちょっと作りかけたけどあんま気分乗らんな、と思って保存せずに閉じたやつなので(自分の場合。他の人は知らん)処理から漏れて残った名称未設定は後でまとめて削除。

フォルダ内に複数の「.cpr」ファイルがある場合には一番最初に拾われた名前でリネームされます。(例:proj01.cpr / proj02.cpr / proj02-02.cpr といったプロジェクトファイルが3つある場合には多分一番最初に拾われるであろう「proj01」という名前にフォルダがリネームされます。)

作り方・使い方

新規テキストファイル > cr.bat とか適当に名前をつけておく(cr = CubaseRenameという謎の言葉を略したもの)
以下を記述して保存

@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
set filename=
for /d %%f in (名称*) do (
set folder=%%f
set folder=!folder: =!
echo %%f
cd %%f
for %%l in (*.cpr) do (
cd ..
set filename=%%l
set filename=!filename: =!
move %%f !filename:~0,-4!
cd %%f
)
cd..
)

新規テキストファイル > rename10.bat とか適当に名前をつけておく (複数回呼び出して力業で解決するためのバッチ)
以下を記述して保存

call cr.bat
call cr.bat
call cr.bat
call cr.bat
call cr.bat
(↑ 長くなるので5行で省略するけど任意の回数コピペ。20行くらいあればいいんじゃなかろうか)

「名称未設定」たまっているCubaseProjectsフォルダ内に上記2つのバッチファイルを移動(最初からその中で作ってもいいし。)

「rename.bat」をリネームされなくなるまで実行

(残った名称未設定フォルダは.cprが入っていないフォルダなので不要(※必要な人もいるかもしれないので自身の環境に合わせて))

説明とかなんか

動機とか経緯

そもそもプログラミング勉強し始めたけど音の処理とか映像の処理とかいきなりやるにはレベル高すぎて少し慣れが必要とは思いつつ実用性無いものを作るのも食指が動かなかったのでなにか実用性のあるものを作ろうと思い着手しました。入門書とか読んでると「サンプルコードは全て自分で打ちましょう^^」とか書かれてるんですけど、めんどくさいからスルー。

簡単にできそうで実用性のあるもの、と考えたときにちょうど年末だったのでデータの整理をしようと思いCubaseProjectsを開いたところ、相変わらず名称未設定がズラッと並ぶ光景を見て、自動でリネームするやつ作ったろ、と思いました。これまでにさらっとさらった言語はC、Java、VB、Processingなんですけど今まで読んだ内容でファイル名の取得とか全然思いつかなかったので、そういえばコマンドプロンプトのコマンドでそんなのなかったっけと思い、バッチファイルにすることにしました。必死にググりながら作ったんですけど、なんとかそれっぽいのが出来た辺りインターネットってすごい。三時間を目安で頑張ったんですけど結局六時間かかりました。

一行ずつの役割

@echo off
別にいらないっちゃいらないんですけど作業中にコマンド全部出るのがうざかったのと今後編集することがあった際にいちいち書くのもめんどくさいのでそのまま残しておきました。

setlocal enabledelayedexpansion
こいつが一番厄介でした。for文の中の変数が全然思い通りにならなくてそこで数時間潰したんですが、何か知らんけどfor文の中で変数に代入してもそれが確定されるのがforの処理終わってからとかいうよくわからん仕様(遅延環境変数とかどうのこうの)らしくて、まだよくわかってないけどこの呪文唱えとくと一応代入できるみたいです。

cd /d %~dp0
バッチファイルが置かれてあるディレクトリに移動する。(今回の場合はCubaseProjectsディレクトリ)

set filename=
変数リセット。作成中に以前の処理のが残っててうざかったので書きました。実際の処理では必要ないけど今後編集することがあった際に以下略。

for /d %%f in (名称*) do (
厄介なfor文。
「/d」 ディレクトリの名前を対象にする
「%%f」 変数f。取得したディレクトリの名前が入る。
「in (名称*)」 名称~のディレクトリを対象にする

set folder=%%f
変数folderに取得したディレクトリの名前を代入。

set folder=!folder: =!
ディレクトリの名前にスペースが有ると処理ができないっぽいのでスペースを除去。このときに通常の書き方だと「%folder: =%」とするのだけど、先に書いた遅延環境変数だかなんだかの影響をなくすためには「!」で囲めばいいらしいです。

echo %%f
ちゃんとディレクトリ名取得できているかの確認のための表示コマンド。今後編集することが以下略。

cd %%f
ディレクトリ名を取得したディレクトリの中に入る。

for %%l in (*.cpr) do (
厄介なfor文その2。
「%%l」 変数l。取得したファイル名が入る。
「in (*.cpr)」 .cprと最後につくファイルが対象

cd ..
CubaseProjectsに戻る。

set filename=%%l
変数filenameに取得したファイル名を代入

set filename=!filename: =!
スペース除去

move %%f !filename:~0,-4!
ディレクトリ名変更。「%%f」は元の「名称未設定」。「!filename:~0,-4!」は拡張子「.cpr」を削ったプロジェクトファイル名。

cd %%f
もう一回名称未設定に入ろうとする。が、名前が変更された場合入れない。
)
cd..
.cprファイルがなかった場合、CubaseProjectsに戻るためのコマンド
)

call cr.bat
cr.batの呼び出し。

最後のcd辺りを工夫すれば力業を使わなくても処理できそうな気がするんだけどこれ以上長くするよりはとりあえず動くのでこれでいいや、ということで力業に頼りました。改良版誰か作っといてください。