SlideShare a Scribd company logo
Pure Data
Object Model


    @PdKai #2
    id:nagachika
Pd     Object Model

     GUI

                           box   object
                object            class



                object
object            inlet/outlet
   …
Pd         Object Model


                                 Class        GUI
          Class




 object    object      object


                     object
          Class
object              inlet/outlet         object
                (               object            )
Pd         Object Model

class (m_imp.h         struct _class       )

      (object box                              )
                        (              )
initialize         (newmethod) object
              (                                    )
bang, float, symbol, list, pointer...
← inlet
 etc etc...
Object
t_object

                                       (getbytes/freebytes)
       destructor




                    typedef struct myobj {
      t_object
                      t_object     base; //               GUI
                      ....
                    } t_myobj;
symbol
•
•
    (gensym (m_class.c)   char * → t_symbol *        )

•                                       &

     HashTable
     (symhash)
                                        s_next
         0                     “hoge”              “foo”

         1                      “bar”
                                                    t_symbol
         2                                  (m_pd.h)
                                            typedef struct _symbol {
         3                                     char *s_name;
                                               struct _class **s_thing;
                                               struct _symbol *s_next;
                                            } t_symbol;
t_atom

•   float, symbol, list, pointer etc...
    object            inlet/outlet



•                    enum                (union)
    (m_pd.h t_atom)

•   class            inlet

More Related Content

What's hot

Js in js
Js in jsJs in js
Js in js
Alipay
 

What's hot (20)

A Comparative Analysis of Task Modeling Notations
A Comparative Analysis of Task Modeling NotationsA Comparative Analysis of Task Modeling Notations
A Comparative Analysis of Task Modeling Notations
 
Cat's anatomy
Cat's anatomyCat's anatomy
Cat's anatomy
 
20170113 julia’s type system and multiple dispatch
20170113 julia’s type system and multiple dispatch20170113 julia’s type system and multiple dispatch
20170113 julia’s type system and multiple dispatch
 
AnyObject – 自分が見落としていた、基本の話
AnyObject – 自分が見落としていた、基本の話AnyObject – 自分が見落としていた、基本の話
AnyObject – 自分が見落としていた、基本の話
 
Js in js
Js in jsJs in js
Js in js
 
Types, classes and concepts
Types, classes and conceptsTypes, classes and concepts
Types, classes and concepts
 
Summary of effective modern c++ item1 2
Summary of effective modern c++ item1 2Summary of effective modern c++ item1 2
Summary of effective modern c++ item1 2
 
Intro python-object-protocol
Intro python-object-protocolIntro python-object-protocol
Intro python-object-protocol
 
Xii Compsc Hw
Xii Compsc HwXii Compsc Hw
Xii Compsc Hw
 
Structure
StructureStructure
Structure
 
Keywords of java
Keywords of javaKeywords of java
Keywords of java
 
Lecture 4.2 c++(comlete reference book)
Lecture 4.2 c++(comlete reference book)Lecture 4.2 c++(comlete reference book)
Lecture 4.2 c++(comlete reference book)
 
Java Script Introduction
Java Script IntroductionJava Script Introduction
Java Script Introduction
 
Core concepts-javascript
Core concepts-javascriptCore concepts-javascript
Core concepts-javascript
 
2013 11 CSharp Tutorial Struct and Class
2013 11 CSharp Tutorial Struct and Class2013 11 CSharp Tutorial Struct and Class
2013 11 CSharp Tutorial Struct and Class
 
C++ assignment
C++ assignmentC++ assignment
C++ assignment
 
Objective-C Crash Course for Web Developers
Objective-C Crash Course for Web DevelopersObjective-C Crash Course for Web Developers
Objective-C Crash Course for Web Developers
 
Constructor and destructor
Constructor and destructorConstructor and destructor
Constructor and destructor
 
Objective-C A Beginner's Dive
Objective-C A Beginner's DiveObjective-C A Beginner's Dive
Objective-C A Beginner's Dive
 
Testing for share
Testing for share Testing for share
Testing for share
 

Similar to Pd Kai#2 Object Model

Smart Pointer in C++
Smart Pointer in C++Smart Pointer in C++
Smart Pointer in C++
永泉 韩
 
Introduction to csharp
Introduction to csharpIntroduction to csharp
Introduction to csharp
voegtu
 
Introduction to csharp
Introduction to csharpIntroduction to csharp
Introduction to csharp
hmanjarawala
 
Introduction to csharp
Introduction to csharpIntroduction to csharp
Introduction to csharp
voegtu
 
Descriptor Protocol
Descriptor ProtocolDescriptor Protocol
Descriptor Protocol
rocketcircus
 
class and objects
class and objectsclass and objects
class and objects
Payel Guria
 

Similar to Pd Kai#2 Object Model (20)

C# Summer course - Lecture 3
C# Summer course - Lecture 3C# Summer course - Lecture 3
C# Summer course - Lecture 3
 
Constructor in c++
Constructor in c++Constructor in c++
Constructor in c++
 
Smart Pointer in C++
Smart Pointer in C++Smart Pointer in C++
Smart Pointer in C++
 
C# Generics
C# GenericsC# Generics
C# Generics
 
Building DSLs With Eclipse
Building DSLs With EclipseBuilding DSLs With Eclipse
Building DSLs With Eclipse
 
Jazoon 2010 - Building DSLs with Eclipse
Jazoon 2010 - Building DSLs with EclipseJazoon 2010 - Building DSLs with Eclipse
Jazoon 2010 - Building DSLs with Eclipse
 
Cpprm
CpprmCpprm
Cpprm
 
Introduction to csharp
Introduction to csharpIntroduction to csharp
Introduction to csharp
 
Introduction to csharp
Introduction to csharpIntroduction to csharp
Introduction to csharp
 
Introduction to csharp
Introduction to csharpIntroduction to csharp
Introduction to csharp
 
Struktur data 1
Struktur data 1Struktur data 1
Struktur data 1
 
Descriptor Protocol
Descriptor ProtocolDescriptor Protocol
Descriptor Protocol
 
class and objects
class and objectsclass and objects
class and objects
 
201005 accelerometer and core Location
201005 accelerometer and core Location201005 accelerometer and core Location
201005 accelerometer and core Location
 
Object oriented programming using c++
Object oriented programming using c++Object oriented programming using c++
Object oriented programming using c++
 
Lecture20 vector
Lecture20 vectorLecture20 vector
Lecture20 vector
 
iOS Session-2
iOS Session-2iOS Session-2
iOS Session-2
 
Lecture5
Lecture5Lecture5
Lecture5
 
2 + 2 = 5: Monkey-patching CPython with ctypes to conform to Party doctrine
2 + 2 = 5: Monkey-patching CPython with ctypes to conform to Party doctrine2 + 2 = 5: Monkey-patching CPython with ctypes to conform to Party doctrine
2 + 2 = 5: Monkey-patching CPython with ctypes to conform to Party doctrine
 
Python_Unit_2 OOPS.pptx
Python_Unit_2  OOPS.pptxPython_Unit_2  OOPS.pptx
Python_Unit_2 OOPS.pptx
 

More from nagachika t

Ruby trunk changes 統計版
Ruby trunk changes 統計版Ruby trunk changes 統計版
Ruby trunk changes 統計版
nagachika t
 

More from nagachika t (14)

Make Ruby Differentiable
Make Ruby DifferentiableMake Ruby Differentiable
Make Ruby Differentiable
 
All bugfixes are incompatibilities
All bugfixes are incompatibilitiesAll bugfixes are incompatibilities
All bugfixes are incompatibilities
 
Inspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter TuningInspection of CloudML Hyper Parameter Tuning
Inspection of CloudML Hyper Parameter Tuning
 
Functional Music Composition
Functional Music CompositionFunctional Music Composition
Functional Music Composition
 
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKBigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
 
Magellan on Google Cloud Platform
Magellan on Google Cloud PlatformMagellan on Google Cloud Platform
Magellan on Google Cloud Platform
 
CRuby Committers Who's Who in 2013
CRuby Committers Who's Who in 2013CRuby Committers Who's Who in 2013
CRuby Committers Who's Who in 2013
 
CRuby_Committers_Whos_Who_in_2014
CRuby_Committers_Whos_Who_in_2014CRuby_Committers_Whos_Who_in_2014
CRuby_Committers_Whos_Who_in_2014
 
怠惰なRubyistへの道 fukuoka rubykaigi01
怠惰なRubyistへの道 fukuoka rubykaigi01怠惰なRubyistへの道 fukuoka rubykaigi01
怠惰なRubyistへの道 fukuoka rubykaigi01
 
Ruby on azure で game server service
Ruby on azure で game server serviceRuby on azure で game server service
Ruby on azure で game server service
 
怠惰なRubyistへの道
怠惰なRubyistへの道怠惰なRubyistへの道
怠惰なRubyistへの道
 
Ruby Kaja のご提案
Ruby Kaja のご提案Ruby Kaja のご提案
Ruby Kaja のご提案
 
Ruby trunk changes 統計版
Ruby trunk changes 統計版Ruby trunk changes 統計版
Ruby trunk changes 統計版
 
Pd Kai#3 Startup Process
Pd Kai#3 Startup ProcessPd Kai#3 Startup Process
Pd Kai#3 Startup Process
 

Recently uploaded

Recently uploaded (20)

"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

Pd Kai#2 Object Model

  • 1. Pure Data Object Model @PdKai #2 id:nagachika
  • 2. Pd Object Model GUI box object object class object object inlet/outlet …
  • 3. Pd Object Model Class GUI Class object object object object Class object inlet/outlet object ( object )
  • 4. Pd Object Model class (m_imp.h struct _class ) (object box ) ( ) initialize (newmethod) object ( ) bang, float, symbol, list, pointer... ← inlet etc etc...
  • 5. Object t_object (getbytes/freebytes) destructor typedef struct myobj { t_object t_object base; // GUI .... } t_myobj;
  • 6. symbol • • (gensym (m_class.c) char * → t_symbol * ) • & HashTable (symhash) s_next 0 “hoge” “foo” 1 “bar” t_symbol 2 (m_pd.h) typedef struct _symbol { 3 char *s_name; struct _class **s_thing; struct _symbol *s_next; } t_symbol;
  • 7. t_atom • float, symbol, list, pointer etc... object inlet/outlet • enum (union) (m_pd.h t_atom) • class inlet