/* ============================================================================== This is an automatically generated GUI class created by the Introjucer! Be careful when adding custom code to these files, as only the code within the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded and re-saved. Created with Introjucer version: 3.1.0 ------------------------------------------------------------------------------ The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions" Copyright 2004-13 by Raw Material Software Ltd. ============================================================================== */ #ifndef __JUCE_HEADER_9002020A4DD09B20__ #define __JUCE_HEADER_9002020A4DD09B20__ //[Headers] -- You can add your own extra header files here -- #include "JuceHeader.h" #include "DrawComponent.h" #include "LayerArray.hpp" #include "Rbm.hpp" //[/Headers] //============================================================================== /** //[Comments] An auto-generated component, created by the Introjucer. Describe your class and how it works here! //[/Comments] */ class MainComponent : public Component, public LayerArrayListener, public RbmListener, public DrawListener, public Thread, public ButtonListener, public SliderListener, public LabelListener { public: //============================================================================== MainComponent (); ~MainComponent(); //============================================================================== //[UserMethods] -- You can add your own custom methods in this section. //[/UserMethods] void paint (Graphics& g); void resized(); void buttonClicked (Button* buttonThatWasClicked); void sliderValueChanged (Slider* sliderThatWasMoved); void labelTextChanged (Label* labelThatHasChanged); private: //[UserVariables] -- You can add your own custom variables in this section. Weights m_weights; ScopedPointer m_pRbm; ScopedPointer DrawTraining; ScopedPointer DrawReconstruction; ScopedPointer DrawWeights; ScopedPointer DrawHidden; uint32_t m_vNumX; uint32_t m_vNumY; uint32_t m_hNum; LayerArray m_layers; void load(); void save(); void create(); void destroy(); const juce::String& getBaseDir(); void onChanged(const LayerArray &obj); void onEpochTrained(const Rbm &obj); void onDraw(DrawComponent &obj); void redrawReconstruction(); void redrawWeights(int index); void run(); String m_baseDir; uint32_t m_numGibbs; bool rbmReduceVarianceToggleButton_binary; double sigma_gauss; double sigmaDecay_gauss; //[/UserVariables] //============================================================================== ScopedPointer trainButton; ScopedPointer addButton; ScopedPointer patterSlider; ScopedPointer reconstructButton; ScopedPointer ShakeButton; ScopedPointer WeightsSlider; ScopedPointer