Giter Site home page Giter Site logo

radarsat1 / dimple Goto Github PK

View Code? Open in Web Editor NEW
15.0 15.0 7.0 8.58 MB

This project is an implementation of a physical dynamics environment which can be controlled via OSC, so that audio projects such as PureData can create physical objects in a virtual space, and then let them interact with each other, colliding and otherwise moving around. Data about objects' position and acceleration, for example, can be retrieved and then used to affect some sort of audio synthesis. This repository is a mirror of the main DIMPLE git repository hosted on idmil.org.

Home Page: http://idmil.org/software/dimple

License: GNU General Public License v2.0

Python 6.45% Shell 5.48% C++ 26.55% Objective-C 0.07% C 0.02% Makefile 0.18% M4 1.09% ChucK 0.18% Max 59.86% CMake 0.12%

dimple's People

Contributors

radarsat1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dimple's Issues

Can't get DIMPLE working properly

Hello,

we are a student group at the University of Technology Dresden and we are currently trying to get DIMPLE to work.

We are using Windows 10 and we got our Phantom Omni to work with it. But we can’t get DIMPLE to work with it. We installed DIMPLE and PureData Extended and we tried the test/test.pd script, but nothing happened. No Marbles did appear.

We also tried several computers and different FireWire-Cards, but that didn’t change anything. The last thing we tried was to install LibLo, but I not sure how this could help us, as we could only build it, but not install it, as there is no tutorial for that online.

Did we do anything wrong and could you help us to get it going?

velocity/magnitude returning 0

test.pd / snake

/world/sn[x]/velocity/magnitude/get 100 is resulting in matching messages coming back from DIMPLE, but the value consistently reads 0. regardless of the motion of the prisms.

On the other hand /world/sn1/velocity/get 100 works, returning the 3-number magnitude

Destroy of constrained object bombs

I haven't tried the script directly, but recreating the sequence in destroy.sh in Max, I found that the step /world/s2/destroy caused Dimple to bomb.

Missing cup.obj + conflict re .3ds and .obj

test.pd meshtest

calls for creating a mesh on a cup.obj file. This file doesn't exist in the dimple release. Should it?

Messages.txt in 'Creating Objects' only indicates .3ds as an extension and said meshes must be specified in the .3ds format. I think this is an error, and .obj files are also allowed (?)

Create Mesh doesn't work properly

Hello,

we are currently trying to get a custom mesh working in DIMPLE. We tried the example in the /test/test.pd file, called meshtest. But it doesn't work. Neither the cup.obj nor the cylinder.3ds meshes appear.

We use the following objects:
send /world/mesh/create test cylinder.3ds
send /world/test/size 1
send /world/test/position 0 0 -0.2

Also we can't get the textures to work in the marbles example.

We use DIMPLE RC 0.1.0, but the test/test.pg file from DIMPLE 0.0.9

Color transparency

Would be nice to be able to indicate an alpha for color transparency. This would enable, for example, the ability to have a semitransparent object so one could see the position of the cursor behind it.

Grab to object -- too soft?

It would be ideal to be able to adjust the stiffness of the (presumed) spring between device and the object we grab. Sometimes it feels exceedingly soft. (Using Falcon)

External paths not working (w/OSX in particular?)

The examples that address external texture or 3D object files don't work in OSX. Do they elsewhere? I've tried a variety of solutions: opening the contents of the .app and placing files there, assuming the binary's location is the default URL; providing fully qualified path names from root; using ~ account paths, etc.

How to color objects?

Hello,

I am currently trying to color a stick I made in dimple. The stick was created like this:

oscformat /world/prism/create stick 0.2 0 0.3

and I want to color it by calling

oscformat /world/stick/color r g b

for r,g and b I tried (255, 255, 255) and (1, 1, 1) as well as (0, 0 ,0)

but it is still grey not white or black. What am I doing wrong? I tried the "grab tutorial" were the sphere should be colored too, but it isn't.
Thanks!

Update of liblo version needed

The bootstrap file references liblo-0.28, but this was generating a compile error for me (Max OSX):

error: absolute value function 'abs' given an argument of
type 'long' but has parameter of type 'int'

I had to set the bootstrap to use version 0.29 instead.

Note that for both 0.28 and 0.29, I had to comment out the checksum test, since it persistently failed.

compiling on OSX

It seems that compiling DIMPLE on OSX generates a couple of errors:

Simulation.cpp:708:23: error: use of undeclared identifier ‘CLOCK_REALTIME'
Simulation.cpp:726:21: error: use of undeclared identifier 'sem_timedwait'

MacOS + Falcon: Falcon failing to load

On Mac OS (10.11) I am finding that Dimple fails on the firmware upload to the Falcon. I am having to use the help file for the np_nifalcon-1.5 object in Max to load the firmware. Once that is done, Dimple starts up fine.

./bootstrap.sh throws error

When running ./bootstrap.sh on a fresh clone, this error is produced:

julianvogels:dimple (master) $ ./bootstrap.sh
: command not founde 4:
: command not founde 7:
This script bootstraps required libraries for selected environments.
: command not founde 9:
: command not founde 11:
'/bootstrap.sh: line 12: syntax error near unexpected token `{
'/bootstrap.sh: line 12: `liblo() {

System:

Model Name: MacBook Pro
Model Identifier: MacBookPro13,3
Processor Name: Intel Core i7
Processor Speed: 2.7 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Memory: 16 GB
Boot ROM Version: 251.0.0.0.0
SMC Version (system): 2.38f7

macOS 10.14.3 Mojave

Some force or force/magnitude queries not working

test.pd / force stick

/world/c1/force/magnitude/get, which references the hinge, is not returning any data, nor is stiffness.

This does work, however:
/world/stick/force/get

test.pd / snake

As with force stick, get on ../hinge[x]/force/ or /force/magnitude returns nothing from DIMPLE

test.pd / s3 accel

Again, the magnitude query does not work

Additional cursor data

Would love to be able to query
/world/cursor/force

Perhaps cursor isn't exactly the right object, but accessing the force being applied back to the device could be musically quite useful.

cursor/velocity and cursor/acceleration could also be of interest (rather than using a relatively inefficient client to calculate those)

I assume Chai could give us these fairly easily (?)

Mass <= 0 bombs

Defensive code needed: Dimple bombs if it is told to set object mass to 0 or less.

World cursor data can cause Max to bomb on close

More of an FYI warning for users: in my Max implementation of wall.pd, I found that Max could bomb if one closed the patch while receiving world cursor data from Dimple. Hence I made my Max dimple-io abstraction turn off world cursor data on close.

Weird behaviour of the green haptic input ball/cursor

Hello,

so we are in the "final" steps of our project. Sadly the Omni of the chair is broken so we couldn't test and verify that it is working properly with the prerelease version of DIMPLE. But we could test it with the Novint Falcon (https://hapticshouse.com/collections/falcons).

We are currently experiencing three bugs (though it could be that this is intended):

  1. When we start DIMPLE, while the Falcon is attached, the Falcon soft crashes and doesn't work. Only after restarting DIMPLE 2-3 times the Falcon is working. I guess that could be a bug?

  2. When we are using DIMPLE without any Haptic Device attached we have this "cursor ball", which can be moved with the mouse in all three dimensions. It collides properly with all walls (static) and also with the balls (dynamic) on the table (we developed a pool table game with haptic feedback). When we then do the same with the Falcon attached we are still able to collide with the walls, but no interaction with the balls is possible. This makes it "quite" hard to actually play the game. Is that intended or not? If it is intended how can we enable the collision?

  3. To circumvent the problem stated in 2. we tried to "grab" a billiard cue, though when we do that all of the motors of the Falcon start to shake rapidly. This also happens when we try the same with the grab sphere or box in the test.pd. Here I am also not sure whether that is intended or not.

You can find our code here: https://github.com/MarviB16/AcousticsAndHapticsPoolTable --> test/vr.pd

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.