Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 46 lines (40 sloc) 1.651 kB
40612b0 @mhroth First commit of MessageFrequencyToMidi
authored
1 /*
29f83db Towards an a stack-based messaging system. First commit.
Martin Roth authored
2 * Copyright 2009,2010,2011 Reality Jockey, Ltd.
40612b0 @mhroth First commit of MessageFrequencyToMidi
authored
3 * info@rjdj.me
4 * http://rjdj.me/
0361067 added MessageDbToRms, MessageRmsToDb, MessageMaximum, MessageMinimum,…
Yoonchang Han authored
5 *
40612b0 @mhroth First commit of MessageFrequencyToMidi
authored
6 * This file is part of ZenGarden.
7 *
8 * ZenGarden is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Lesser General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * ZenGarden is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Lesser General Public License for more details.
0361067 added MessageDbToRms, MessageRmsToDb, MessageMaximum, MessageMinimum,…
Yoonchang Han authored
17 *
40612b0 @mhroth First commit of MessageFrequencyToMidi
authored
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with ZenGarden. If not, see <http://www.gnu.org/licenses/>.
20 *
21 */
22
23 #include "MessageFrequencyToMidi.h"
24
7329847 @mhroth Add static factory method to all objects in order to create an object…
authored
25 MessageObject *MessageFrequencyToMidi::newObject(PdMessage *initMessage, PdGraph *graph) {
26 return new MessageFrequencyToMidi(graph);
27 }
28
0361067 added MessageDbToRms, MessageRmsToDb, MessageMaximum, MessageMinimum,…
Yoonchang Han authored
29 MessageFrequencyToMidi::MessageFrequencyToMidi(PdGraph *graph) : MessageObject(1, 1, graph) {
40612b0 @mhroth First commit of MessageFrequencyToMidi
authored
30 // nothing to do
31 }
32
33 MessageFrequencyToMidi::~MessageFrequencyToMidi() {
34 // nothing to do
35 }
36
0361067 added MessageDbToRms, MessageRmsToDb, MessageMaximum, MessageMinimum,…
Yoonchang Han authored
37 void MessageFrequencyToMidi::processMessage(int inletIndex, PdMessage *message) {
e21d53d Updated MessageFrequencyToMidi. Now it returns -1500 for both of 0 an…
Yoonchang Han authored
38 if (message->isFloat(0)) {
29f83db Towards an a stack-based messaging system. First commit.
Martin Roth authored
39 PdMessage *outgoingMessage = PD_MESSAGE_ON_STACK(1);
e21d53d Updated MessageFrequencyToMidi. Now it returns -1500 for both of 0 an…
Yoonchang Han authored
40 float f = message->getFloat(0);
29f83db Towards an a stack-based messaging system. First commit.
Martin Roth authored
41 float value = (f <= 0.0f) ? -1500.0f : (12.0f * (logf(f / 440.0f) / M_LN2)) + 69.0f;
42 outgoingMessage->initWithTimestampAndFloat(message->getTimestamp(), value);
0361067 added MessageDbToRms, MessageRmsToDb, MessageMaximum, MessageMinimum,…
Yoonchang Han authored
43 sendMessage(0, outgoingMessage); // send a message from outlet 0
44 }
40612b0 @mhroth First commit of MessageFrequencyToMidi
authored
45 }
Something went wrong with that request. Please try again.