Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
purr-data
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Jonathan Wilkes
purr-data
Commits
3b1cf1f0
Commit
3b1cf1f0
authored
8 years ago
by
Jonathan Wilkes
Browse files
Options
Downloads
Patches
Plain Diff
Vanilla 0.47 backport 11: m_conf.c m_imp.h m_obj.c m_pd.h
parent
122e9508
No related branches found
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
pd/src/m_conf.c
+6
-0
6 additions, 0 deletions
pd/src/m_conf.c
pd/src/m_imp.h
+25
-0
25 additions, 0 deletions
pd/src/m_imp.h
pd/src/m_obj.c
+17
-0
17 additions, 0 deletions
pd/src/m_obj.c
pd/src/m_pd.h
+39
-12
39 additions, 12 deletions
pd/src/m_pd.h
with
87 additions
and
12 deletions
pd/src/m_conf.c
+
6
−
0
View file @
3b1cf1f0
...
@@ -25,18 +25,21 @@ void g_scalar_setup(void);
...
@@ -25,18 +25,21 @@ void g_scalar_setup(void);
void
g_template_setup
(
void
);
void
g_template_setup
(
void
);
void
g_text_setup
(
void
);
void
g_text_setup
(
void
);
void
g_traversal_setup
(
void
);
void
g_traversal_setup
(
void
);
void
clone_setup
(
void
);
void
m_pd_setup
(
void
);
void
m_pd_setup
(
void
);
void
x_acoustics_setup
(
void
);
void
x_acoustics_setup
(
void
);
void
x_interface_setup
(
void
);
void
x_interface_setup
(
void
);
void
x_connective_setup
(
void
);
void
x_connective_setup
(
void
);
void
x_time_setup
(
void
);
void
x_time_setup
(
void
);
void
x_arithmetic_setup
(
void
);
void
x_arithmetic_setup
(
void
);
void
x_array_setup
(
void
);
void
x_midi_setup
(
void
);
void
x_midi_setup
(
void
);
void
x_misc_setup
(
void
);
void
x_misc_setup
(
void
);
void
x_net_setup
(
void
);
void
x_net_setup
(
void
);
void
x_qlist_setup
(
void
);
void
x_qlist_setup
(
void
);
void
x_gui_setup
(
void
);
void
x_gui_setup
(
void
);
void
x_list_setup
(
void
);
void
x_list_setup
(
void
);
void
expr_setup
(
void
);
void
x_preset_setup
(
void
);
void
x_preset_setup
(
void
);
void
d_arithmetic_setup
(
void
);
void
d_arithmetic_setup
(
void
);
void
d_array_setup
(
void
);
void
d_array_setup
(
void
);
...
@@ -74,18 +77,21 @@ void conf_init(void)
...
@@ -74,18 +77,21 @@ void conf_init(void)
g_template_setup
();
g_template_setup
();
g_text_setup
();
g_text_setup
();
g_traversal_setup
();
g_traversal_setup
();
clone_setup
();
m_pd_setup
();
m_pd_setup
();
x_acoustics_setup
();
x_acoustics_setup
();
x_interface_setup
();
x_interface_setup
();
x_connective_setup
();
x_connective_setup
();
x_time_setup
();
x_time_setup
();
x_arithmetic_setup
();
x_arithmetic_setup
();
x_array_setup
();
x_midi_setup
();
x_midi_setup
();
x_misc_setup
();
x_misc_setup
();
x_net_setup
();
x_net_setup
();
x_qlist_setup
();
x_qlist_setup
();
x_gui_setup
();
x_gui_setup
();
x_list_setup
();
x_list_setup
();
expr_setup
();
x_preset_setup
();
x_preset_setup
();
d_arithmetic_setup
();
d_arithmetic_setup
();
d_array_setup
();
d_array_setup
();
...
...
This diff is collapsed.
Click to expand it.
pd/src/m_imp.h
+
25
−
0
View file @
3b1cf1f0
...
@@ -56,6 +56,31 @@ struct _class
...
@@ -56,6 +56,31 @@ struct _class
char
c_drawcommand
;
/* a drawing command for a template */
char
c_drawcommand
;
/* a drawing command for a template */
};
};
struct
_pdinstance
{
double
pd_systime
;
/* global time in Pd ticks */
t_clock
*
pd_clock_setlist
;
/* list of set clocks */
t_int
*
pd_dspchain
;
/* DSP chain */
int
pd_dspchainsize
;
/* number of elements in DSP chain */
t_canvas
*
pd_canvaslist
;
/* list of all root canvases */
int
pd_dspstate
;
/* whether DSP is on or off */
t_signal
*
pd_signals
;
/* list of signals used by DSP chain */
t_symbol
*
pd_midiin_sym
;
/* symbols bound to incoming MIDI... */
t_symbol
*
pd_sysexin_sym
;
t_symbol
*
pd_notein_sym
;
t_symbol
*
pd_ctlin_sym
;
t_symbol
*
pd_pgmin_sym
;
t_symbol
*
pd_bendin_sym
;
t_symbol
*
pd_touchin_sym
;
t_symbol
*
pd_polytouchin_sym
;
t_symbol
*
pd_midiclkin_sym
;
t_symbol
*
pd_midirealtimein_sym
;
};
extern
t_pdinstance
*
pd_this
;
/* m_class.c */
EXTERN
void
pd_emptylist
(
t_pd
*
x
);
/* m_obj.c */
/* m_obj.c */
EXTERN
int
obj_noutlets
(
t_object
*
x
);
EXTERN
int
obj_noutlets
(
t_object
*
x
);
...
...
This diff is collapsed.
Click to expand it.
pd/src/m_obj.c
+
17
−
0
View file @
3b1cf1f0
...
@@ -791,3 +791,20 @@ int outlet_getsignalindex(t_outlet *x)
...
@@ -791,3 +791,20 @@ int outlet_getsignalindex(t_outlet *x)
return
(
n
);
return
(
n
);
}
}
void
obj_saveformat
(
t_object
*
x
,
t_binbuf
*
bb
)
{
if
(
x
->
te_width
)
binbuf_addv
(
bb
,
"ssf;"
,
&
s__X
,
gensym
(
"f"
),
(
float
)
x
->
te_width
);
}
/* this one only in g_clone.c -- LATER consider sending the message
without having to chase the linked list every time? */
void
obj_sendinlet
(
t_object
*
x
,
int
n
,
t_symbol
*
s
,
int
argc
,
t_atom
*
argv
)
{
t_inlet
*
i
;
for
(
i
=
x
->
ob_inlet
;
i
&&
n
;
i
=
i
->
i_next
,
n
--
)
;
if
(
i
)
typedmess
(
&
i
->
i_pd
,
s
,
argc
,
argv
);
else
bug
(
"obj_sendinlet"
);
}
This diff is collapsed.
Click to expand it.
pd/src/m_pd.h
+
39
−
12
View file @
3b1cf1f0
...
@@ -13,7 +13,7 @@ extern "C" {
...
@@ -13,7 +13,7 @@ extern "C" {
#define PD_MAJOR_VERSION 0
#define PD_MAJOR_VERSION 0
#define PD_MINOR_VERSION 42
#define PD_MINOR_VERSION 42
#define PD_BUGFIX_VERSION 7
#define PD_BUGFIX_VERSION 7
#define PD_TEST_VERSION "20160
124
"
#define PD_TEST_VERSION "20160
525
"
#define PDL2ORK
#define PDL2ORK
extern
int
pd_compatibilitylevel
;
/* e.g., 43 for pd 0.43 compatibility */
extern
int
pd_compatibilitylevel
;
/* e.g., 43 for pd 0.43 compatibility */
...
@@ -64,6 +64,20 @@ extern int pd_compatibilitylevel; /* e.g., 43 for pd 0.43 compatibility */
...
@@ -64,6 +64,20 @@ extern int pd_compatibilitylevel; /* e.g., 43 for pd 0.43 compatibility */
#include
<stddef.h>
/* just for size_t -- how lame! */
#include
<stddef.h>
/* just for size_t -- how lame! */
#endif
#endif
/* Microsoft Visual Studio is not C99, it does not provide stdint.h */
#ifdef _MSC_VER
typedef
signed
__int8
int8_t
;
typedef
signed
__int16
int16_t
;
typedef
signed
__int32
int32_t
;
typedef
signed
__int64
int64_t
;
typedef
unsigned
__int8
uint8_t
;
typedef
unsigned
__int16
uint16_t
;
typedef
unsigned
__int32
uint32_t
;
typedef
unsigned
__int64
uint64_t
;
#else
# include <stdint.h>
#endif
/* for FILE, needed by sys_fopen() and sys_fclose() only */
/* for FILE, needed by sys_fopen() and sys_fclose() only */
#include
<stdio.h>
#include
<stdio.h>
...
@@ -140,6 +154,7 @@ typedef union word
...
@@ -140,6 +154,7 @@ typedef union word
t_gpointer
*
w_gpointer
;
t_gpointer
*
w_gpointer
;
t_array
*
w_array
;
t_array
*
w_array
;
struct
_glist
*
w_list
;
struct
_glist
*
w_list
;
struct
_binbuf
*
w_binbuf
;
int
w_index
;
int
w_index
;
t_blob
*
w_blob
;
/* MP20061223 blob type */
t_blob
*
w_blob
;
/* MP20061223 blob type */
}
t_word
;
}
t_word
;
...
@@ -359,10 +374,13 @@ EXTERN t_clock *clock_new(void *owner, t_method fn);
...
@@ -359,10 +374,13 @@ EXTERN t_clock *clock_new(void *owner, t_method fn);
EXTERN
void
clock_set
(
t_clock
*
x
,
double
systime
);
EXTERN
void
clock_set
(
t_clock
*
x
,
double
systime
);
EXTERN
void
clock_delay
(
t_clock
*
x
,
double
delaytime
);
EXTERN
void
clock_delay
(
t_clock
*
x
,
double
delaytime
);
EXTERN
void
clock_unset
(
t_clock
*
x
);
EXTERN
void
clock_unset
(
t_clock
*
x
);
EXTERN
void
clock_setunit
(
t_clock
*
x
,
double
timeunit
,
int
sampflag
);
EXTERN
double
clock_getlogicaltime
(
void
);
EXTERN
double
clock_getlogicaltime
(
void
);
EXTERN
double
clock_getsystime
(
void
);
/* OBSOLETE; use clock_getlogicaltime() */
EXTERN
double
clock_getsystime
(
void
);
/* OBSOLETE; use clock_getlogicaltime() */
EXTERN
double
clock_gettimesince
(
double
prevsystime
);
EXTERN
double
clock_gettimesince
(
double
prevsystime
);
EXTERN
double
clock_getsystimeafter
(
double
delaytime
);
EXTERN
double
clock_getsystimeafter
(
double
delaytime
);
EXTERN
double
clock_gettimesincewithunits
(
double
prevsystime
,
double
units
,
int
sampflag
);
EXTERN
void
clock_free
(
t_clock
*
x
);
EXTERN
void
clock_free
(
t_clock
*
x
);
/* ----------------- pure data ---------------- */
/* ----------------- pure data ---------------- */
...
@@ -486,6 +504,8 @@ EXTERN void classtable_tovec(int size, t_atom *vec);
...
@@ -486,6 +504,8 @@ EXTERN void classtable_tovec(int size, t_atom *vec);
typedef
void
(
*
t_savefn
)(
t_gobj
*
x
,
t_binbuf
*
b
);
typedef
void
(
*
t_savefn
)(
t_gobj
*
x
,
t_binbuf
*
b
);
EXTERN
void
class_setsavefn
(
t_class
*
c
,
t_savefn
f
);
EXTERN
void
class_setsavefn
(
t_class
*
c
,
t_savefn
f
);
EXTERN
t_savefn
class_getsavefn
(
t_class
*
c
);
EXTERN
t_savefn
class_getsavefn
(
t_class
*
c
);
EXTERN
void
obj_saveformat
(
t_object
*
x
,
t_binbuf
*
bb
);
/* add format to bb */
/* prototype for functions to open properties dialogs */
/* prototype for functions to open properties dialogs */
typedef
void
(
*
t_propertiesfn
)(
t_gobj
*
x
,
struct
_glist
*
glist
);
typedef
void
(
*
t_propertiesfn
)(
t_gobj
*
x
,
struct
_glist
*
glist
);
EXTERN
void
class_setpropertiesfn
(
t_class
*
c
,
t_propertiesfn
f
);
EXTERN
void
class_setpropertiesfn
(
t_class
*
c
,
t_propertiesfn
f
);
...
@@ -533,17 +553,11 @@ EXTERN int (*sys_idlehook)(void); /* hook to add idle time computation */
...
@@ -533,17 +553,11 @@ EXTERN int (*sys_idlehook)(void); /* hook to add idle time computation */
/* Win32's open()/fopen() do not handle UTF-8 filenames so we need
/* Win32's open()/fopen() do not handle UTF-8 filenames so we need
* these internal versions that handle UTF-8 filenames the same across
* these internal versions that handle UTF-8 filenames the same across
* all platforms. They are recommended for use in external
* all platforms. They are recommended for use in external
* objectclasses as well so they work with Unicode filenames on Windows
* objectclasses as well so they work with Unicode filenames on Windows */
EXTERN
int
sys_open
(
const
char
*
path
,
int
oflag
,
...);
For now, we're just doing typedefs to alias the standard io calls. But
EXTERN
int
sys_close
(
int
fd
);
once someone wants to build on Windows, the relevant commits should be ported
EXTERN
FILE
*
sys_fopen
(
const
char
*
filename
,
const
char
*
mode
);
from Pd Vanilla. See Pd Vanilla git commit:
EXTERN
int
sys_fclose
(
FILE
*
stream
);
78b81aa3cb903d923da9eec8ad104935a5ae9ce4
plus some other revisions after that one. */
#define sys_open open
#define sys_close close
#define sys_fopen fopen
#define sys_fclose fclose
/* ------------ threading ------------------- */
/* ------------ threading ------------------- */
EXTERN
void
sys_lock
(
void
);
EXTERN
void
sys_lock
(
void
);
...
@@ -661,6 +675,8 @@ EXTERN char *garray_vec(t_garray *x);
...
@@ -661,6 +675,8 @@ EXTERN char *garray_vec(t_garray *x);
EXTERN
void
garray_resize
(
t_garray
*
x
,
t_floatarg
f
);
EXTERN
void
garray_resize
(
t_garray
*
x
,
t_floatarg
f
);
EXTERN
void
garray_usedindsp
(
t_garray
*
x
);
EXTERN
void
garray_usedindsp
(
t_garray
*
x
);
EXTERN
void
garray_setsaveit
(
t_garray
*
x
,
int
saveit
);
EXTERN
void
garray_setsaveit
(
t_garray
*
x
,
int
saveit
);
EXTERN
t_glist
*
garray_getglist
(
t_garray
*
x
);
EXTERN
t_array
*
garray_getarray
(
t_garray
*
x
);
EXTERN
t_class
*
scalar_class
;
EXTERN
t_class
*
scalar_class
;
EXTERN
t_float
*
value_get
(
t_symbol
*
s
);
EXTERN
t_float
*
value_get
(
t_symbol
*
s
);
...
@@ -751,6 +767,17 @@ defined, there is a "te_xpix" field in objects, not a "te_xpos" as before: */
...
@@ -751,6 +767,17 @@ defined, there is a "te_xpix" field in objects, not a "te_xpos" as before: */
/* get version number at run time */
/* get version number at run time */
EXTERN
void
sys_getversion
(
int
*
major
,
int
*
minor
,
int
*
bugfix
);
EXTERN
void
sys_getversion
(
int
*
major
,
int
*
minor
,
int
*
bugfix
);
EXTERN_STRUCT
_pdinstance
;
#define t_pdinstance struct _pdinstance
/* m_imp.h */
/* m_pd.c */
EXTERN
t_pdinstance
*
pdinstance_new
(
void
);
EXTERN
void
pd_setinstance
(
t_pdinstance
*
x
);
EXTERN
void
pdinstance_free
(
t_pdinstance
*
x
);
EXTERN
t_canvas
*
pd_getcanvaslist
(
void
);
EXTERN
int
pd_getdspstate
(
void
);
#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
}
}
#endif
#endif
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment