Skip to content

Instantly share code, notes, and snippets.

View maedaunderscore's full-sized avatar

Yasuyuki Maeda maedaunderscore

View GitHub Profile
@maedaunderscore
maedaunderscore / future_and_dispatch.swift
Created October 29, 2020 09:27
swift + CombineフレームワークのFuture + DispatchQueueを組み合わせる
import Combine
import SwiftUI
func run1() -> Future<String, Never>{
return Future{ promise in
promise(.success("OK1: \(Thread.isMainThread)"))
}
}
func run2() -> Future<String, Never>{
<table>
<tbody>
<tr>
<td>13:10</td>
<td colspan="4"><b>挨拶</b></td>
</tr>
<tr>
<td>13:12〜13:30</td>
<td colspan="4"><b>忍者発表会</b></td>
</tr>
@maedaunderscore
maedaunderscore / memo.st
Last active December 22, 2015 16:00
ScratchをSmalltalkで操作してジングルベルを演奏する(https://www.youtube.com/watch?v=BJ9-j91ZUXU) でコピペしているコード
* 音のブロックを作る + ユーティリティクラス定義
[| last soundColor controlColor |
Smalltalk garbageCollect.
stage _ ScratchStageMorph allInstances first.
soundColor _ (stage class blockColorFor: 'sound').
controlColor _ (stage class blockColorFor: 'control').
last _ nil.
#(
(1.0
@maedaunderscore
maedaunderscore / build.st
Last active August 29, 2015 14:27
Smalltalk から Scratchのブロックを組み立てる
| master numbersTable numbersPosition commonParts toShowParts toHideParts |
"assume there are sprites named 'master' and 'separator', then run inside ScratchStageMorph"
(self sprites
reject: [:x| {'master' asUTF8. 'separator' asUTF8} includes: x objName]) do: [:x | x delete].
master _ self sprites detect: [:x| x objName = 'master'].
numbersTable := #(
@maedaunderscore
maedaunderscore / ogic example.v
Created July 18, 2015 07:53
logic example.v exo0
Lemma exo0 : forall P : Prop, P -> P.
Proof.
move=> P.
move=> P2.
apply P2.
Qed.
@maedaunderscore
maedaunderscore / UGenの作り方.markdown
Last active August 29, 2015 14:13
UGenの作り方

ファイルの置き場所

SC上で下記を実行して、ユーザーコンフィグディレクトリを調べてください。

Platform.userConfigDir

下記の場所にファイルを置いておくと、SC起動時に読み込まれます。(サブディレクトリも探索されます。)

&lt;ユーザーコンフィグディレクトリ&gt;/Extensions
@maedaunderscore
maedaunderscore / gist:865ba8de12f19d2e9942
Created October 26, 2014 08:04
読み込み先を環境依存しないように
somCodePath := (FileSystem disk workingDirectory path parent parent parent parent / 'som-code') asFileReference asString.
SOMTools setClassPathBase: somCodePath; recompile.
(global-set-key (kbd "s-f") (lambda () (interactive) (sclang-eval-string "s.freqscope")))
(global-set-key (kbd "s-C-s") (lambda () (interactive) (sclang-eval-string "Server.local.makeGui;Server.internal.makeGui")))
(global-set-key (kbd "s-y") (lambda () (interactive)
(sc-eval-paragraph)
(lap-stopwatch)))
(global-set-key (kbd "C-s-y") 'clear-stopwatch)
(global-set-key (kbd "s-w") 'show-stopwatch)
(global-set-key (kbd "s-e") 'replace-with-twice)
(global-set-key (kbd "C-s-e") 'replace-with-half)
(global-set-key (kbd "s-h") 'sclang-eval-line)
@maedaunderscore
maedaunderscore / gist:1ce2025e5d4eff3f785f
Created July 15, 2014 08:28
選択された領域の最初と最後の文字を削るelisp
(defun delete-outer-char (&optional b e)
(interactive "r")
(delete-region (- e 1) e)
(delete-region b (+ b 1)))
@maedaunderscore
maedaunderscore / 改良版
Last active August 29, 2015 14:00
Resonz使ってみた
// ・Resonzのノイズは、各音の始まりだけに混じるようにする
// ・音が長いところは、後半にビブラートかける(音量に揺れができる)
// ・息継ぎがないので、どこかのタイミングで(1フレーズごと?)に音を切る
(
SynthDef(\main, { |out=0, note=81, next=81, dur=1, gate = 1, tempo=1, breath=0|
var freq = [note, note+Rand(-0.02,0.02)!3, next].midicps;
var d = dur / tempo;
var t = d / 4.0;
var freqEnv = EnvGen.ar(Env(freq, [t * 3, t], \exp));
var cross = d / 32.0;