I created a Cocos2d Plugin for the Razer SDK. There’s several ways to build Cocos2d (i.e. Visual Studio, Android Studio, and XCode). The Visual Studio build process doesn’t support the AAR format yet, so the plugin uses the JAR format. The Android Studio gradle files do support AAR files.
[Cocos2d Plugin Razer SDK]
Arlington’s Glasair becomes state’s 2nd largest plane maker
APPLE CAMPUS 2 August 2016 Construction Update 4K
Mari 40% OFF August 9th, 10th
Cocos2d
I’ve started to learn the [Cocos2D Engine]. So far I have it building and running on Android. The next step is to add an IAP sample.
Hyperloop construction begins
It’s only a matter of time before there’s a Hyperloop ride from Seattle to Vegas that only takes 30 minutes instead of a 3 hour flight…
Steamworks SDK
The [Steamworks] developer portal has links to the docs and SDK for publishing games on Steam. There’s also a [Steamworks Group] to talk with other developers using the Steam API once you’ve been granted access.
PlayFab Live Day 2
PlayFab is doing live all-day webcasts and today is day two. Marco covered a presentation on “Building a Custom Multiplayer Game Server” over the first hour.
Playfab does BAS solutions and server-side scripting. They have plugins for all the game engines.
Windows 10 Upgrade
Today is the last day to upgrade to Windows 10 for free. I’m running Windows 10 on everything else, but my Razer Blade 14″ is running Windows 8. I need to reinstall anyway since I had some old dependencies that were getting in the way of compiling UE4 for Android.
Missing Android.Widget.ProgressBar.ProgressTintList Property
Way back when, I asked on the forums how to set the [Missing Android.Widget.ProgressBar.ProgressTintList Property]. Somebody responded, so that’s how you do it. I was doing something in Java that I wanted to do in Xamarin. The app had a progress bar that showed the OBB download progress on Android.
Overview of the RazerSDK Unity Plugin
Odin UE4 Plugin
[Odin] is UE4 Plugin that can save an entire blueprint sheet to disk at full resolution.
UE4 Plugin for Razer SDK
I created a UE4 Plugin for the Razer SDK. The build process doesn’t support the AAR format yet, so the plugin uses the JAR format.
[UE4 Plugin Razer SDK]
Stan Lee meets Real Tony Stark at Legacy Effects
Renew Business 2016
Each year, I register my business legal entity at [secure.dor.wa.gov]. [Washington State Secure Access]
PAX Seattle Sept 2nd-5th, 2016
[PAX] is hosted at the Washington Convention Center in Seattle on September 2nd-5th.
Farmbot.io
Adobe Air / Anime CC / Flash Plugin for Razer SDK
I created an Adobe Native Extension for the Razer SDK. The AIR compiler doesn’t support the AAR format yet, so the plugin uses the JAR format.
[Adobe Air Razer SDK]
Unity Plugin Razer SDK
I created a new Unity Plugin for the Razer SDK. In Unity 5.X, the plugin can use the AAR format. In lesser versions, the JAR format is used.
[Unity Plugin Razer SDK]
StrangeIoC
[StrangeIoC] is a free open-source MVVM framework to help write clean modular code in C#.
Ben Heck’s Raspberry Pi Zero Portable Computer
Adobe Animate CC Android Compile Logs
Plantronics Voyager Legend with sdptool
sdptool records 48:C1:AC:E2:21:A7
Service RecHandle: 0x10000
Service Class ID List:
“PnP Information” (0x1200)
Service Name: Hands-Free unit
Service RecHandle: 0x10001
Service Class ID List:
“Handsfree” (0x111e)
“Generic Audio” (0x1203)
Protocol Descriptor List:
“L2CAP” (0x0100)
“RFCOMM” (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
“Handsfree” (0x111e)
Version: 0x0106
Service Name: Headset
Service RecHandle: 0x10002
Service Class ID List:
“Headset” (0x1108)
“” (0x1131)
“Generic Audio” (0x1203)
Protocol Descriptor List:
“L2CAP” (0x0100)
“RFCOMM” (0x0003)
Channel: 2
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
“Headset” (0x1108)
Version: 0x0102
Service RecHandle: 0x10003
Service Class ID List:
“Audio Sink” (0x110b)
Protocol Descriptor List:
“L2CAP” (0x0100)
PSM: 25
“AVDTP” (0x0019)
uint16: 0x0102
Profile Descriptor List:
“Advanced Audio” (0x110d)
Version: 0x0102
Service RecHandle: 0x10004
Service Class ID List:
“AV Remote” (0x110e)
“AV Remote Controller” (0x110f)
Protocol Descriptor List:
“L2CAP” (0x0100)
PSM: 23
“AVCTP” (0x0017)
uint16: 0x0103
Profile Descriptor List:
“AV Remote” (0x110e)
Version: 0x0104
Service RecHandle: 0x10005
Service Class ID List:
“AV Remote Target” (0x110c)
Protocol Descriptor List:
“L2CAP” (0x0100)
PSM: 23
“AVCTP” (0x0017)
uint16: 0x0103
Profile Descriptor List:
“AV Remote” (0x110e)
Version: 0x0104
Service Name: PBAP Client
Service RecHandle: 0x10006
Service Class ID List:
“Phonebook Access – PCE” (0x112e)
Profile Descriptor List:
“Phonebook Access” (0x1130)
Version: 0x0101
Service Name: PltHeadsetDataService
Service RecHandle: 0x10007
Service Class ID List:
UUID 128: 82972387-294e-4d62-97b5-2668aa35f618
Protocol Descriptor List:
“L2CAP” (0x0100)
“RFCOMM” (0x0003)
Channel: 5
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Plantronic Voyager Legend Bluetooth and PyOBEX
After running into PBAP profile issues with BlueZ, this stackoverflow post [Phone Book Access (PBAP) client for Linux (Raspberry Pi)] suggested trying [PyOBEX].
Install the Python library.
sudo pip install PyOBEX
The [PyOBEX] repository needs Mecurial.
sudo apt-get install mercurial
Clone the examples.
hg clone https://user@bitbucket.org/dboddie/pyobex
Plantronic Voyager Legend Bluetooth and BlueZ
According to the specifications, Platronics Voyager Legend uses [Phone Book Access Profile (PBAP)]. BlueZ lists [PBAP] as a supported protocol.
python test/test-device list
48:C1:AC:E2:21:A7 PLT_Legend
python test/test-device connect 48:C1:AC:E2:21:A7 PBAP
Name=PLT_Legend
Paired=1
Modalias=bluetooth:v0055p0113d005D
Connected=0
Address=48:C1:AC:E2:21:A7
Alias=PLT_Legend
dbus.Dictionary({dbus.String(u’Name’): dbus.String(u’PLT_Legend’, variant_level=1), dbus.String(u’Paired’): dbus.Boolean(True, variant_level=1), dbus.String(u’Modalias’): dbus.String(u’bluetooth:v0055p0113d005D’, variant_level=1), dbus.String(u’Adapter’): dbus.ObjectPath(‘/org/bluez/hci0′, variant_level=1), dbus.String(u’LegacyPairing’): dbus.Boolean(False, variant_level=1), dbus.String(u’Alias’): dbus.String(u’PLT_Legend’, variant_level=1), dbus.String(u’Connected’): dbus.Boolean(False, variant_level=1), dbus.String(u’UUIDs’): dbus.Array([dbus.String(u’00001108-0000-1000-8000-00805f9b34fb’), dbus.String(u’0000110b-0000-1000-8000-00805f9b34fb’), dbus.String(u’0000110c-0000-1000-8000-00805f9b34fb’), dbus.String(u’0000110e-0000-1000-8000-00805f9b34fb’), dbus.String(u’0000111e-0000-1000-8000-00805f9b34fb’), dbus.String(u’00001200-0000-1000-8000-00805f9b34fb’), dbus.String(u’82972387-294e-4d62-97b5-2668aa35f618′)], signature=dbus.Signature(‘s’), variant_level=1), dbus.String(u’Address’): dbus.String(u’48:C1:AC:E2:21:A7′, variant_level=1), dbus.String(u’Blocked’): dbus.Boolean(False, variant_level=1), dbus.String(u’Class’): dbus.UInt32(2360324L, variant_level=1), dbus.String(u’Trusted’): dbus.Boolean(True, variant_level=1), dbus.String(u’Icon’): dbus.String(u’audio-card’, variant_level=1)}, signature=dbus.Signature(‘sv’))
Traceback (most recent call last):
File “./test-device”, line 117, in
device.ConnectProfile(args[2])
File “/usr/lib/python2.7/dist-packages/dbus/proxies.py”, line 70, in __call__
return self._proxy_method(*args, **keywords)
File “/usr/lib/python2.7/dist-packages/dbus/proxies.py”, line 145, in __call__
**keywords)
File “/usr/lib/python2.7/dist-packages/dbus/connection.py”, line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.bluez.Error.NotAvailable: Operation currently not available
python test/pbap-client 48:C1:AC:E2:21:A7
Creating Session
Traceback (most recent call last):
File “pbap-client”, line 128, in
session_path = client.CreateSession(sys.argv[1], { “Target”: “PBAP” })
File “/usr/lib/python2.7/dist-packages/dbus/proxies.py”, line 70, in __call__
return self._proxy_method(*args, **keywords)
File “/usr/lib/python2.7/dist-packages/dbus/proxies.py”, line 145, in __call__
**keywords)
File “/usr/lib/python2.7/dist-packages/dbus/connection.py”, line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownObject: Method “CreateSession” with signature “sa{ss}” on interface “org.bluez.obex.Client1” doesn’t exist