Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
👾&⌚️
Search
giginet
PRO
March 03, 2017
Programming
11k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
👾&⌚️
try! Swift 2017
giginet
PRO
March 03, 2017
More Decks by giginet
See All by giginet
🀄️ on swiftc
giginet
PRO
0
630
15年メンテしてきたdotfilesから開発トレンドを振り返る 2011 - 2026
giginet
PRO
2
510
Claude Codeログ基盤の構築
giginet
PRO
7
4.8k
Inside of Swift Export
giginet
PRO
1
3.6k
Swiftビルド弾丸ツアー - Swift Buildが作る新しいエコシステム
giginet
PRO
0
3k
SwiftでMCPサーバーを作ろう!
giginet
PRO
3
500
Creating Intuitive Developer Tool in Swift
giginet
PRO
0
1.7k
Mergeable Libraryで 高速なアプリ起動を実現しよう!
giginet
PRO
2
8.7k
5分でわかるExplicitly Built Modules
giginet
PRO
2
2k
Other Decks in Programming
See All in Programming
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
8.8k
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
110
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
3
290
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
110
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.7k
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
260
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
170
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.4k
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
240
ChromeでローカルLLM
ryu1013
0
200
SODA - FACT BOOK(EN)
sodainc
1
210
protojson における文字化けの扱い
kazuki1023
0
150
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7.1k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Documentation Writing (for coders)
carmenintech
77
5.6k
Navigating Weather and Climate Data
rabernat
0
590
The Pragmatic Product Professional
lauravandoore
37
7.5k
Paper Plane
katiecoart
PRO
5
55k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
680
Rails Girls Zürich Keynote
gr2m
96
14k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
350
Transcript
@giginet
&⌚
None
None
None
None
None
FCEUX(C++)
try! Objective-C
Metal OpenGL ES RENDERING
var texture: SKTexture { guard let videoBuffer: UnsafeRawPointer = emulatorCore.videoBuffer()
else { fatalError() } let data = Data(bytes: videoBuffer, count: Int(bufferCount)) let size = CGSize(width: 256, height: 240) return SKTexture(data: data, size: size, flipped: true) }
import AVFoundation // let destinationBuffer: AVAudioPCMBuffer! // Get source buffer
let sourceBuffer = UnsafeBufferPointer<Int16>(start: head.assumingMemoryBound(to: Int16.self), count: bufferLength) // Copy samples to AVAudioPCMBuffer for channel in 0..<channelCount { let samples = UnsafeMutableBufferPointer<Float32>(start: destinationBuffer.floatChannelData?.pointee, count: bufferLength) for frame in 0..<frameLength { // Cast 16bit audio to 32bit samples[frame] = Float32(audioBuffer[frame * channelCount + channel]) } } AUDIO
▸CoreMotion ▸WKGestureRecognizer ▸Tap ▸LongPress ▸Swipe ▸Pan ▸WKCrownDelegate, WKCrownSequencer INPUTS
Touch Down Touch Up WKTapGestureRecognizer
// super rapidly long press(1 frame) longPressGestureRecognizer.minimumPressDuration = 1.0 /
60.0 WKLongPressGestureRecognizer
None
public enum Button: UInt32 { case a = 1 case
b = 2 case select = 4 case start = 8 case up = 16 case down = 32 case left = 64 case right = 128 } if sender.state == .began { controllerState |= button.rawValue } else if sender.state == .ended { controllerState &= ~button.rawValue }
https://github.com/giginet/NESEmulator-watchOS
None
Have a nice Pokémon GO Life!
None