コード例 #1
0
ファイル: mainwindow.cpp プロジェクト: be1ay/MyHash_Stribog
void MyClass::GOST2012(){
emit set_max(0);
    QFile file(fname);
    emit sendStringFileName(fname);
    CTX = (GOST34112012Context*)(malloc(sizeof(GOST34112012Context)));
    if(sizeHash==64)
        GOST34112012Init(CTX, 512);
    if(sizeHash==32)
        GOST34112012Init(CTX, 256);

     if (file.open(QIODevice::ReadOnly) )
               {
                 while (!file.atEnd()) {
                 QByteArray line = file.read(4096);
                 GOST34112012Update(CTX, (unsigned char*)(line.data()), line.size());
               }
             }
             file.close();
             GOST34112012Final(CTX, &digest[0]);
     convert_to_hex(digest, hexdigest, sizeHash, 1);//eflag=1 (в Госте в таком виде хеш получается)// eflag=0 наоборот развернут
     QString rez = (char*)hexdigest;
    // QString rez = (char*)digest;
    //  rez   = rez.toLocal8Bit().toHex();
             GOST34112012Cleanup(CTX);

    emit sendString(rez);emit set_max(100);emit change_value(100);emit finished();emit sendStringDone("Complete");
}
コード例 #2
0
ファイル: Function.cpp プロジェクト: caiofreitaso/functions
double Function::operator()(int n, double inputs[]) {
	if (n != numVar + 1)
		return std::numeric_limits<double>::quiet_NaN();
	for (int i = 0; i < n; i++)
		change_value(tree, i, inputs[i]);

	return tree->v();
}
コード例 #3
0
int main(int argc, const char *argv[])
{
    int value = 5;
	std::cout << "previous value: " << value << "\n";
	change_value(value);
	std::cout << "current value: " << value << "\n";

	return 0;
}
コード例 #4
0
ファイル: wb_watt_gtk.cpp プロジェクト: Strongc/proview
int WAttGtk::open_changevalue( char *name)
{
  int sts;

  sts = ((WAttNav*)wattnav)->select_by_name( name);
  if ( EVEN(sts)) return sts;

  change_value(0);
  return WATT__SUCCESS;
}
コード例 #5
0
ファイル: multiindex.hpp プロジェクト: AliceStats/Alice
            /**
             * Sets the value for a specific key
             *
             * This function only sets the value for the first key found.
             * Because the iteration is unordered, using this functions for
             * non-unique keys may lead to inconsisten behavior.
             */
            inline void set(const Key &k, Value &&v) const {
                key_set &index = db.template get<0>();
                auto it = index.find(k);

                if (it == index.end())
                    BOOST_THROW_EXCEPTION( multiindexUnkownProperty()
                        << (typename EArgT<1, Key>::info(k))
                    );

                index.modify(it, change_value(std::move(v)));
            }
コード例 #6
0
ファイル: multiindex.hpp プロジェクト: AliceStats/Alice
            /** Sets the value for a specific Index */
            inline void set(const Index &i, Value &&v) const {
                index_set &index = db.template get<1>();
                auto it = index.find(i);

                if (it == index.end())
                    BOOST_THROW_EXCEPTION( multiindexUnkownProperty()
                        << (typename EArgT<1, Index>::info(i))
                    );

                index.modify(it, change_value(std::move(v)));
            }
コード例 #7
0
ファイル: wb_watt.cpp プロジェクト: ManfredHerrmann/proview
int WAtt::open_changevalue( const char *name, int close)
{
  int sts;

  pending_close = close;

  sts = ((WAttNav*)wattnav)->select_by_name( name);
  if ( EVEN(sts)) return sts;

  change_value(0);
  return WATT__SUCCESS;
}
コード例 #8
0
ファイル: mainwindow.cpp プロジェクト: be1ay/MyHash_Stribog
void MyClass::MyCalcMD5()
{
emit set_max(0);
        QCryptographicHash hash(QCryptographicHash::Md5);
        QFile file(fname);
        if (file.open(QIODevice::ReadOnly) )
          {

            while (!file.atEnd()) {
            QByteArray line = file.read(1024);
            hash.addData(line);
          }
        }
        file.close();
        QString rez = hash.result().toHex().data();
        emit sendString(rez);emit set_max(100);emit change_value(100);
emit finished();emit sendStringDone("Complete");
}
コード例 #9
0
ファイル: edit_ram.c プロジェクト: ProfessorKaos64/hu-go
/*****************************************************************************

    Function:  ram_key

    Description: handle the keyboard in edit_ram
    Parameters: none
    Return: nothing

*****************************************************************************/
void
ram_key ()
{

  /* TODO: deallegroize here too */
#ifdef ALLEGRO
  int ch = osd_readkey ();

  switch (ch >> 8)
    {
      // The two first are a bit special
    case KEY_HOME:
      selected_byte = 0;
      frame_up = 0;
      frame_down = NB_BYTE_LINE * NB_LINE;
      return;
    case KEY_END:
      selected_byte = 0x7FFF;
      frame_down = 0x8000;
      frame_up = frame_down - NB_BYTE_LINE * NB_LINE;
      return;
    case KEY_PGUP:
      if (selected_byte >= NB_BYTE_LINE * NB_LINE)
	selected_byte -= NB_BYTE_LINE * NB_LINE;
      break;
    case KEY_PGDN:
      if (selected_byte <= 0x7FFF - NB_BYTE_LINE * NB_LINE);
      selected_byte += NB_BYTE_LINE * NB_LINE;
      break;
    case KEY_UP:
      if (selected_byte >= NB_BYTE_LINE)
	selected_byte -= NB_BYTE_LINE;
      break;
    case KEY_DOWN:
      if (selected_byte <= 0x7FFF - NB_BYTE_LINE)
	selected_byte += NB_BYTE_LINE;
      break;
    case KEY_RIGHT:
      if (selected_byte < 0x7FFF)
	selected_byte++;
      break;
    case KEY_LEFT:
      if (selected_byte)
	selected_byte--;
      break;
    case KEY_SPACE:
      {
	UInt32 dummy = RAM[selected_byte];

	change_value (
		      (((selected_byte & 0x04) / 4) * 2 + 6 +
		       3 * (selected_byte & 0x07)) * 8 + blit_x,
		      (selected_byte - frame_up) / NB_BYTE_LINE * 10 +
		      blit_y - 1, 2, &dummy);

	RAM[selected_byte] = (UChar) dummy;

      }
      break;
    case KEY_F12:
    case KEY_ESC:
      out = 1;
      break;
    }

  // Now ajust the frame
  if ((selected_byte < 3 * NB_BYTE_LINE) ||
      (selected_byte > 0x7FFF - 3 * NB_BYTE_LINE))
    return;

  if (selected_byte >= frame_down - 3 * NB_BYTE_LINE)
    {
      frame_down = min (0x8000, (selected_byte + 3 * NB_BYTE_LINE) & 0x7FF8);
      frame_up = frame_down - NB_BYTE_LINE * NB_LINE;
    }

  if (selected_byte < frame_up + 3 * NB_BYTE_LINE)
    {
      frame_up = max (0, (int) ((selected_byte - 3 * NB_BYTE_LINE) & 0x7FF8));
      frame_down = frame_up + NB_BYTE_LINE * NB_LINE;
    }

  return;

#endif

}
コード例 #10
0
XAttOneMotif::XAttOneMotif( Widget xa_parent_wid,
			    void *xa_parent_ctx, 
			    pwr_sAttrRef *xa_aref,
			    char *xa_title,
			    unsigned int xa_priv,
			    int *xa_sts) :
  XAttOne( xa_parent_ctx, xa_aref, xa_title, xa_priv, xa_sts), 
  parent_wid(xa_parent_wid), set_focus_disabled(0), value_current_recall(0)
{
  char		uid_filename[120] = {"xtt_xattone.uid"};
  char		*uid_filename_p = uid_filename;
  Arg 		args[20];
  pwr_tStatus	sts;
  pwr_tAName   	title;
  int		i;
  MrmHierarchy s_DRMh;
  MrmType dclass;
  char		name[] = "Proview/R Navigator";

  static char translations[] =
    "<FocusIn>: xao_inputfocus()\n";
  static XtTranslations compiled_translations = NULL;

  static XtActionsRec actions[] =
  {
    {(char*) "xao_inputfocus",      (XtActionProc) action_inputfocus}
  };

  static MrmRegisterArg	reglist[] = {
        {(char*) "xao_ctx", 0 },
	{(char*) "xao_activate_exit",(caddr_t)activate_exit },
	{(char*) "xao_activate_help",(caddr_t)activate_help },
	{(char*) "xao_create_msg_label",(caddr_t)create_msg_label },
	{(char*) "xao_create_cmd_prompt",(caddr_t)create_cmd_prompt },
	{(char*) "xao_create_cmd_input",(caddr_t)create_cmd_input },
	{(char*) "xao_create_cmd_label",(caddr_t)create_cmd_label },
	{(char*) "xao_create_cmd_scrolledinput",(caddr_t)create_cmd_scrolledinput },
	{(char*) "xao_create_cmd_scrolled_ok",(caddr_t)create_cmd_scrolled_ok },
	{(char*) "xao_create_cmd_scrolled_ap",(caddr_t)create_cmd_scrolled_ap },
	{(char*) "xao_create_cmd_scrolled_ca",(caddr_t)create_cmd_scrolled_ca },
	{(char*) "xao_activate_cmd_scrolledinput",(caddr_t)activate_cmd_input },
	{(char*) "xao_activate_cmd_scrolled_ok",(caddr_t)activate_cmd_scrolled_ok },
	{(char*) "xao_activate_cmd_scrolled_ap",(caddr_t)activate_cmd_scrolled_ap },
	{(char*) "xao_activate_cmd_scrolled_ca",(caddr_t)activate_cmd_scrolled_ca }
	};

  static int	reglist_num = (sizeof reglist / sizeof reglist[0]);

  // for ( i = 0; i < int(sizeof(value_recall)/sizeof(value_recall[0])); i++)
  //  value_recall[i][0] = 0;

  Lng::get_uid( uid_filename, uid_filename);

  // Create object context
//  attrctx->close_cb = close_cb;
//  attrctx->redraw_cb = redraw_cb;

  // Motif
  MrmInitialize();

  *xa_sts = gdh_AttrrefToName( &aref, title, sizeof(title), cdh_mNName);
  if ( EVEN(*xa_sts)) return;

  reglist[0].value = (caddr_t) this;

  // Save the context structure in the widget
  i = 0;
  XtSetArg (args[i], XmNuserData, (XtPointer) this);i++;
  XtSetArg( args[i], XmNdeleteResponse, XmDO_NOTHING);i++;

  sts = MrmOpenHierarchy( 1, &uid_filename_p, NULL, &s_DRMh);
  if (sts != MrmSUCCESS) printf("can't open %s\n", uid_filename);

  MrmRegisterNames(reglist, reglist_num);

  parent_wid = XtCreatePopupShell( title, 
		topLevelShellWidgetClass, parent_wid, args, i);

  sts = MrmFetchWidgetOverride( s_DRMh, (char*) "xao_window", parent_wid,
			name, args, 1, &toplevel, &dclass);
  if (sts != MrmSUCCESS)  printf("can't fetch %s\n", name);

  MrmCloseHierarchy(s_DRMh);


  if (compiled_translations == NULL) 
    XtAppAddActions( XtWidgetToApplicationContext(toplevel), 
						actions, XtNumber(actions));
 
  if (compiled_translations == NULL) 
    compiled_translations = XtParseTranslationTable(translations);
  XtOverrideTranslations( toplevel, compiled_translations);

  i = 0;
  XtSetArg(args[i],XmNwidth,420);i++;
  XtSetArg(args[i],XmNheight,120);i++;
  XtSetValues( toplevel ,args,i);
    
  if ( priv & pwr_mPrv_RtWrite || priv & pwr_mPrv_System)
    access_rw = 1;
  else
    access_rw = 0;

  XtManageChild( toplevel);
  if ( access_rw) 
    XtUnmanageChild( cmd_label);
  else {
    XtUnmanageChild( cmd_input);
    XtUnmanageChild( cmd_scrolled_ok);
    XtUnmanageChild( cmd_scrolled_ap);
  }
  XtUnmanageChild( cmd_scrolledinput);


  XtPopup( parent_wid, XtGrabNone);

  // Connect the window manager close-button to exit
  flow_AddCloseVMProtocolCb( parent_wid,
	(XtCallbackProc)activate_exit, this);

  change_value( 1);

  *xa_sts = XATT__SUCCESS;
}
コード例 #11
0
ファイル: message.hpp プロジェクト: aspectron/jsx
 /// changes the value for the HTTP header named key
 inline void change_header(const std::string& key, const std::string& value) {
     change_value(m_headers, key, value);
 }
コード例 #12
0
ファイル: message.hpp プロジェクト: aspectron/jsx
 /// sets the content type for the message payload
 inline void set_content_type(const std::string& type) {
     change_value(m_headers, HEADER_CONTENT_TYPE, type);
 }
コード例 #13
0
ファイル: message.hpp プロジェクト: aspectron/jsx
 /// changes the value of a cookie
 /// since cookie names are insensitive, key should use lowercase alpha chars
 inline void change_cookie(const std::string& key, const std::string& value) {
     change_value(m_cookie_params, key, value);
 }
コード例 #14
0
ファイル: Function.cpp プロジェクト: caiofreitaso/functions
void Function::change_value(Function::node* a, int var, double val) {
	if (a->type == 4 && a->var == var)
		a->value = val;
	if (a->child[0]) change_value(a->child[0],var,val);
	if (a->child[1]) change_value(a->child[1],var,val);
}
コード例 #15
0
ファイル: Function.cpp プロジェクト: caiofreitaso/functions
double Function::operator()(double x) {
	if (!numVar)
		return std::numeric_limits<double>::quiet_NaN();
	change_value(tree, 0, x);
	return tree->v();
}
コード例 #16
0
int XAttOne::open_changevalue( char *name)
{
  change_value(0);
  return XATT__SUCCESS;
}
コード例 #17
0
ファイル: xtt_xattone_gtk.cpp プロジェクト: siamect/proview
XAttOneGtk::XAttOneGtk(GtkWidget* xa_parent_wid, void* xa_parent_ctx,
    pwr_sAttrRef* xa_aref, char* xa_title, unsigned int xa_priv, int* xa_sts)
    : XAttOne(xa_parent_ctx, xa_aref, xa_title, xa_priv, xa_sts),
      parent_wid(xa_parent_wid)
{
  pwr_tAName title;

  *xa_sts = gdh_AttrrefToName(&aref, title, sizeof(title), cdh_mNName);
  if (EVEN(*xa_sts))
    return;

  toplevel = (GtkWidget*)g_object_new(GTK_TYPE_WINDOW, "default-height", 200,
      "default-width", 500, "title", CoWowGtk::convert_utf8(title), NULL);

  g_signal_connect(toplevel, "delete_event", G_CALLBACK(delete_event), this);
  g_signal_connect(toplevel, "destroy", G_CALLBACK(destroy_event), this);
  g_signal_connect(
      toplevel, "focus-in-event", G_CALLBACK(action_inputfocus), this);

  CoWowGtk::SetWindowIcon(toplevel);

  // Menu
  // Accelerators
  GtkAccelGroup* accel_g
      = (GtkAccelGroup*)g_object_new(GTK_TYPE_ACCEL_GROUP, NULL);
  gtk_window_add_accel_group(GTK_WINDOW(toplevel), accel_g);

  GtkMenuBar* menu_bar = (GtkMenuBar*)g_object_new(GTK_TYPE_MENU_BAR, NULL);

  // File entry
  GtkWidget* file_close
      = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLOSE, accel_g);
  g_signal_connect(file_close, "activate", G_CALLBACK(activate_exit), this);

  GtkMenu* file_menu = (GtkMenu*)g_object_new(GTK_TYPE_MENU, NULL);
  gtk_menu_shell_append(GTK_MENU_SHELL(file_menu), file_close);

  GtkWidget* file = gtk_menu_item_new_with_mnemonic("_File");
  gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), file);
  gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), GTK_WIDGET(file_menu));

  // Help entry
  GtkWidget* help_help
      = gtk_image_menu_item_new_from_stock(GTK_STOCK_HELP, accel_g);
  g_signal_connect(help_help, "activate", G_CALLBACK(activate_help), this);

  GtkMenu* help_menu = (GtkMenu*)g_object_new(GTK_TYPE_MENU, NULL);
  gtk_menu_shell_append(GTK_MENU_SHELL(help_menu), help_help);

  GtkWidget* help = gtk_menu_item_new_with_mnemonic("_Help");
  gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), help);
  gtk_menu_item_set_submenu(GTK_MENU_ITEM(help), GTK_WIDGET(help_menu));

  // Prompt, label, input entry
  msg_label = gtk_label_new("");
  gtk_widget_set_size_request(msg_label, -1, 25);
  cmd_prompt = gtk_label_new("value > ");
  gtk_widget_set_size_request(cmd_prompt, -1, 25);
  cmd_label = gtk_label_new("");
  gtk_widget_set_size_request(cmd_label, -1, 25);
  gtk_misc_set_alignment(GTK_MISC(cmd_label), 0.0, 0.5);
  cmd_entry = new CoWowEntryGtk(&value_recall);
  cmd_input = cmd_entry->widget();
  gtk_widget_set_size_request(cmd_input, -1, 25);
  g_signal_connect(cmd_input, "activate", G_CALLBACK(activate_cmd_input), this);

  // Scrolled text input
  cmd_scrolled_buffer = gtk_text_buffer_new(NULL);

  cmd_scrolledtextview = gtk_text_view_new_with_buffer(cmd_scrolled_buffer);
  GtkWidget* viewport = gtk_viewport_new(NULL, NULL);
  GtkWidget* scrolledwindow = gtk_scrolled_window_new(NULL, NULL);
  gtk_container_add(GTK_CONTAINER(viewport), cmd_scrolledtextview);
  gtk_container_add(GTK_CONTAINER(scrolledwindow), viewport);

  cmd_scrolledinput = gtk_vbox_new(FALSE, 0);
  gtk_box_pack_start(GTK_BOX(cmd_scrolledinput), scrolledwindow, TRUE, TRUE, 0);

  // Buttons
  cmd_scrolled_ok = gtk_button_new_with_label(CoWowGtk::translate_utf8("Ok"));
  gtk_widget_set_size_request(cmd_scrolled_ok, 70, 25);
  g_signal_connect(
      cmd_scrolled_ok, "clicked", G_CALLBACK(activate_cmd_scrolled_ok), this);

  cmd_scrolled_ap
      = gtk_button_new_with_label(CoWowGtk::translate_utf8("Apply"));
  gtk_widget_set_size_request(cmd_scrolled_ap, 70, 25);
  g_signal_connect(
      cmd_scrolled_ap, "clicked", G_CALLBACK(activate_cmd_scrolled_ap), this);

  cmd_scrolled_ca
      = gtk_button_new_with_label(CoWowGtk::translate_utf8("Cancel"));
  gtk_widget_set_size_request(cmd_scrolled_ca, 70, 25);
  g_signal_connect(
      cmd_scrolled_ca, "clicked", G_CALLBACK(activate_cmd_scrolled_ca), this);

  GtkWidget* hboxbuttons = gtk_hbox_new(TRUE, 40);
  gtk_box_pack_start(GTK_BOX(hboxbuttons), cmd_scrolled_ok, FALSE, FALSE, 0);
  gtk_box_pack_start(GTK_BOX(hboxbuttons), cmd_scrolled_ap, FALSE, FALSE, 0);
  gtk_box_pack_end(GTK_BOX(hboxbuttons), cmd_scrolled_ca, FALSE, FALSE, 0);

  // Horizontal box
  GtkWidget* statusbar = gtk_hbox_new(FALSE, 0);
  gtk_box_pack_start(GTK_BOX(statusbar), msg_label, FALSE, FALSE, 15);
  gtk_box_pack_start(GTK_BOX(statusbar), cmd_prompt, FALSE, FALSE, 15);
  gtk_box_pack_start(GTK_BOX(statusbar), cmd_label, TRUE, TRUE, 15);
  gtk_box_pack_start(GTK_BOX(statusbar), cmd_input, TRUE, TRUE, 15);
  gtk_box_pack_start(GTK_BOX(statusbar), cmd_scrolledinput, TRUE, TRUE, 15);

  GtkWidget* vbox = gtk_vbox_new(FALSE, 0);

  gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(menu_bar), FALSE, FALSE, 0);
  gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(statusbar), TRUE, TRUE, 0);
  gtk_box_pack_start(
      GTK_BOX(vbox), GTK_WIDGET(gtk_hseparator_new()), FALSE, FALSE, 0);
  gtk_box_pack_end(GTK_BOX(vbox), hboxbuttons, FALSE, FALSE, 5);

  gtk_container_add(GTK_CONTAINER(toplevel), vbox);

  gtk_widget_show_all(toplevel);

  if (priv & pwr_mPrv_RtWrite || priv & pwr_mPrv_System)
    access_rw = 1;
  else
    access_rw = 0;

  if (access_rw)
    g_object_set(cmd_label, "visible", FALSE, NULL);
  else {
    g_object_set(cmd_input, "visible", FALSE, NULL);
    g_object_set(cmd_scrolledinput, "visible", FALSE, NULL);
    g_object_set(cmd_scrolled_ok, "visible", FALSE, NULL);
    g_object_set(cmd_scrolled_ap, "visible", FALSE, NULL);
  }

  change_value(1);

  *xa_sts = XATT__SUCCESS;
}
コード例 #18
0
ファイル: main.c プロジェクト: goepfert/IR_BT_Remote
void checkIR(IRMP_DATA *irmp_data) {

	if (irmp_get_data(irmp_data)) {

		if (pwm_status == POWER_OFF && irmp_data->command != 1)
			return;

		if (!(irmp_data->flags & IRMP_FLAG_REPETITION)) {

			switch (irmp_data->command) {

			case (1):
			if (pwm_status == POWER_ON) {
				pwm_disable_all();
				off(DEBUGLED);
			} else {
				pwm_enable_all();
				on(DEBUGLED);
			}
			action = NONE;
			break;

			case (30):
			change_white(1);
			break;

			case (36):
			change_white(-1);
			break;

			case (4):
			change_white(-255);
			break;

			case (14):
			rgb_color.r=0; rgb_color.g=0; rgb_color.b=0;
			hsv_color = RgbToHsv(&rgb_color);
			update_color();
			break;

			case (40):
			change_hue(5.);
			action = NONE;
			break;

			case (41):
			change_hue(-5.);
			action = NONE;
			break;

			case (44):
			change_saturation(0.1);
			action = NONE;
			break;

			case (45):
			change_saturation(-0.1);
			action = NONE;
			break;

			case (9):
			change_value(0.1);
			action = NONE;
			break;

			case (5):
			change_value(-0.1);
			action = NONE;
			break;

			case (7):
			duration += 10;
			break;

			case (8):
			duration -= 10;
			break;

			case (16):
			colors_gen(RED, &rgb_color, &hsv_color);
			update_color();
			action = NONE;
			break;
			case (17):
			colors_gen(GREEN, &rgb_color, &hsv_color);
			update_color();
			action = NONE;
			break;
			case (18):
			colors_gen(BLUE, &rgb_color, &hsv_color);
			update_color();
			action = NONE;
			break;
			case (19):
			colors_gen(CYAN, &rgb_color, &hsv_color);
			update_color();
			action = NONE;
			break;
			case (20):
			colors_gen(MAGENTA, &rgb_color, &hsv_color);
			update_color();
			action = NONE;
			break;
			case (21):
			colors_gen(YELLOW, &rgb_color, &hsv_color);
			update_color();
			action = NONE;
			break;
			case (22):
			colors_gen(WHITE, &rgb_color, &hsv_color);
			update_color();
			action = NONE;
			break;
			case (23):
			colors_gen(BROWN, &rgb_color, &hsv_color);
			update_color();
			action = NONE;
			break;
			case (24):
			colors_gen(RANDOM, &rgb_color, &hsv_color);
			update_color();
			action = NONE;
			break;

			case (15):
			action = (action == HUE_FADE) ? NONE : HUE_FADE;
			break;

			default:
				break;
			}
		} else {
			switch (irmp_data->command) { // if you press the button longer
			case (30):
			change_white(5);
			break;
			case (36):
			change_white(-5);
			break;
			case (40):
			change_hue(0.5);
			break;
			case (41):
			change_hue(-0.5);
			break;
			case (44):
			change_saturation(0.01);
			break;
			case (45):
			change_saturation(-0.01);
			break;
			case (9):
			change_value(0.01);
			break;
			case (5):
			change_value(-0.01);
			break;
			case (7):
			duration += 5;
			break;
			case (8):
			duration -= 5;
			break;
			default:
				break;
			}
		}
	} //end remote switch

	switch (action) {
		case (HUE_FADE):
   			if (duration <= 0)
    				duration = 0;
			if ((millis - last_millis) > duration) {
				change_hue(1.);
				last_millis = millis;
			}
		break;

		default:
		break;
	} // action switch
}