summaryrefslogtreecommitdiff
path: root/apps/plugins/pdbox/pdbox.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/pdbox/pdbox.c')
-rw-r--r--apps/plugins/pdbox/pdbox.c156
1 files changed, 0 insertions, 156 deletions
diff --git a/apps/plugins/pdbox/pdbox.c b/apps/plugins/pdbox/pdbox.c
index 9407849..c3fb449 100644
--- a/apps/plugins/pdbox/pdbox.c
+++ b/apps/plugins/pdbox/pdbox.c
@@ -155,160 +155,4 @@ enum plugin_status plugin_start(const void* parameter)
return PLUGIN_OK;
}
-/***************************************************************************
- * __________ __ ___.
- * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- * \/ \/ \/ \/ \/
- * $Id$
- *
- * Copyright (C) 2009 Wincent Balin
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ****************************************************************************/
-
-#include "plugin.h"
-#include "pdbox.h"
-
-/* Welcome to the PDBox plugin */
-PLUGIN_HEADER
-PLUGIN_IRAM_DECLARE
-
-/* Quit flag. */
-bool quit = false;
-
-/* Thread IDs. */
-unsigned int core_thread_id;
-unsigned int gui_thread_id;
-
-/* Stacks for threads. */
-#define STACK_SIZE 16384
-uint32_t core_stack[STACK_SIZE / sizeof(uint32_t)];
-uint32_t gui_stack[STACK_SIZE / sizeof(uint32_t)];
-
-
-/* Core thread */
-void core_thread(void)
-{
- struct datagram ping;
-
- /* Main loop */
- while(!quit)
- {
- /* Wait for request. */
- while(!RECEIVE_TO_CORE(&ping))
- rb->yield();
-
- if(memcmp("Ping!", ping.data, ping.size) == 0)
- {
- SEND_FROM_CORE("Pong!");
- break;
- }
-
- rb->yield();
- }
-
- rb->thread_exit();
-}
-
-/* GUI thread */
-void gui_thread(void)
-{
- struct datagram pong;
-
- /* GUI loop */
- while(!quit)
- {
- /* Send ping to the core. */
- SEND_TO_CORE("Ping!");
- rb->splash(HZ, "Sent ping.");
-
- /* Wait for answer. */
- while(!RECEIVE_FROM_CORE(&pong))
- rb->yield();
-
- /* If got a pong -- everything allright. */
- if(memcmp("Pong!", pong.data, pong.size) == 0)
- {
- rb->splash(HZ, "Got pong!");
- quit = true;
- break;
- }
-
- rb->yield();
- }
-
- rb->thread_exit();
-}
-
-
-/* Plug-in entry point */
-enum plugin_status plugin_start(const void* parameter)
-{
- PLUGIN_IRAM_INIT(rb)
-
- size_t mem_size;
- void* mem_pool;
-
- /* Get the file name. */
- const char* filename = (const char*) parameter;
-
-#if 0
- /* Allocate memory; check it's size; add to the pool. */
- mem_pool = rb->plugin_get_audio_buffer(&mem_size);
- if(mem_size < MIN_MEM_SIZE)
- {
- rb->splash(HZ, "Not enough memory!");
- return PLUGIN_ERROR;
- }
- add_pool(mem_pool, mem_size);
-#endif
- /* Initialze net. */
- net_init();
-
- /* Start threads. */
- core_thread_id =
- rb->create_thread(&core_thread,
- core_stack,
- sizeof(core_stack),
- 0, /* FIXME Which flags? */
- "PD core"
- IF_PRIO(, MAX(PRIORITY_USER_INTERFACE / 2,
- PRIORITY_REALTIME + 1))
- IF_COP(, COP));
- gui_thread_id =
- rb->create_thread(&gui_thread,
- gui_stack,
- sizeof(gui_stack),
- 0, /* FIXME Which flags? */
- "PD GUI"
- IF_PRIO(, PRIORITY_USER_INTERFACE)
- IF_COP(, CPU));
-
- /* If having an error creating threads, bail out. */
- if(core_thread_id == 0 || gui_thread_id == 0)
- return PLUGIN_ERROR;
-
- /* Wait for quit flag. */
- while(!quit)
- rb->yield();
-
- /* Wait for threads to complete. */
- rb->thread_wait(gui_thread_id);
- rb->thread_wait(core_thread_id);
-
- /* Destroy net. */
- net_destroy();
-
- return PLUGIN_OK;
-}