Andrew Meadows
7410baedf0
merge highfidelity/master into andrew/copernicium
...
Conflicts:
interface/src/avatar/SkeletonModel.cpp
libraries/animation/src/Rig.cpp
libraries/animation/src/Rig.h
2015-09-01 11:08:01 -07:00
Andrew Meadows
bdcc68ce36
fix bug: allow IK to iterate more than once
...
also changed name of parentTransform to be rootTransform
for more correctness
2015-09-01 09:51:14 -07:00
Andrew Meadows
bb63267e30
fix hand IK rotations or all models
2015-09-01 09:45:14 -07:00
Andrew Meadows
d3f06af892
remove PhysicsEntity class
2015-08-27 18:22:12 -07:00
Howard Stearns
8e3d8cd31c
Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates
2015-08-26 16:08:42 -07:00
Howard Stearns
475331a97d
Sprinkle locks everywhere.
2015-08-26 16:08:07 -07:00
Seth Alves
d2eb3108d5
Merge pull request #5644 from howard-stearns/eye-correction-application
...
eye correction correction
2015-08-26 14:46:48 -07:00
Howard Stearns
2ed6900c7e
Clear the brush, clear the cobwebs, and set the other orientations now that we're clear on what coordinate system we're in.
2015-08-25 09:55:04 -07:00
Brad Davis
380b0cb23c
Removing tabs from our javascript and C++
2015-08-24 15:26:46 -07:00
Howard Stearns
476ca36460
final
2015-08-24 15:01:01 -07:00
Howard Stearns
484db87abc
Set head pitch before making downstream eye corrections.
2015-08-24 11:10:29 -07:00
Howard Stearns
941b966dc7
Force eyeball update even when not looking at me.
2015-08-17 11:57:08 -07:00
Howard Stearns
eeeaa8050d
Fix the rush jobs, so gustavo can build build for me...
2015-08-14 18:58:49 -07:00
Howard Stearns
d28c555a79
Synchronize eye joint and debugging vectors when the other avatar is looking at me.
2015-08-14 16:47:34 -07:00
Brad Hefta-Gaub
b726769f15
Merge pull request #5402 from highfidelity/plugins
...
New plugins architecture
2015-08-11 11:11:27 -07:00
Brad Davis
19d31938d3
Merge remote-tracking branch 'upstream/master' into plugins
2015-08-10 21:25:35 -07:00
David Rowe
2c1ba9b6b1
Fix avatar lean forwards and sideways per HMD movements
2015-08-10 21:25:18 -07:00
Howard Stearns
964d04d24f
Restore correct space for eye joint rotations.
...
Also, do not correct for camera position on my avatar. (That will be done by zero or one receivers.)
2015-08-10 12:34:01 -07:00
Bradley Austin Davis
fb2c84484e
Merge remote-tracking branch 'upstream/master' into plugins
2015-08-07 15:26:43 -07:00
Seth Alves
b1e69537f3
Merge pull request #5524 from howard-stearns/cleanup-jointstate
...
Clean Up JointState
2015-08-07 13:50:02 -07:00
Howard Stearns
a840a17106
Change name originalRotation defaultRotation.
2015-08-06 19:45:58 -07:00
Howard Stearns
42cc34cd64
JointState has our own copy of any ivars we want from FBXJoint, instead of keeping a reference to the fbx.
2015-08-06 16:54:09 -07:00
Bradley Austin Davis
7e60aee1bf
Merge branch 'master' into plugins
...
Conflicts:
interface/src/Application.cpp
interface/src/Application.h
interface/src/avatar/Head.cpp
interface/src/avatar/MyAvatar.cpp
interface/src/avatar/MyAvatar.h
interface/src/avatar/SkeletonModel.cpp
interface/src/avatar/SkeletonModel.h
interface/src/devices/3DConnexionClient.cpp
interface/src/ui/overlays/Overlays.cpp
2015-08-06 11:03:37 -07:00
Brad Davis
9215ea8894
Merge pull request #5516 from Atlante45/warnings
...
Fix warning and remove unused headers
2015-08-05 19:12:09 -07:00
Atlante45
3dc8bd47ae
Fix warning and remove unused headers
2015-08-05 16:46:44 -07:00
Howard Stearns
ca6d798aa5
Don't try to animate other people's avatars!
2015-08-05 15:59:22 -07:00
Sam Gondelman
513c652ab3
merge from master and attempt to fix connexion conflicts
2015-08-05 12:42:39 -07:00
Sam Gateau
34183b9ddf
COmmenting the remove of the glLIneWidth and demoving dead code
2015-08-04 12:36:35 -07:00
Sam Gateau
d07ab353fc
remove glLineWidth completely because it s not available anymore for wide lines in core
2015-08-04 11:57:20 -07:00
Seth Alves
c1f777e18f
move setHandPosition from SkeletonModel to AvatarRig. Tell Rig::initJointStates joint-indexes for hands and elbows and shoulders
2015-07-30 18:39:01 -07:00
Anthony J. Thibault
7a10b31dd9
Clear translation on root joint.
...
Also, delete/rename all instances of updateJointState except for the one in Rig
and derived classes.
2015-07-30 15:04:27 -07:00
Brad Davis
f7a2513f26
Merge remote-tracking branch 'upstream/master' into plugins
...
Conflicts:
interface/CMakeLists.txt
interface/src/Application.cpp
interface/src/Menu.cpp
interface/src/Menu.h
interface/src/avatar/MyAvatar.h
tests/ui/src/main.cpp
2015-07-30 12:55:22 -07:00
Howard Stearns
4e7d191fb1
Merge branch 'master' of https://github.com/highfidelity/hifi into rig
2015-07-29 18:53:38 -07:00
Anthony J. Thibault
c2934bdb5d
Fix avatar head, eye and torso twist.
...
* Updated SkeletionModel::updateRig to explicitly pass a set of HeadParameters
to the rig to do procedural animation.
* Moved torso lean procedural animation from SkeletonModel into Rig.
* Moved eye tracking procedural animation from HeadModel into Rig.
* Moved neck procedural animation from HeadModel into Rig.
2015-07-29 17:35:29 -07:00
Howard Stearns
838711e526
Remove avatar->shift hips for idle animations.
...
See https://app.asana.com/0/32622044445063/43127903156601
2015-07-29 15:27:50 -07:00
Anthony J. Thibault
b06485c266
Remove cauterize code from Rig and move it back into Model.
...
* cauterize code is used as at render time and is not dependent on
the jointStates.
* MyAvatar now initialize the bone set used for cauterization and
makes the decision to perform cauterization or not in preRender.
2015-07-28 17:45:33 -07:00
Howard Stearns
4754615159
Fix NPC animations.
2015-07-28 12:34:10 -07:00
Howard Stearns
1bb734aec0
Kill warnings.
2015-07-27 15:26:03 -07:00
Howard Stearns
ef52c0703f
Merge pull request #8 from AndrewMeadows/cadmium
...
remove unused legacy Shapes from Model and friends
2015-07-27 13:20:41 -07:00
Howard Stearns
8196770ed3
Wiring, including avatar position/velocity/orientation data, and an enableRig setting so that we don't break stuff unless turned on.
2015-07-27 12:58:43 -07:00
Andrew Meadows
81831975b5
remove legacy CapsuleShape from SkeletonModel
2015-07-27 12:27:17 -07:00
Andrew Meadows
73ac941230
remove unused legacy Shapes from Model and friends
2015-07-27 11:15:33 -07:00
Andrew Meadows
1bf49d72f1
Merge branch 'rig' of github.com:howard-stearns/hifi into bromine
...
Conflicts:
interface/src/avatar/SkeletonModel.cpp
2015-07-24 10:06:02 -07:00
Andrew Meadows
f40feba36d
Merge remote-tracking branch 'andrew/boron' into bromine
...
Conflicts:
interface/src/avatar/Hand.cpp
interface/src/avatar/Hand.h
interface/src/avatar/SkeletonModel.cpp
2015-07-23 15:29:53 -07:00
Seth Alves
1e19e46aa6
Merge branch 'master' of github.com:highfidelity/hifi into rig
2015-07-23 15:14:19 -07:00
Seth Alves
33c97a1833
get rid of _firstPersonSkeletonModel in MyAvatar. add flag in Rig for joints being dirty so Model knows when to recompute meshes
2015-07-23 15:14:10 -07:00
Bradley Austin Davis
901dd77f05
Merge remote-tracking branch 'upstream/master' into plugins
2015-07-23 18:11:25 -04:00
samcake
805e7326e0
Merge pull request #5396 from ZappoMan/deadCodeRemoval
...
remove non-batch versions of GeometryCache renderXYZ() methods
2015-07-23 11:11:35 -07:00
Bradley Austin Davis
1db4162371
Merge branch 'master' into plugins
2015-07-23 13:42:03 -04:00
Seth Alves
57eb798d63
Merge branch 'master' of github.com:highfidelity/hifi into rig
2015-07-23 09:46:41 -07:00
Andrew Meadows
6657026a12
remove cruft: legacy shapes for skeleton bones
2015-07-23 08:34:44 -07:00
ZappoMan
c2113ea96b
remove non-batch versions of GeometryCache renderXYZ() methods
2015-07-23 07:42:58 -07:00
Seth Alves
ee334ff826
JointStates are owned by Rig objects. Model, FaceModel, SkeletonModel call into their Rig pointer to access JointStates.
2015-07-22 18:43:10 -07:00
David Rowe
11078d0d02
Get Developer > Avatar > Show Collision Bounding Shapes working again
...
Note: Currently doesn't display well because alpha isn't working.
2015-07-22 17:50:56 -07:00
Seth Alves
7c8d52cbd1
back out some changes to Model.cpp, change how rig pointer is delivered to model initilizer
2015-07-22 13:41:31 -07:00
Bradley Austin Davis
114ab9e47f
Merge branch 'master' into plugins
2015-07-22 11:47:56 -04:00
Seth Alves
fecdc08720
merge from upstream
2015-07-21 09:53:51 -07:00
Brad Davis
5744200f64
Merge remote-tracking branch 'upstream/master' into plugins
...
Conflicts:
interface/CMakeLists.txt
interface/src/Application.cpp
interface/src/Application.h
interface/src/avatar/MyAvatar.h
2015-07-20 19:21:02 -07:00
Seth Alves
abfe60aa20
whenever Model class uses _jointState, use the Rig version if there is a Rig.
2015-07-20 18:31:42 -07:00
Sam Gateau
ad1771c738
removing dead code
2015-07-20 17:09:11 -07:00
Sam Gateau
b5090883a0
merge with latest network pr
2015-07-20 15:49:10 -07:00
Sam Gateau
59666f664a
merging my changes to remove cruff from application to AUstin;s latest
2015-07-20 15:37:17 -07:00
Atlante45
e3f7c33767
Fix index check in setJointRotation
2015-07-17 15:39:25 -07:00
Seth Alves
d287817829
give SkeletonModel created by MyAvatar a Rig pointer
2015-07-17 14:52:37 -07:00
Anthony J. Thibault
e8da4b9586
merge with plugins, needs testing
2015-07-16 18:47:39 -07:00
Brad Davis
ae882c8347
Merge remote-tracking branch 'upstream/master' into plugins
...
Conflicts:
interface/src/Application.cpp
interface/src/Application.h
interface/src/Menu.cpp
interface/src/Menu.h
interface/src/avatar/SkeletonModel.cpp
interface/src/devices/OculusManager.cpp
interface/src/devices/TV3DManager.cpp
interface/src/ui/ApplicationCompositor.cpp
interface/src/ui/overlays/LocalModelsOverlay.cpp
2015-07-16 16:37:55 -07:00
samcake
b7ac84e174
Merge pull request #5342 from ZappoMan/removeNakeGL
...
remove some more dead code and naked gl
2015-07-15 17:07:55 -07:00
Howard Stearns
01a3701b52
Merge pull request #5329 from SamGondelman/hydraFix
...
Hydra hand and mouse fixes
2015-07-15 19:03:04 -05:00
ZappoMan
7795eaace6
remove more naked gl
2015-07-15 15:56:27 -07:00
ZappoMan
53c3e3d731
fix CR feedback
2015-07-15 09:03:07 -07:00
ZappoMan
8bb6616a25
remove nakedGL from skeleton IK constraint rendering
2015-07-14 18:47:35 -07:00
Sam Gondelman
f3cb25065f
can't move when hydras at base, hands can deactivate individually
2015-07-14 17:36:22 -07:00
Sam Gondelman
f69b755166
merge with hifi/plugins
2015-07-06 17:41:45 -07:00
Brad Davis
2a1776303d
Merge remote-tracking branch 'upstream/master' into plugins
...
Conflicts:
interface/src/Application.cpp
interface/src/avatar/SkeletonModel.cpp
interface/src/devices/OculusManager.cpp
interface/src/devices/TV3DManager.cpp
2015-07-03 06:17:35 -07:00
Anthony J. Thibault
f0d8916d8a
First crack at room scale tracking from vive HMD.
...
* modifed openvr plugin to return different eye pose matrices.
* avatar position and physics body now follow the head.
* orientation also follows head direction
2015-07-02 09:47:08 -07:00
ericrius1
8129d0eb1f
hydra lasers are now rendering again
2015-07-01 15:12:37 -07:00
ericrius1
8b00864175
hydra hand spheres and lasers are rendering again
2015-07-01 15:04:19 -07:00
Brad Davis
4417c00ae4
Merge remote-tracking branch 'upstream/master' into plugins
...
Conflicts:
interface/src/Application.h
interface/src/Menu.h
2015-06-26 17:02:16 -07:00
Anthony J. Thibault
99a03bac21
Render a different model when in first person view.
...
Currently this model is identical to the third person model, except
that the head bones have been 'cauterized' by applying a zero scale transform.
This allows us to set the near clip back to a reasonable value.
2015-06-24 16:10:47 -07:00
Brad Davis
5818805931
Fixing some merge issues
2015-06-23 17:34:44 -07:00
Brad Davis
967fc62da7
Working on syncing with master
2015-06-22 13:46:03 -07:00
Brad Davis
7f6a49688a
Merge branch 'master' into plugins
...
Conflicts:
interface/resources/qml/AddressBarDialog.qml
interface/src/Application.cpp
interface/src/Application.h
interface/src/Environment.cpp
interface/src/Environment.h
interface/src/devices/TV3DManager.cpp
interface/src/ui/ApplicationOverlay.h
interface/src/ui/overlays/LocalModelsOverlay.cpp
2015-06-10 14:21:48 -07:00
ZappoMan
4ce27f1483
first cut at rendering avatars as individual model items
2015-06-02 16:54:47 -07:00
Brad Davis
dd87707c7b
Merge remote-tracking branch 'upstream/master' into plugins
2015-05-26 18:36:12 -07:00
Brad Davis
b5e6b737c4
Working on display plugins
2015-05-26 17:32:41 -07:00
Andrew Meadows
01cc629224
fix crashes during init and shutdown
2015-05-22 09:20:08 -07:00
Andrew Meadows
7cd9023e23
build Avatar shape on SkeletonModel load
2015-04-24 13:26:26 -07:00
Andrew Meadows
79cb55eabc
rename setJointStates() --> initJointStates()
2015-04-24 13:26:26 -07:00
Andrew Meadows
ef10e5734d
bounding box for skeleton with bad mesh weights
2015-03-31 16:53:33 -07:00
David Rowe
a04bd09b83
Set clip near distance per skeleton model if no separate head model
2015-03-17 16:32:59 -07:00
Andrew Meadows
645fc7dbc9
remove unused variable
2015-03-13 09:39:06 -07:00
Andrew Meadows
be252147e2
merge upstream/master into andrew/isentropic
2015-03-12 16:38:59 -07:00
Andrew Meadows
1f3a267b16
compute correct bounding shape dimensions
2015-03-12 16:34:47 -07:00
Stephen Birarda
471e55c8ce
fix some lingering warnings
2015-03-12 12:36:39 -07:00
Andrew Meadows
feafa0a60b
remove old Ragdoll and avatar interactions
2015-03-11 14:29:03 -07:00
David Rowe
aad3f1dfd9
Automatically switch to default model if avatar model is skeletonless
2015-03-03 22:34:07 -08:00
David Rowe
30b77d4200
Don't crash if avatar model at start-up or loaded is skeletonless
2015-03-03 22:34:06 -08:00
Stephen Birarda
fc2f6d47bb
remove references to PrioVR in interface code
2015-02-26 17:28:00 -08:00
Andrew Meadows
28a3c3f469
separate new shape types from legacy
2015-02-03 08:34:06 -08:00
ZappoMan
bddb7856af
more work
2015-01-19 13:34:09 -08:00
ZappoMan
db94949649
Merge branch 'master' of https://github.com/highfidelity/hifi into gpuStreamizing
...
Conflicts:
interface/src/avatar/SkeletonModel.cpp
2015-01-14 17:55:03 -08:00
ZappoMan
e6388a65b9
rough pass at adding color to geometry cache
2015-01-13 20:53:05 -08:00
Atlante45
2a82ff9768
Merge branch 'master' of https://github.com/highfidelity/hifi into applications_diet_cpp11
...
Conflicts:
assignment-client/src/voxels/VoxelServer.cpp
interface/src/Application.cpp
interface/src/Audio.cpp
interface/src/DatagramProcessor.cpp
interface/src/Menu.cpp
interface/src/Util.cpp
interface/src/avatar/MyAvatar.cpp
interface/src/ui/ApplicationOverlay.cpp
interface/src/ui/PreferencesDialog.cpp
libraries/networking/src/NodeList.cpp
libraries/shared/src/DependencyManager.h
2015-01-13 11:03:14 -08:00
ZappoMan
a03c2b79fa
first cut at adding colors to GeometryCache and supporting batch internally
2015-01-08 15:52:33 -08:00
ZappoMan
1bfce7d876
more removal of immediate mode
2015-01-06 14:14:13 -08:00
ZappoMan
0d63391be8
formatting
2015-01-06 12:31:42 -08:00
ZappoMan
bd1612f6a4
Merge branch 'master' of https://github.com/highfidelity/hifi into gpuStreamizing
2015-01-05 16:51:31 -08:00
ZappoMan
a20fa1242d
first cut are removing immediate mode GL_LINES
2015-01-05 15:46:48 -08:00
ZappoMan
9630279459
Merge branch 'master' of https://github.com/highfidelity/hifi into voxelEctomy
...
Conflicts:
examples/editVoxels.js
examples/fallingSand.js
examples/growTrees.js
interface/src/Application.cpp
interface/src/Application.h
libraries/avatars/CMakeLists.txt
libraries/entities/src/EntityItem.h
2014-12-31 10:50:53 -08:00
ZappoMan
4ea9bbc309
first major pass at voxelEctomy
2014-12-30 18:08:58 -08:00
Philip Rosedale
f4f43d6b38
added twisting of torso to follow head, fixed bug with body rotation not factored out of head rotation, removed credits from title bar
2014-12-30 15:11:32 -08:00
Atlante45
296c0025de
Switched to auto and changed macro
2014-12-18 15:42:38 -08:00
Atlante45
2039895898
Merge branch 'master' of https://github.com/highfidelity/hifi into applications_diet
...
Conflicts:
interface/src/Application.cpp
interface/src/Application.h
interface/src/renderer/GlowEffect.cpp
interface/src/renderer/TextureCache.cpp
2014-12-16 14:27:50 -08:00
ZappoMan
90c1132dd5
reduce calls to DependencyManager::get<> where possible
2014-12-15 11:28:57 -08:00
ZappoMan
e0a017e963
make GeometryCache work with DependancyManager
2014-12-15 10:49:34 -08:00
ZappoMan
4ac673fe63
more render util cleanup
2014-12-15 08:16:42 -08:00
Andrew Meadows
1b778603c8
fix for crash in SkeletonModel::updateStandingFoot()
2014-11-20 14:21:08 -08:00
Atlante45
4d5451fafe
Merge branch 'master' of https://github.com/highfidelity/hifi into death_to_dot_f
...
Conflicts:
interface/src/avatar/Avatar.cpp
interface/src/avatar/SkeletonModel.cpp
2014-11-19 17:28:24 -08:00
Atlante45
ae3bcc8f06
No more .f
2014-11-19 16:53:39 -08:00
Andrew Meadows
6673d9d0c2
avatar stands on lowest toe
2014-11-19 09:13:24 -08:00
Andrzej Kapolka
14eb87aefd
Eliminate wacky scales in favor of newfangled "meters."
2014-11-14 12:23:47 -08:00
Andrew Meadows
4c3cdf5b7a
move stuff out of shared and into physics library
2014-10-28 13:51:45 -07:00
Andrew Meadows
c1728c0296
Merge upstream/master into andrew/experimental
2014-10-27 10:08:48 -07:00
Sam Gateau
4f26c9e0fa
fix formatting and syntax issues
2014-10-06 11:06:23 -07:00
Andrew Meadows
01a3eaa26b
added experimental MyAvatar.setSkeletonOffset()
...
for improved walk animations
2014-10-05 19:10:55 -07:00
Sam Gateau
738369e21f
Replacing glutSolidSphere by a cached Geometry
...
Instead of calling glutSolidSphere, just call Application::getInstance()->getGeometryCache()->renderSphere(...)
- replaced all the instances of "glutSolidSphere"
- Changed the atmosphere shaders so instead of drawing a sphere of the size of the atmosphere, we draw a unit sphere, the vertices get scaled at the right radius in th vertex shader using fOuterRadius
2014-10-03 16:55:58 -07:00
David Rowe
dbf6daf80c
Fix default eye model calculation to be reliable
2014-09-27 11:25:37 -07:00
David Rowe
c0419c61f4
Fix missing constructor initialization
2014-09-26 09:15:17 -07:00
David Rowe
aa9511c263
Position Rift camera at avatar model's mid-eye location
2014-09-25 22:49:12 -07:00
David Rowe
f95e20153c
Fix upright head model position calculation for avatar scale changes
2014-09-22 15:13:08 -07:00
David Rowe
a11bf7f15b
Decouple Rift head tracking from avatar's head position
...
This makes the Rift's view reflect the user's physical movements exactly
while the avatar follows the movements as best it can.
2014-09-22 11:02:12 -07:00
Andrzej Kapolka
4a2e68fea4
Fix for eyes on skeleton (e.g., Mixamo) models.
2014-09-17 15:36:22 -07:00
Andrzej Kapolka
df192e297c
Apply blendshapes to skeleton as well as head.
2014-09-11 14:01:11 -07:00
Andrew Meadows
1e19566e93
fix for bad avatar bounding shape on resize
2014-09-04 09:53:07 -07:00
Andrzej Kapolka
e29a4e7683
Merge pull request #3312 from AndrewMeadows/ragdoll
...
use dispatchTable for shape-vs-shape collision queries
2014-08-25 15:43:48 -07:00
Andrew Meadows
3ebd8c1969
use dispatchTable for shape-vs-shape collisions
2014-08-21 16:40:25 -07:00
Andrew Meadows
7e4c72445e
JS scripts set joint animation priorities
2014-08-20 17:14:59 -07:00
Andrew Meadows
a01d3781d9
simplified SkeletonModel::maybeUpdateLeanRotation()
2014-08-20 12:48:52 -07:00
Andrew Meadows
f511fe2657
Ragdoll cannot assume skeleton's rootIndex is 0
...
some Models have extra "joints" not part of the normal skeleton
2014-08-19 11:31:50 -07:00
Atlante45
6d567e67a9
Merge branch 'master' of https://github.com/highfidelity/hifi into record_feature
2014-08-18 15:41:19 -07:00
Atlante45
1d30b52ec2
Merge branch 'master' of https://github.com/highfidelity/hifi into record_feature
2014-08-18 14:23:40 -07:00
Andrew Meadows
c2f4648ad7
Merge branch 'ragdoll' of ssh://github.com/AndrewMeadows/hifi into ragdoll
2014-08-18 12:55:10 -07:00
Andrew Meadows
7e7978de1a
compute and store Ragdoll::_accumulatedMovement
2014-08-18 12:53:04 -07:00
Andrew Meadows
77047b0130
no NULL check on delete SkeletonModel::_ragdoll
2014-08-18 11:25:51 -07:00
Atlante45
9e5b68fa9d
Merge branch 'master' of https://github.com/highfidelity/hifi into record_feature
2014-08-14 15:38:03 -07:00
Andrew Meadows
60d411ead5
cleanup Ragdoll API (less "ragdoll" qualifiers)
2014-08-14 14:41:51 -07:00
Andrew Meadows
46c91052c9
split SkeletonModel and Ragdoll classes apart
2014-08-14 14:29:03 -07:00
Atlante45
2981132395
Merge branch 'master' of https://github.com/highfidelity/hifi into record_feature
2014-08-14 11:39:44 -07:00
Andrew Meadows
ca4a23e532
use "visible joint positions" for MyAvatar only
2014-08-14 09:21:15 -07:00
Atlante45
73a3a13c59
More recording work
2014-08-12 18:15:48 -07:00