lms-video/libremediaserver/externals/pix2jpg/pix2jpg.h
Santi Noreña 801c29865a First git import from SVN PureMediaServer rev 166
On branch master
 Initial commit
	new file:   libremediaserver/CITPDefines.h
	new file:   libremediaserver/MSEXDefines.h
	new file:   libremediaserver/PacketCreator.cpp
	new file:   libremediaserver/PacketCreator.h
	new file:   libremediaserver/PeerInformationSocket.cpp
	new file:   libremediaserver/PeerInformationSocket.h
	new file:   libremediaserver/citp-lib.cpp
	new file:   libremediaserver/citp-lib.h
	new file:   libremediaserver/doc/LICENSE.txt
	new file:   libremediaserver/doc/changelog.txt
	new file:   libremediaserver/doc/instalacion.txt
	new file:   libremediaserver/doc/install.txt
	new file:   libremediaserver/doc/leeme.txt
	new file:   libremediaserver/doc/manual.txt
	new file:   libremediaserver/doc/manual_en.txt
	new file:   libremediaserver/doc/manual_es.txt
	new file:   libremediaserver/doc/readme.txt
	new file:   libremediaserver/doc/todo.txt
	new file:   libremediaserver/externals/artnetin/ChangeLog.txt
	new file:   libremediaserver/externals/artnetin/LICENSE.txt
	new file:   libremediaserver/externals/artnetin/Makefile
	new file:   libremediaserver/externals/artnetin/README.txt
	new file:   libremediaserver/externals/artnetin/artnet.h
	new file:   libremediaserver/externals/artnetin/artnetin-help.pd
	new file:   libremediaserver/externals/artnetin/artnetin-meta.pd
	new file:   libremediaserver/externals/artnetin/artnetin.c
	new file:   libremediaserver/externals/artnetin/examples/artnetin.pd
	new file:   libremediaserver/externals/artnetin/m_pd.h
	new file:   libremediaserver/externals/artnetin/manual/manual.txt
	new file:   libremediaserver/externals/ola2pd/LICENSE.txt
	new file:   libremediaserver/externals/ola2pd/leeme.txt
	new file:   libremediaserver/externals/ola2pd/main.cpp
	new file:   libremediaserver/externals/ola2pd/ola2pd.pd_linux
	new file:   libremediaserver/externals/ola2pd/ola2pd_help.pd
	new file:   libremediaserver/externals/ola2pd/package.txt
	new file:   libremediaserver/externals/ola2pd/readme.txt
	new file:   libremediaserver/externals/pix2jpg/LICENSE.txt
	new file:   libremediaserver/externals/pix2jpg/Makefile
	new file:   libremediaserver/externals/pix2jpg/Makefile.am
	new file:   libremediaserver/externals/pix2jpg/Makefile.in
	new file:   libremediaserver/externals/pix2jpg/pix2jpg-help.pd
	new file:   libremediaserver/externals/pix2jpg/pix2jpg.cpp
	new file:   libremediaserver/externals/pix2jpg/pix2jpg.h
	new file:   libremediaserver/externals/pix2jpg/pix2jpg.pd_linux
	new file:   libremediaserver/layer.pd
	new file:   libremediaserver/layer_audio.pd
	new file:   libremediaserver/libremediaserver.cpp
	new file:   libremediaserver/libremediaserver.h
	new file:   libremediaserver/libremediaserver.pro
	new file:   libremediaserver/libremediaserver.ui
	new file:   libremediaserver/main.cpp
	new file:   libremediaserver/msex.cpp
	new file:   libremediaserver/msex.h
	new file:   libremediaserver/pms-audio.pd
	new file:   libremediaserver/pms-video.pd
	new file:   libremediaserver/recursos/LMS.shw
	new file:   libremediaserver/recursos/LibreMediaServer_Audio.hed
	new file:   libremediaserver/recursos/LibreMediaServer_Video.hed
	new file:   libremediaserver/scripts/extended_desktop.sh
	new file:   libremediaserver/scripts/install_precise.sh
	new file:   libremediaserver/scripts/install_squeeze.sh
	new file:   libremediaserver/scripts/install_wheezy.sh
	new file:   libremediaserver/scripts/make_thumbs.sh
	new file:   libremediaserver/scripts/single_desktop.sh
	new file:   libremediaserver/text.txt
2013-01-08 16:23:25 +01:00

106 lines
2.7 KiB
C++

/*-----------------------------------------------------------------
pix2jpg v0.01
External for Gem and Pure Data to convert an image to jpg and send it
via Unix Domain Sockets
Compiled and tested in Ubuntu Precise
(c) 2012 Santi Noreña. puremediaserver@gmail.com
GEM - Graphics Environment for Multimedia
Copyright (c) 1997-1999 Mark Danks. mark@danks.org
Copyright (c) Günther Geiger. geiger@epy.co.at
Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-----------------------------------------------------------------*/
#ifndef _INCLUDE__GEM_PIXES_pix2jpg_H_
#define _INCLUDE__GEM_PIXES_pix2jpg_H_
#include "Base/GemPixObj.h"
#include "Base/GemBase.h"
#include "Gem/Manager.h"
#include "Gem/ImageIO.h"
#include "Gem/Image.h"
#include <stdio.h>
#include <Magick++.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <unistd.h>
#include <string.h>
using namespace Magick;
/*-----------------------------------------------------------------
-------------------------------------------------------------------
CLASS
pix2jpg
Convert a image to raw RGB and outputs in a list
KEYWORDS
pix
DESCRIPTION
"bang" - do write now
outlet : The list of raw data.
-----------------------------------------------------------------*/
class GEM_EXPORT pix2jpg : public GemPixObj
{
CPPEXTERN_HEADER(pix2jpg, GemPixObj);
public:
//////////
// Constructor
pix2jpg(t_symbol *s);
protected:
//////////
// Destructor
virtual ~pix2jpg();
//////////
// Do the rendering
virtual void processImage(imageStruct&image);
//////////
// Set the filename and filetype
// virtual void fileMess(int argc, t_atom *argv);
//////////
// The original pix_writer
imageStruct *m_originalImage;
//////////
// Manual writing
bool m_banged;
//////////
// Automatic writing
bool m_automatic;
//////////
// Layer to write
int m_layer;
t_outlet *outlet1; // outlet pointer
struct sockaddr_un address;
int socket_fd, nbytes;
private:
//////////
// static member functions
static void startMessCallback(void *data);
static void stopMessCallback(void *data);
static void bangMessCallback(void *data);
static void layerimageMessCallback(void *data, t_float f);
void layernameMessCallback(void *data, t_symbol *s,int argc, t_atom *argv);
};
#endif // for header file