Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
purr-data
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
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
nerrons
purr-data
Commits
07e5a339
Commit
07e5a339
authored
15 years ago
by
Miller Puckette
Browse files
Options
Downloads
Patches
Plain Diff
Fixed problem finding MIDI devices in Fedora (/dev/midi1 instead of /dev/midi0)
small helpfile fixes
parent
49ff936c
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
doc/5.reference/abs~-help.pd
+20
-0
20 additions, 0 deletions
doc/5.reference/abs~-help.pd
doc/7.stuff/tools/testtone.pd
+10
-10
10 additions, 10 deletions
doc/7.stuff/tools/testtone.pd
src/notes.txt
+2
-1
2 additions, 1 deletion
src/notes.txt
src/s_midi_oss.c
+21
-18
21 additions, 18 deletions
src/s_midi_oss.c
with
53 additions
and
29 deletions
doc/5.reference/abs~-help.pd
0 → 100644
+
20
−
0
View file @
07e5a339
#N canvas 286 197 499 284 10;
#X obj 19 108 sig~;
#X obj 71 133 loadbang;
#X obj 71 157 metro 100;
#X obj 71 181 snapshot~;
#X floatatom 19 87 5 0 0 0 - - -;
#X floatatom 71 206 7 0 0 0 - - -;
#X text 316 257 updated for Pd version 0.42.;
#X obj 20 132 abs~;
#X obj 21 14 abs~;
#X text 60 14 - absolute value;
#X text 82 33 Passes nonnegative values unchanged \, but replaces negative
ones with their (positive) inverses.;
#X text 81 66 (turn DSP on to test):;
#X connect 0 0 7 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 0 0;
#X connect 7 0 3 0;
This diff is collapsed.
Click to expand it.
doc/7.stuff/tools/testtone.pd
+
10
−
10
View file @
07e5a339
#N canvas
250 93
494 364 12;
#N canvas
130 55
494 364 12;
#X floatatom 84 288 3 0 0 0 - - -;
#X floatatom 84 288 3 0 0 0 - - -;
#X obj 34 237 notein;
#X obj 34 237 notein;
#X obj 34 263 stripnote;
#X obj 34 263 stripnote;
...
@@ -55,7 +55,7 @@
...
@@ -55,7 +55,7 @@
#X obj 177 126 tgl 20 0 tone-ch1 tone-ch1 1 5 -8 0 12 -262144 -1 -1
#X obj 177 126 tgl 20 0 tone-ch1 tone-ch1 1 5 -8 0 12 -262144 -1 -1
1 1;
1 1;
#X obj 202 126 tgl 20 0 tone-ch2 tone-ch2 2 5 -8 0 12 -262144 -1 -1
#X obj 202 126 tgl 20 0 tone-ch2 tone-ch2 2 5 -8 0 12 -262144 -1 -1
1
1;
0
1;
#X obj 219 258 tgl 20 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
#X obj 219 258 tgl 20 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
1;
#X obj 184 192 tgl 15 0 tone-monitor set-tone-monitor monitor-inputs
#X obj 184 192 tgl 15 0 tone-monitor set-tone-monitor monitor-inputs
...
@@ -99,8 +99,8 @@
...
@@ -99,8 +99,8 @@
#X connect 14 0 11 1;
#X connect 14 0 11 1;
#X connect 15 0 11 1;
#X connect 15 0 11 1;
#X restore 388 266 pd more;
#X restore 388 266 pd more;
#X obj 343 193 tgl 15 0 tone-hipass
set-
tone-hipass input-hipass 23
#X obj 343 193 tgl 15 0 tone-hipass tone-hipass
-set
input-hipass 23
8 0 12 -262144 -1 -1
0
1;
8 0 12 -262144 -1 -1
1
1;
#X obj 243 126 tgl 20 0 tone-ch3 tone-ch3 3 5 -8 0 12 -262144 -1 -1
#X obj 243 126 tgl 20 0 tone-ch3 tone-ch3 3 5 -8 0 12 -262144 -1 -1
1 1;
1 1;
#X obj 268 126 tgl 20 0 tone-ch4 tone-ch4 4 5 -8 0 12 -262144 -1 -1
#X obj 268 126 tgl 20 0 tone-ch4 tone-ch4 4 5 -8 0 12 -262144 -1 -1
...
@@ -109,9 +109,9 @@
...
@@ -109,9 +109,9 @@
1 1;
1 1;
#X obj 334 126 tgl 20 0 tone-ch6 tone-ch6 6 5 -8 0 12 -262144 -1 -1
#X obj 334 126 tgl 20 0 tone-ch6 tone-ch6 6 5 -8 0 12 -262144 -1 -1
1 1;
1 1;
#X obj 42
7
117 bng 15 250 50 0 tone-all empty ALL 20 8 0 12 -262144
#X obj 42
8
117 bng 15 250 50 0 tone-all empty ALL 20 8 0 12 -262144
-1 -1;
-1 -1;
#X obj 42
7
138 bng 15 250 50 0 tone-none empty NONE 20 8 0 12 -262144
#X obj 42
8
138 bng 15 250 50 0 tone-none empty NONE 20 8 0 12 -262144
-1 -1;
-1 -1;
#X floatatom 244 93 3 0 0 0 - tone-vu3 -;
#X floatatom 244 93 3 0 0 0 - tone-vu3 -;
#X floatatom 272 93 3 0 0 0 - tone-vu4 -;
#X floatatom 272 93 3 0 0 0 - tone-vu4 -;
...
@@ -121,14 +121,14 @@
...
@@ -121,14 +121,14 @@
#X text 101 88 noise;
#X text 101 88 noise;
#X text 100 105 tone;
#X text 100 105 tone;
#X obj 84 90 vradio 15 1 0 2 tone-type tone-type-set empty 0 -6 0 8
#X obj 84 90 vradio 15 1 0 2 tone-type tone-type-set empty 0 -6 0 8
-262144 -1 -1
1
;
-262144 -1 -1
0
;
#X obj 22 91 vradio 15 1 0 3 tone-radio tone-radio-set empty 0 -6 0
#X obj 22 91 vradio 15 1 0 3 tone-radio tone-radio-set empty 0 -6 0
8 -262144 -1 -1 2;
8 -262144 -1 -1 2;
#X floatatom 376 93 3 0 0 0 - tone-vu7 -;
#X floatatom 376 93 3 0 0 0 - tone-vu7 -;
#X floatatom 404 93 3 0 0 0 - tone-vu8 -;
#X floatatom 404 93 3 0 0 0 - tone-vu8 -;
#X obj 37
4
126 tgl 20 0 tone-ch7 tone-ch7 7 5 -8 0 12 -262144 -1 -1
#X obj 37
5
126 tgl 20 0 tone-ch7 tone-ch7 7 5 -8 0 12 -262144 -1 -1
1 1;
1 1;
#X obj
399
126 tgl 20 0 tone-ch8 tone-ch8 8 5 -8 0 12 -262144 -1 -1
#X obj
400
126 tgl 20 0 tone-ch8 tone-ch8 8 5 -8 0 12 -262144 -1 -1
1 1;
1 1;
#N canvas 233 346 321 422 audio 0;
#N canvas 233 346 321 422 audio 0;
#X obj 25 303 s~ tone-mon;
#X obj 25 303 s~ tone-mon;
...
@@ -138,7 +138,7 @@
...
@@ -138,7 +138,7 @@
#X obj 28 139 * 5;
#X obj 28 139 * 5;
#X obj 28 164 s tone-hip;
#X obj 28 164 s tone-hip;
#X obj 28 114 r tone-hipass;
#X obj 28 114 r tone-hipass;
#N canvas 4
76 63
548 519 glue+loadbang 0;
#N canvas 4
24 104
548 519 glue+loadbang 0;
#X obj 8 20 loadbang;
#X obj 8 20 loadbang;
#X obj 175 18 r tone-all;
#X obj 175 18 r tone-all;
#X obj 285 16 r tone-none;
#X obj 285 16 r tone-none;
...
...
This diff is collapsed.
Click to expand it.
src/notes.txt
+
2
−
1
View file @
07e5a339
---------------- dolist --------------------
---------------- dolist --------------------
test
:
doc
:
exp~, abs~ fixes
exp~, abs~ fixes
pd~ -ninsig 0 bug fixed
compile on various versions of linux
compile on various versions of linux
windows:
windows:
...
...
This diff is collapsed.
Click to expand it.
src/s_midi_oss.c
+
21
−
18
View file @
07e5a339
...
@@ -17,6 +17,8 @@
...
@@ -17,6 +17,8 @@
#include
"m_pd.h"
#include
"m_pd.h"
#include
"s_stuff.h"
#include
"s_stuff.h"
#define NSEARCH 10
static
int
oss_nmidiindevs
,
oss_nmidioutdevs
,
oss_initted
,
oss_onebased
;
static
int
oss_nmidiin
;
static
int
oss_nmidiin
;
static
int
oss_midiinfd
[
MAXMIDIINDEV
];
static
int
oss_midiinfd
[
MAXMIDIINDEV
];
static
int
oss_nmidiout
;
static
int
oss_nmidiout
;
...
@@ -41,7 +43,7 @@ void sys_do_open_midi(int nmidiin, int *midiinvec,
...
@@ -41,7 +43,7 @@ void sys_do_open_midi(int nmidiin, int *midiinvec,
{
{
int
fd
=
-
1
,
j
,
outdevindex
=
-
1
;
int
fd
=
-
1
,
j
,
outdevindex
=
-
1
;
char
namebuf
[
80
];
char
namebuf
[
80
];
int
devno
=
midiinvec
[
i
];
int
devno
=
midiinvec
[
i
]
+
oss_onebased
;
for
(
j
=
0
;
j
<
nmidiout
;
j
++
)
for
(
j
=
0
;
j
<
nmidiout
;
j
++
)
if
(
midioutvec
[
j
]
==
midiinvec
[
i
])
if
(
midioutvec
[
j
]
==
midiinvec
[
i
])
...
@@ -115,7 +117,7 @@ void sys_do_open_midi(int nmidiin, int *midiinvec,
...
@@ -115,7 +117,7 @@ void sys_do_open_midi(int nmidiin, int *midiinvec,
{
{
int
fd
=
oss_midioutfd
[
i
];
int
fd
=
oss_midioutfd
[
i
];
char
namebuf
[
80
];
char
namebuf
[
80
];
int
devno
=
midioutvec
[
i
];
int
devno
=
midioutvec
[
i
]
+
oss_onebased
;
if
(
devno
==
0
&&
fd
<
0
)
if
(
devno
==
0
&&
fd
<
0
)
{
{
sys_setalarm
(
1000000
);
sys_setalarm
(
1000000
);
...
@@ -266,23 +268,26 @@ void sys_close_midi()
...
@@ -266,23 +268,26 @@ void sys_close_midi()
oss_nmidiin
=
oss_nmidiout
=
0
;
oss_nmidiin
=
oss_nmidiout
=
0
;
}
}
#define NSEARCH 10
static
int
oss_nmidiindevs
,
oss_nmidioutdevs
,
oss_initted
;
void
midi_oss_init
(
void
)
void
midi_oss_init
(
void
)
{
{
int
i
;
int
i
,
fd
,
devno
;
struct
stat
statbuf
;
char
namebuf
[
80
];
if
(
oss_initted
)
if
(
oss_initted
)
return
;
return
;
oss_initted
=
1
;
oss_initted
=
1
;
/* at some point, Fedora started counting MIDI devices from one -
catch that here: */
oss_onebased
=
(
stat
(
"/dev/midi1"
,
&
statbuf
)
>=
0
&&
stat
(
"/dev/midi0"
,
&
statbuf
)
<
0
);
for
(
i
=
0
;
i
<
NSEARCH
;
i
++
)
for
(
i
=
0
;
i
<
NSEARCH
;
i
++
)
{
{
int
fd
;
char
namebuf
[
80
];
oss_nmidiindevs
=
i
;
oss_nmidiindevs
=
i
;
devno
=
i
+
oss_onebased
;
/* try to open the device for reading */
/* try to open the device for reading */
if
(
i
==
0
)
if
(
devno
==
0
)
{
{
fd
=
open
(
"/dev/midi"
,
O_RDONLY
|
O_NDELAY
);
fd
=
open
(
"/dev/midi"
,
O_RDONLY
|
O_NDELAY
);
if
(
fd
>=
0
)
if
(
fd
>=
0
)
...
@@ -291,14 +296,14 @@ void midi_oss_init(void)
...
@@ -291,14 +296,14 @@ void midi_oss_init(void)
continue
;
continue
;
}
}
}
}
sprintf
(
namebuf
,
"/dev/midi%2.2d"
,
i
);
sprintf
(
namebuf
,
"/dev/midi%2.2d"
,
devno
);
fd
=
open
(
namebuf
,
O_RDONLY
|
O_NDELAY
);
fd
=
open
(
namebuf
,
O_RDONLY
|
O_NDELAY
);
if
(
fd
>=
0
)
if
(
fd
>=
0
)
{
{
close
(
fd
);
close
(
fd
);
continue
;
continue
;
}
}
sprintf
(
namebuf
,
"/dev/midi%d"
,
i
);
sprintf
(
namebuf
,
"/dev/midi%d"
,
devno
);
fd
=
open
(
namebuf
,
O_RDONLY
|
O_NDELAY
);
fd
=
open
(
namebuf
,
O_RDONLY
|
O_NDELAY
);
if
(
fd
>=
0
)
if
(
fd
>=
0
)
{
{
...
@@ -309,12 +314,10 @@ void midi_oss_init(void)
...
@@ -309,12 +314,10 @@ void midi_oss_init(void)
}
}
for
(
i
=
0
;
i
<
NSEARCH
;
i
++
)
for
(
i
=
0
;
i
<
NSEARCH
;
i
++
)
{
{
int
fd
;
char
namebuf
[
80
];
oss_nmidioutdevs
=
i
;
oss_nmidioutdevs
=
i
;
devno
=
i
+
oss_onebased
;
/* try to open the device for writing */
/* try to open the device for writing */
if
(
i
==
0
)
if
(
devno
==
0
)
{
{
fd
=
open
(
"/dev/midi"
,
O_WRONLY
|
O_NDELAY
);
fd
=
open
(
"/dev/midi"
,
O_WRONLY
|
O_NDELAY
);
if
(
fd
>=
0
)
if
(
fd
>=
0
)
...
@@ -323,14 +326,14 @@ void midi_oss_init(void)
...
@@ -323,14 +326,14 @@ void midi_oss_init(void)
continue
;
continue
;
}
}
}
}
sprintf
(
namebuf
,
"/dev/midi%2.2d"
,
i
);
sprintf
(
namebuf
,
"/dev/midi%2.2d"
,
devno
);
fd
=
open
(
namebuf
,
O_WRONLY
|
O_NDELAY
);
fd
=
open
(
namebuf
,
O_WRONLY
|
O_NDELAY
);
if
(
fd
>=
0
)
if
(
fd
>=
0
)
{
{
close
(
fd
);
close
(
fd
);
continue
;
continue
;
}
}
sprintf
(
namebuf
,
"/dev/midi%d"
,
i
);
sprintf
(
namebuf
,
"/dev/midi%d"
,
devno
);
fd
=
open
(
namebuf
,
O_WRONLY
|
O_NDELAY
);
fd
=
open
(
namebuf
,
O_WRONLY
|
O_NDELAY
);
if
(
fd
>=
0
)
if
(
fd
>=
0
)
{
{
...
...
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