From a2fd2d7630c9f41a14df776722ee8af1418cc0e2 Mon Sep 17 00:00:00 2001 From: Harry van Haaren Date: Fri, 8 Aug 2014 23:12:36 +0100 Subject: [PATCH] -Icon created & working, added transport.hxx --- resources/icons/icon_large.xcf | Bin 0 -> 39827 bytes src/CMakeLists.txt | 6 + src/gtrack.cxx | 3 + src/gui.cxx | 24 ++- src/gui.hxx | 4 +- src/icon.xpm | 285 +++++++++++++++++++++++++++++++++ src/main.cxx | 3 + src/transport.hxx | 28 ++++ 8 files changed, 345 insertions(+), 8 deletions(-) create mode 100644 resources/icons/icon_large.xcf create mode 100644 src/icon.xpm create mode 100644 src/transport.hxx diff --git a/resources/icons/icon_large.xcf b/resources/icons/icon_large.xcf new file mode 100644 index 0000000000000000000000000000000000000000..1ed284b72200f26b6253f8a061de09c6934a2a99 GIT binary patch literal 39827 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 literal 0 HcmV?d00001 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b80034d..aff53d4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -26,6 +26,11 @@ pkg_check_modules(SAMPLERATE samplerate REQUIRED) include_directories( ${SAMPLERATE_INCLUDE_DIRS} ) link_directories ( ${SAMPLERATE_LIBRARY_DIRS} ) +# needed for setting icon in WM +pkg_check_modules(X11 x11 REQUIRED) +include_directories( ${X11_INCLUDE_DIRS} ) +link_directories ( ${X11_LIBRARY_DIRS} ) + # Check build type, adding coverage flags if needed IF(BUILD_TESTS) ADD_DEFINITIONS(-DBUILD_TESTS) @@ -56,6 +61,7 @@ target_link_libraries( luppp ${NTK_LIBRARIES} ) target_link_libraries( luppp ${CAIRO_LIBRARIES} ) target_link_libraries( luppp ${SNDFILE_LIBRARIES} ) target_link_libraries( luppp ${SAMPLERATE_LIBRARIES} ) +target_link_libraries( luppp ${X11_LIBRARIES} ) # Check build type, linking with gcov for code analysis if needed IF(BUILD_TESTS) diff --git a/src/gtrack.cxx b/src/gtrack.cxx index dff3e81..81f2a17 100644 --- a/src/gtrack.cxx +++ b/src/gtrack.cxx @@ -19,6 +19,9 @@ #include "gtrack.hxx" #include "gui.hxx" +int GTrack::privateID = 0; +int GMasterTrack::privateID = 0; + static void gtrack_vol_cb(Fl_Widget *w, void *data); static void gtrack_key_cb(Fl_Widget *w, void *data); static void gtrack_xsideDial_cb(Fl_Widget *w, void *data); diff --git a/src/gui.cxx b/src/gui.cxx index c69a6ab..11c8bb0 100644 --- a/src/gui.cxx +++ b/src/gui.cxx @@ -33,6 +33,10 @@ extern Jack* jack; #include "controller/nonseq.hxx" #include "controller/genericmidi.hxx" +#include "icon.xpm" +#include +#include +#include #include #include @@ -49,14 +53,8 @@ extern Jack* jack; #include "../planning/luppp.c" #include "../planning/bg.c" -// Hack, move to gtrack.cpp -int GTrack::privateID = 0; -int GMasterTrack::privateID = 0; -//int AudioBuffer::privateID = 0; - using namespace std; - extern Gui* gui; extern int signalHanlderInt; @@ -340,6 +338,20 @@ Gui::Gui(const char* argZero) : gui = this; + // setup window icon before calling show() + fl_open_display(); + Fl_Pixmap* pixmap = new Fl_Pixmap( icon_xpm ); + Fl_Offscreen lupppIcon = XCreatePixmap(fl_display, RootWindow(fl_display, fl_screen), + pixmap->w(), pixmap->h(), fl_visual->depth); + fl_gc = XCreateGC(fl_display, lupppIcon, 0, 0); + fl_begin_offscreen(lupppIcon); + pixmap->draw(0,0); + fl_end_offscreen(); + delete pixmap; + XFreeGC(fl_display, fl_gc); + + window.icon( (void*)lupppIcon ); + // setup callback to signalChecker() Fl::add_timeout( 0.1, (Fl_Timeout_Handler)&signalChecker, 0 ); diff --git a/src/gui.hxx b/src/gui.hxx index 18780d7..77178d0 100644 --- a/src/gui.hxx +++ b/src/gui.hxx @@ -96,9 +96,9 @@ class Gui private: vector controllerVector; - Fl_Double_Window window; + Fl_Double_Window window; - Fl_Group* lupppGroup; + Fl_Group* lupppGroup; OptionsWindow* optionWindow; diff --git a/src/icon.xpm b/src/icon.xpm new file mode 100644 index 0000000..f73bda1 --- /dev/null +++ b/src/icon.xpm @@ -0,0 +1,285 @@ +/* XPM */ +static const char* icon_xpm[] = { +"32 32 250 2", +" c None", +". c #000000", +"+ c #020202", +"@ c #101010", +"# c #171717", +"$ c #181818", +"% c #191919", +"& c #1A1A1A", +"* c #1B1B1B", +"= c #151515", +"- c #131313", +"; c #121212", +"> c #111111", +", c #0F0F0F", +"' c #090909", +") c #040404", +"! c #222222", +"~ c #343434", +"{ c #383838", +"] c #343535", +"^ c #2B2E2F", +"/ c #212729", +"( c #191E20", +"_ c #151C1E", +": c #141B1D", +"< c #141A1C", +"[ c #151A1C", +"} c #181C1D", +"| c #202021", +"1 c #242424", +"2 c #252525", +"3 c #212121", +"4 c #141414", +"5 c #292929", +"6 c #414141", +"7 c #444444", +"8 c #393837", +"9 c #2F2725", +"0 c #2E1D17", +"a c #2D1D17", +"b c #291813", +"c c #271612", +"d c #261611", +"e c #261511", +"f c #271611", +"g c #241915", +"h c #222121", +"i c #2B2B2B", +"j c #2D2D2D", +"k c #282828", +"l c #3F3F3F", +"m c #3B3D3E", +"n c #2E2624", +"o c #471608", +"p c #841E00", +"q c #831F00", +"r c #821E00", +"s c #851F00", +"t c #801F00", +"u c #621D07", +"v c #241E1B", +"w c #2A2A2A", +"x c #2B2B2C", +"y c #2C2C2C", +"z c #272727", +"A c #343839", +"B c #311F19", +"C c #811E00", +"D c #FF3E00", +"E c #FF3D01", +"F c #F83C02", +"G c #B9320A", +"H c #31221E", +"I c #2B2A2A", +"J c #333739", +"K c #301F19", +"L c #7F1E00", +"M c #FF3D00", +"N c #FF3E01", +"O c #F73C02", +"P c #B6320A", +"Q c #30221E", +"R c #35393A", +"S c #311F1A", +"T c #7E1E00", +"U c #FF3C00", +"V c #F63B02", +"W c #B4320A", +"X c #30231E", +"Y c #2C2B2B", +"Z c #2C2D2D", +"` c #030303", +" . c #323232", +".. c #282C2E", +"+. c #2B1A15", +"@. c #7F1E01", +"#. c #F53B02", +"$. c #B33008", +"%. c #2B1D19", +"&. c #232323", +"*. c #232424", +"=. c #010101", +"-. c #0D0D0D", +";. c #0D1013", +">. c #21100B", +",. c #802003", +"'. c #FC3C01", +"). c #F93B01", +"!. c #F53B01", +"~. c #AF2C05", +"{. c #1E110D", +"]. c #0F0E0E", +"^. c #0E0E0E", +"/. c #080808", +"(. c #000405", +"_. c #1C0B06", +":. c #812103", +"<. c #EF3800", +"[. c #CB3000", +"}. c #B72B00", +"|. c #EE3901", +"1. c #AD2B03", +"2. c #170A07", +"3. c #040303", +"4. c #020203", +"5. c #292828", +"6. c #1F2425", +"7. c #281712", +"8. c #7F1F02", +"9. c #DD3400", +"0. c #701A00", +"a. c #100300", +"b. c #861F00", +"c. c #E13400", +"d. c #FB3C01", +"e. c #B12F07", +"f. c #271A15", +"g. c #1C1C1C", +"h. c #1C1D1D", +"i. c #1D1D1D", +"j. c #3E3E3E", +"k. c #323638", +"l. c #2F1E19", +"m. c #DF3400", +"n. c #731B00", +"o. c #070200", +"p. c #330C00", +"q. c #962300", +"r. c #E83700", +"s. c #B43109", +"t. c #2F211D", +"u. c #2A2929", +"v. c #2A2B2B", +"w. c #404040", +"x. c #301F1A", +"y. c #030100", +"z. c #180600", +"A. c #441000", +"B. c #912200", +"C. c #E63600", +"D. c #2F221E", +"E. c #2B2C2C", +"F. c #343739", +"G. c #1F0700", +"H. c #801E00", +"I. c #E43600", +"J. c #B4310A", +"K. c #721B00", +"L. c #160500", +"M. c #4F1200", +"N. c #902200", +"O. c #CA3000", +"P. c #F53A01", +"Q. c #020000", +"R. c #390D00", +"S. c #7B1D00", +"T. c #D33200", +"U. c #FF3F01", +"V. c #2B2B2A", +"W. c #262626", +"X. c #3D3D3D", +"Y. c #313536", +"Z. c #7E1E01", +"`. c #E23500", +" + c #8C2100", +".+ c #4E1200", +"++ c #C92F00", +"@+ c #2E211D", +"#+ c #292A2A", +"$+ c #1B1F21", +"%+ c #F93A00", +"&+ c #F03800", +"*+ c #EE3800", +"=+ c #B12E06", +"-+ c #251814", +";+ c #1A1A1B", +">+ c #000103", +",+ c #1B0A05", +"'+ c #812104", +")+ c #170A06", +"!+ c #111517", +"~+ c #23120D", +"{+ c #802002", +"]+ c #B02D05", +"^+ c #20130F", +"/+ c #121111", +"(+ c #0A0A0A", +"_+ c #363636", +":+ c #2B2F30", +"<+ c #2C1C16", +"[+ c #2C1E1A", +"}+ c #252424", +"|+ c #811D00", +"1+ c #FC3C00", +"2+ c #B93209", +"3+ c #31231E", +"4+ c #2C2C2D", +"5+ c #36393A", +"6+ c #6D1E06", +"7+ c #D83705", +"8+ c #D23605", +"9+ c #D13404", +"0+ c #D43403", +"a+ c #CB3304", +"b+ c #962C0B", +"c+ c #2E221E", +"d+ c #414040", +"e+ c #313233", +"f+ c #212527", +"g+ c #1C2327", +"h+ c #1C2326", +"i+ c #141B1E", +"j+ c #11191C", +"k+ c #11181B", +"l+ c #10181A", +"m+ c #11181A", +"n+ c #212222", +"o+ c #434343", +"p+ c #3F4040", +"q+ c #303131", +"r+ c #292A2B", +"s+ c #28292A", +"t+ c #454545", +"u+ c #353434", +"v+ c #2F2F2F", +"w+ c #2E2D2D", +"x+ c #2D2D2C", +"y+ c #202020", +"z+ c #313131", +"A+ c #333333", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". + @ # $ % & * * = - ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; > @ @ > , ' ", +". ) ! ~ { ] ^ / / ( _ : < < < < < < < < < < < < [ } | 1 1 2 3 4 ", +". ) 5 6 7 8 9 0 a b c d e d d d d d d d d d d f f g h i j j k $ ", +". ) k l m n o p q r r r r r r r r r r r r r r s t u v w x y z # ", +". ) k l A B C D E E E E E E E E E E E E E E E E F G H I i y z # ", +". ) k l J K L M E E E E E E E E E E E E E E E N O P Q w i y z # ", +". ) 5 6 R S T U E E E E E E E E E E E E E E E N V W X Y Z j 5 $ ", +". ` 3 ...+.@.U E E E E N N E E E E E E E E E N #.$.%.&.*.1 3 4 ", +". =.-.- ;.>.,.U E E E '.).'.N E E E E E E E E N !.~.{.].^., -./.", +". . ` ) (._.:.U E E M <.[.}.|.E N E E E E E E N !.1.2.3.4.` ` + ", +". ` * 5.6.7.8.U E E M 9.0.a.b.c.d.E E E E E E N !.e.f.g.h.i.& @ ", +". ) z j.k.l.T U E E M m.n.. o.p.q.r.D E E E E N V s.t.u.v.i z # ", +". ) k w.A x.T U E E M m.n.. . y.z.A.B.C.E E E N V W D.I E.y k $ ", +". ) k l F.K T U E E M m.n.. . . . G.H.I.E E E N V J.D.w i y z # ", +". ) k l F.K T U E E M m.K.. . L.M.N.O.P.E E E N V J.D.w i y z # ", +". ) k w.A x.T U E E M m.n.Q.R.S.T.E U.E E E E N V W Q V.E.y k $ ", +". ) W.X.Y.l.Z.U E E M `. +.+++N U.E E E E E E N V s.@+5 #+w W.# ", +". ` $ 1 $+e 8.U E E M %+&+*+E E E E E E E E E N !.=+-+& ;+* $ , ", +". . =.+ >+,+'+U E E E E E E E E E E E E E E E N !.1.)++ =.=.=.=.", +". + > $ !+~+{+U E E E E E E E E E E E E E E E N !.]+^+/+> > @ (+", +". ) &._+:+<+@.M E E E E E E E E E E E E E E E N V $.[+}+2 W.! 4 ", +". ) 5 6 R B |+M M M M M M M M M M M M M M M M D 1+2+3+Y 4+j k $ ", +". ) k l 5+H 6+7+8+9+9+9+9+9+9+9+9+9+9+9+9+9+9+0+a+b+c+I i y z # ", +". ) k l d+e+f+g+h+i+j+k+l+l+l+l+l+l+l+l+l+l+l+l+m+[ n+w i y z # ", +". ) k l o+6 w.p+p+q+E.r+s+#+#+#+#+#+#+#+#+#+#+#+#+#+w i i y z # ", +". ) 5 6 t+7 t+t+t+u+v+w+x+j j j j j j j j j j j j j y y y j 5 $ ", +". ` y+z+~ A+A+A+A+W.1 &.! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! &.y+- ", +". =.-.- 4 4 4 4 4 ^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.-./.", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/src/main.cxx b/src/main.cxx index a44306f..86132fb 100644 --- a/src/main.cxx +++ b/src/main.cxx @@ -56,6 +56,8 @@ static void gui_static_loadSession_cb(void* inst) LUPPP_ERROR( "Error loading session" ); } + + int main(int argc, char** argv) { LUPPP_NOTE("Git: %s", GIT_VERSION ); @@ -118,6 +120,7 @@ int main(int argc, char** argv) #endif + // Create a GUI, check for NSM integration gui = new Gui( argv[0] ); diff --git a/src/transport.hxx b/src/transport.hxx new file mode 100644 index 0000000..f95e5d9 --- /dev/null +++ b/src/transport.hxx @@ -0,0 +1,28 @@ +/* + * Author: Harry van Haaren 2013 + * harryhaaren@gmail.com + * + * 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 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef LUPPP_TRANSPORT_H +#define LUPPP_TRANSPORT_H + +enum TRANSPORT_STATE +{ + TRANSPORT_STOPPED = 0, + TRANSPORT_ROLLING, +}; + +#endif