HISE Logo Forum
    • Categories
    • Register
    • Login

    Dates...

    Scheduled Pinned Locked Moved General Questions
    41 Posts 5 Posters 2.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Dan KorneffD
      Dan Korneff @Lindon
      last edited by

      @Lindon here's a little script online:
      https://www.programiz.com/javascript/examples/check-leap-year

      inline function isLeapYear(year) 
      {
           if ((0 == year % 4) && (0 != year % 100) || (0 == year % 400)) 
           {
                return true;
           }  
           else 
           {
                return false;
           }
      }

      Dan Korneff - Producer / Mixer / Audio Nerd

      d.healeyD 1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @Dan Korneff
        last edited by

        @Dan-Korneff Why not?

        inline function isLeapYear(year) 
        {
            return (0 == year % 4) && (0 != year % 100) || (0 == year % 400));
        }
        

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        Dan KorneffD LindonL 2 Replies Last reply Reply Quote 0
        • Dan KorneffD
          Dan Korneff @d.healey
          last edited by

          @d-healey That works too, and you save 4 lines of code.

          Dan Korneff - Producer / Mixer / Audio Nerd

          LindonL 1 Reply Last reply Reply Quote 0
          • ustkU
            ustk
            last edited by

            00b53da02349bc224f3f858a07c29073.jpg

            Can't help pressing F5 in the forum...

            1 Reply Last reply Reply Quote 1
            • LindonL
              Lindon @Dan Korneff
              last edited by

              @Dan-Korneff said in Dates...:

              @d-healey That works too, and you save 4 lines of code.

              if we are interested in saving lines of code my original version is precisely 1 line.... :-)

              HISE Development for hire.
              www.channelrobot.com

              Dan KorneffD 1 Reply Last reply Reply Quote 1
              • Dan KorneffD
                Dan Korneff @Lindon
                last edited by

                @Lindon I only skimmed the last few posts 馃挬

                Dan Korneff - Producer / Mixer / Audio Nerd

                1 Reply Last reply Reply Quote 0
                • Christoph HartC
                  Christoph Hart
                  last edited by

                  if we are interested in saving lines of code my original version is precisely 1 line....

                  But you need to ship an update in 2036 and we're all in here for the long run...

                  LindonL 1 Reply Last reply Reply Quote 2
                  • LindonL
                    Lindon @Christoph Hart
                    last edited by

                    @Christoph-Hart said in Dates...:

                    if we are interested in saving lines of code my original version is precisely 1 line....

                    But you need to ship an update in 2036 and we're all in here for the long run...

                    well you have me there...

                    HISE Development for hire.
                    www.channelrobot.com

                    1 Reply Last reply Reply Quote 0
                    • LindonL
                      Lindon @d.healey
                      last edited by Lindon

                      @d-healey said in Dates...:

                      @Dan-Korneff Why not?

                      inline function isLeapYear(year) 
                      {
                          return (0 == year % 4) && (0 != year % 100) || (0 == year % 400));
                      }
                      

                      except when you try this it always returns true....so it doenst work.

                      -- oh hang on I spot a typeo in my implementation....

                      HISE Development for hire.
                      www.channelrobot.com

                      LindonL 1 Reply Last reply Reply Quote 0
                      • LindonL
                        Lindon @Lindon
                        last edited by Lindon

                        Okay so whilst we await @ustk 's push here's a fix using just HISE:

                        function isLeapYear(aYear)
                        {
                        	return ((0 == aYear % 4) && (0 != aYear % 100) || (0 == aYear % 400));
                        }
                        
                        function daysFrom2000(aYear,aMonth,aDay)
                        {
                        	reg calcYear = 2000;
                        	reg totalDays = 0;
                        	reg leap = 0;
                        	reg monthAmounts = [31,28,31,30,31,30,31,31,30,31,30,31];
                        	if(aYear < calcYear)
                        		return -1;
                        		
                        	if(aMonth > 2 && isLeapYear(aYear))
                        		leap = 1;
                        	totalDays = aDay + leap;
                        	for(i = 0; i< aMonth-1; i++)
                        	{
                        		totalDays = totalDays + monthAmounts[i];
                        	};
                        		
                        		
                        	while(calcYear < aYear)
                        	{
                        		totalDays = totalDays + 365 + isLeapYear(calcYear);
                        		calcYear++;
                        	};
                        	
                        	return totalDays;
                        }
                        
                        Console.print(daysFrom2000(2023,01,01));
                        

                        Obviously just doing days not microseconds

                        HISE Development for hire.
                        www.channelrobot.com

                        ustkU 1 Reply Last reply Reply Quote 0
                        • ustkU
                          ustk @Lindon
                          last edited by

                          @Lindon the push鈥檚 been made, Christoph should merge soon

                          Can't help pressing F5 in the forum...

                          d.healeyD 1 Reply Last reply Reply Quote 1
                          • d.healeyD
                            d.healey @ustk
                            last edited by

                            @ustk Already has, no?

                            Link Preview Image
                            Commits 路 christophhart/HISE

                            The open source framework for sample based instruments - Commits 路 christophhart/HISE

                            favicon

                            GitHub (github.com)

                            Libre Wave - Freedom respecting instruments and effects
                            My Patreon - HISE tutorials
                            YouTube Channel - Public HISE tutorials

                            ustkU 1 Reply Last reply Reply Quote 0
                            • ustkU
                              ustk @d.healey
                              last edited by

                              @d-healey Oh yes my mistake, was waiting for the others...

                              Can't help pressing F5 in the forum...

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              20

                              Online

                              1.7k

                              Users

                              11.9k

                              Topics

                              103.6k

                              Posts