マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

Java

自己満足なテキストエディタ

JavaのSwingを使って自己満足なテキストエディタを作っています。Javaのソースコードの編集機能の充実やエディタから手軽にコンパイル&実行ができたらいいなと思いながら自己満足エディタを作っています。行番号が微妙にずれているので修正しないとね

ドット絵エディタ ちょっとずつ変化しているけど

少しずつプログラムは変化しているけどまだこれといった大きな変化はない。それなりにドット絵は作れるのでドット絵の練習をした方がよさそう

いろいろやっています

JavaでMIDI関係も弄ってます。Java8からラムダ式導入の流れでActionListenerとかわりと楽に書けるようになったけどSwingのRendererあたりはそれ以上に簡略化の恩恵を受けているので非常に楽になった。ただMouseListenerはなんとかならんのか… package net.d_…

ドット絵エディタの最低限の機能は実装したかな?

レイヤーとカラーパレットで色を作ったり2つの色を選んでグラデーション作ったりできるようになって、あとは細かい機能や見た目や操作性を整えたい。あとは当初の目的であったドット絵描きましょうねって話です

ドット絵エディタスクリーンショット

進捗アピールのためにとりあえずドット絵エディタのスクリーンショットを貼っておきます。レイヤーをわけのチェックをしていますが、そのうちドット絵を自分で描くときに使う(使わない可能性もある

ドット絵エディタの進捗

以下の機能が追加された模様 ポップアップで全体図を表示 レイヤー機能のちょっと修正 行数的には1600あたり

ドット絵エディタ進捗

ドット絵エディタにレイヤー機能を追加した。現時点での全体の行数は1500行ぐらいで自分で編集しているJavaファイルの数は14だった。自分で思ってるより3倍ぐらいの行数で思ったよりプログラムを書いているのかもしれない。 行数だけでプログラムの規模を判…

進捗ありません!

進捗あるかどうかと聞かれたら無いと答えるけど地味にあるのかもしれない。久しぶりにプログラミングしてました。ドット絵エディタを進めてたけど見た目的な変化はほぼない模様。ツールバー(?)のアイコンはこのエディタで作ったやつです

JavaのMapの初期化と列挙

Javaの連想配列的な存在のMapですが、初期化や列挙がめんどくさかったりしましたがだいぶ変わってきたなという印象です。ただ、初期化用の構文ができたとかそういうわけではないけど、javadoc見ていたらいろいろ加わったんだなと思った。列挙に関しては以前…

Java 12入れた

JavaFXが標準SDKにはいってないとかどーとかなので気にせずSwing使っていきます import java.util.List; import java.util.ArrayList; import java.util.stream.Stream; import javax.sound.sampled.Mixer; import javax.sound.sampled.AudioSystem; import …

とりあえずJavaでMIDI編 その1

現在以下のようなXMLを読み込ませるとピアノがドレミファソラシドと8分で鳴らし、ベースはドを8分で鳴らし続け、ドラムは8ビートの基本的なパターンでバスドラムとスネアのみが鳴る。適当にSMF形式のファイル読み込めるようにして鳴らしてみようかな <MidiMusic> <Tracks> <Track number="1" program="0"> <NoteList> <Note pitch="60" position="0" type="144" velocity="100"/> </note></notelist></track></tracks></midimusic>

エントリ数を稼ぐためにソースコードを貼り付けるd-kami

まぁ、何か作ってますよ程度のもの。Java FXとJava Sound APIを使って遊んでるだけです import javafx.stage.Stage; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.B…

何となくMIDI

なんかいろいろおかしくなってるので要素名を修正するつもりだがJAXBで出力したXML。これを読み込んでJavaで鳴らしている。現在ベースとドラムが鳴っている模様 <MidiMusic> <Tracks> <Track number="0" program="34"> <NoteList> <Note Note="34" Position="0" Type="144" Velocity="100"/> </note></notelist></track></tracks></midimusic>

何度目かのJAXB

MIDI用のクラスを作り、JAXB使ってXMLで出力… わりと適当 <MidiMusic> <Tracks> <Track program="0"> <NoteList> <Note Length="0" Note="48" Start="0" Velocity="100"/> </NoteList> </Track> </Tracks> </MidiMusic>

JavaFXでファイルマネージャー編 その9 ファイルビューのソースコードの修正

前回のソースコードではJava8なのにSimpleDateFormatが使われていた! JavaFXでファイルマネージャー編 その8 ファイルビューのソースコード - マイペースなプログラミング日記ので今回はLocalDateTimeやDateTimeFormatterを使うように修正した。修正前 priv…

JavaFXでファイルマネージャー編 その8 ファイルビューのソースコード

書くことが無いから適当にソースコードを貼っておく。TableViewを継承したファイルの名前やサイズなどを表示するテーブル用のクラス。Fileの最終更新時間などを取得してLocalDateTimeやDateTimeFormatterに持っていくにはDateを経由すればいいんだろうか?と…

JavaFXでファイルマネージャー編 その7 ファイルのドラッグ&ドロップ

久しぶりにソースコードを載せてみる。とりあえずTableViewに対してデスクトップなどからファイルのドラッグ&ドロップされたときの処理。今はドロップされたファイルの名前が標準出力に行くだけです table.setOnDragOver(event -> { if(event.getGestureSour…

JavaFXでファイルマネージャー編 その6 画像をポップアップ表示

はい、Popup使って見ましたが…現在のところ最前面にでてしまいます。他のアプリケーションのウインドウさえかくしてしまう…とりあえず表示されているイラストはマスもふさんのイラストです

JavaFXでファイルマネージャー編 その4 関連付けられたアプリケーションを起動して開く

JavaFXじゃなくてAWTのAPIだけどDesktop#openで関連付けられたアプリケーションを起動してファイルを開けるようになりました。アイコンの件でキャッシュを導入してみたけど特定の動作をさせるとSwingNodeのprefWidthでNullPointerExceptionが発生する模様…も…

JavaFXでファイルマネージャー編 その3 とりあえずアイコン設定

TreeViewとTableViewへのアイコン設定が終わった…が実はまだ問題が残っていてupdateItemの中でアイコンを取得して設定してるからスクロールなんかの度にちらつきが…明日の課題です

いろいろ調査

JavaFXのTreeViewやTableViewなどのカスタマイズするために参考になりそうなページ。あとで読む aoe-tk.hatenablog.com あと、これからの予定でSwingが絡んできそうなのでJavaFXとSwingの連携に関して調べていかないと。特にUIスレッド周り。JavaFXアプリケ…

JavaFXでファイルマネージャー編 その2

TreeView側のアイコン設定が出来た模様…、あとはTableView側も頑張りたい Java

JavaFXでファイルマネージャー編 その1

しばらく小さな目標に向けてプログラミングしていくスタイル。すでにその3ぐらいだけど、ここからスタートということで…とりあえず左のTreeViewで選んだフォルダのファイルを右のTableViewで表示している様子。アイコンとか設定してないのでファイルかフォル…

簡単なことだった…

File#isDirectoryでTreeItemに追加するかどうかを判断すればよかっただけだよな…感が鈍っててよくない

小さな目標スタート

JavaFXで簡単なファイルマネージャー的な何かを作ってみようかと…左のフォルダビューに余計なファイルが表示されてるのでそれらを排除しないとな…

GWTでWeb Audio API その2

とりあえずデモ(?)が完成した。Web Audio APIに対応したブラウザで下記リンクを開いてボタンを押せば音が鳴り始めるはず… http://d-kami.net/gwt/sound/SoundTest2.html

GWTでWeb Audio API

そんなライブラリは無さそうだ?なのでJSNI使って音を鳴らしてみている。ある程度進んだらデモを公開しながら何かする…何をするのか…?

なんとなくバスドラムとスネアドラムで8ビート

ボタンを押すたびによくあるドラムの8ビートパターンを鳴らすようにしてみました。今回はボタンを押すたびにタイマを毎回生成しない仕様。しかもちゃんとタイマの状態をチェックしているので途中でパターンがおかしくなることもないと思われる import javafx…

なんとなく定期的にバスドラムを鳴らしてみる

JavaFXのタイマ使って8回バスドラムを鳴らしてみます。 参考↓ JavaFX 8でタイマー(処理の定期実行)を実装する -- ぺけみさお下記プログラムの弱点は!ボタンを押すたびに新しいタイマが起動してバスドラムを鳴らすので、実行中のタイマが終わる前にボタンを…

なんとなくMIDIでバスドラムを1発鳴らしてみる

GM(?)ならとりあえず10チャンネルで音を鳴らせばドラムになる模様。バスドラムの音は36らしい。35にもなんかあるけど https://ja.wikipedia.org/wiki/General_MIDIチャンネル10だがプログラム的には0から始まる番号なので9になる。間違えて10って書きそう… i…