├── .gitattributes
├── .gitignore
├── README.md
├── Dark
├── Dark.b4j
└── Dark.bas
├── Dice
└── Dice.b4j
├── Flickr
├── Flickr.b4j
└── Flickr.bas
├── PiHole
├── PiHole.b4j
└── Template.bas
├── TikTok
├── TikTok.b4j
└── TikTok.bas
├── reddit
├── reddit.b4j
└── reddit.bas
├── COVID19
└── COVID19.b4j
├── Weibo
├── Weibo.b4j
└── Weibo.bas
├── CustomApp
├── CustomApp.b4j
└── CustomApp.bas
├── HAPlugin
└── HAPlugin.b4j
├── Template
└── Template.b4j
├── Bilibili
├── Bilibili.b4j
└── Bilibili.bas
├── DrinkWater
└── DrinkWater.b4j
├── dinoRemote
├── dinoremote.b4j
└── dinoremote.bas
├── Animations
├── Animations.b4j
└── Animations.bas
├── Corona_Lkr
└── Corona_Lkr.b4j
├── Mixer
├── Mixer.b4j
└── Mixer.bas
├── WooCommerce
└── WooCommerce.b4j
├── MessageBoard
├── MessageBoard.b4j
└── MessageBoard.bas
├── SpaceX
└── SpaceX.b4j
├── WordOfTheDay
└── WordOfTheDay.b4j
├── YearProgress
├── YearProgress.b4j
└── YearProgress.bas
├── PayPal_Balance
└── PayPal_Balance.b4j
├── Twitter
├── Twitter.b4j
└── Twitter.bas
├── myTischtennis
├── myTischtennis.b4j
└── myTischtennis.bas
├── Fortnite
└── Fortnite.b4j
├── PM
├── PM.b4j
└── PM.bas
├── Reminder
└── Reminder.b4j
├── AQI
└── AQI.b4j
├── News
├── News.b4j
└── News.bas
├── CallOfDuty
└── CallOfDuty.b4j
├── Moon
└── Moon.b4j
├── Airnut
└── Airnut.b4j
├── Crypto
├── Cyrpto.b4j
└── Crypto.bas
├── Matomo
├── Matomo.b4j
└── Matomo.bas
├── Facebook
├── Facebook.b4j
└── Facebook.bas
├── HappyBirthday
├── HappyBirthday.b4j
└── HappyBirthday.bas
├── Time
├── Time.b4j
└── Objects
│ └── ObfuscatorMap.txt
├── Youtube
├── Youtube.b4j
└── Youtube.bas
├── Octoprint
├── Octoprint.b4j
└── Octoprint.bas
├── Overwatch
└── Overwatch.b4j
├── Pong
├── Pong.b4j
└── Pong.bas
├── WeatherCN
├── WeatherCN.b4j
└── WeatherCN.bas
├── WeatherCY
└── WeatherCY.b4j
├── BME280
├── c.b4j
├── BME280.b4j
└── BME280.bas
├── GameOfLife
└── GameOfLife.b4j
├── Pinterest
├── Printerest.b4j
└── Pinterest.bas
├── Snake
└── Snake.b4j
├── LookingEyes
└── LookingEyes.b4j
├── OpenWeather
├── OpenWeather.b4j
└── OpenWeather.bas
├── StockTicker
└── StockTicker.b4j
├── TronaldDump
├── TronaldDump.b4j
└── TronaldDump.bas
├── Twitch
└── Twitch.b4j
├── Tankerkoenig
└── Tankerkoenig.b4j
├── Toggl
└── toggl.b4j
├── Wetterdienst
├── Wetterdienst.b4j
└── Wetterdienst.bas
├── BlogViews
├── BlogViews.b4j
└── BlogViews.bas
├── Matrix
└── Matrix.b4j
├── SimonSays
└── SimonSays.b4j
├── BilibiliOnline
├── BilibiliOnline.b4j
└── BilibiliOnline.bas
├── MinecraftServer
├── MinecraftServer.b4j
└── MinecraftServer.bas
├── MyStrom
├── MyStrom.b4j
└── MyStrom.bas
├── BinaryClock
└── BinaryClock.b4j
├── FlappyAwtrix
└── FlappyAwtrix.b4j
├── NeteaseMusic
├── NeteaseMusic.b4j
└── NeteaseMusic.bas
├── SpaceAttack
└── SpaceAttack.b4j
├── pr0gramm
├── pr0gramm.b4j
└── pr0gramm.bas
├── Instagram
├── Instagram.b4j
├── Instagram2.bas
└── Instagram.bas
├── UpdateNotifier
├── UpdateNotifier.b4j
└── UpdateNotifier.bas
├── GithubFollowers
├── GithubFollowers.b4j
└── GithubFollowers.bas
├── PeopleInSpace
├── PeopleInSpace.b4j
└── PeopleInSpace.bas
├── Sunrise
├── Sunrise.b4j
└── Sunrise.bas
├── DaysGone
├── DaysGone.b4j
└── DaysGone.bas
├── SuperAwtrix
├── SuperAwtrix.b4j
├── Block.bas
└── Enemy.bas
├── Countdown
├── Countdown.b4j
└── Countdown.bas
├── DayOfTheWeek
├── DayOfTheWeek.b4j
└── DayOfTheWeek.bas
├── RocketLaunch
├── RocketLaunch.b4j
└── RocketLaunch.bas
├── QuitSmoking
├── QuitSmoking.b4j
└── QuitSmoking.bas
├── Netatmo
└── Netatmo.b4j
└── LICENSE
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 | *.bas linguist-language=Visual Basic
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.meta
2 | *.zip
3 | *.class
4 | *.java
5 | *.class
6 | *.png
7 | *.jpg
8 | *.meta
9 | *.zip
10 | *.xml
11 | /AutoBackups
12 | /Files
13 | /Objects
14 | *.jar
15 | /AwtrixOrder
16 | /CustomScroller
17 | /Gmail
18 | /FitBit
19 | /Tesla
20 | /Spotify
21 | /ISS
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AWTRIX2.0-Apps
2 | native apps for AWTRIX 2.0
3 | https://docs.blueforcer.de/#/v2/app
4 |
5 | These Apps only works with the latest Beta Server
6 |
7 | You need the B4J IDE to compile it to a library (JDK 8)
8 | Use the Template project to start coding your own app.
9 | Documentation will follow!
10 |
--------------------------------------------------------------------------------
/Dark/Dark.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Dark
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:Dark
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Dice/Dice.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Dice
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:Dice
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Flickr/Flickr.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Flickr
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.5
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:Flickr
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/PiHole/PiHole.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=PiHole
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:PiHole
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/TikTok/TikTok.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=TikTok
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:TikTok
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/reddit/reddit.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=reddit
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.5
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:reddit
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/COVID19/COVID19.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=COVID19
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.31
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:COVID19
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Weibo/Weibo.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Weibo
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName: Weibo
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
31 |
--------------------------------------------------------------------------------
/CustomApp/CustomApp.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=CustomApp
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.1
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:CustomApp
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/HAPlugin/HAPlugin.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=HAPlugin
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.31
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:HAPlugin
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Template/Template.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Template
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.8
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:Template
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Bilibili/Bilibili.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Bilibili
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName: Bilibili
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
31 |
--------------------------------------------------------------------------------
/DrinkWater/DrinkWater.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=DrinkWater
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.31
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:DrinkWater
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/dinoRemote/dinoremote.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=dinoRemote
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:dinoRemote
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Animations/Animations.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,de.blueforcer
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Animations
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.31
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName: Animations
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Corona_Lkr/Corona_Lkr.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Corona_Lkr
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:Corona_Lkr
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/Mixer/Mixer.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Mixer
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Ignore this module
15 |
16 | #Region Project Attributes
17 | #LibraryName:Mixer
18 | #End Region
19 |
20 | Sub Process_Globals
21 |
22 | End Sub
23 |
24 | Sub AppStart (Args() As String)
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/WooCommerce/WooCommerce.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=WooCommerce
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:WooCommerce
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/MessageBoard/MessageBoard.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=MessageBoard
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.31
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:MessageBoard
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/SpaceX/SpaceX.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Library4=jdateutils
8 | Module1=AWTRIX
9 | Module2=SpaceX
10 | NumberOfFiles=0
11 | NumberOfLibraries=4
12 | NumberOfModules=2
13 | Version=8.3
14 | @EndOfDesignText@
15 |
16 | #Region Project Attributes
17 | #LibraryName:SpaceX
18 | #End Region
19 |
20 | Sub Process_Globals
21 |
22 | End Sub
23 |
24 | Sub AppStart (Args() As String)
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/WordOfTheDay/WordOfTheDay.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=WordOfTheDay
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:WordOfTheDay
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/YearProgress/YearProgress.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=YearProgress
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:YearProgress
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/PayPal_Balance/PayPal_Balance.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=PayPal_Balance
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:PayPal_Balance
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Twitter/Twitter.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Twitter
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Ignore this module
15 |
16 | #Region Project Attributes
17 | #LibraryName:Twitter
18 | #End Region
19 |
20 | Sub Process_Globals
21 |
22 | End Sub
23 |
24 | Sub AppStart (Args() As String)
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/myTischtennis/myTischtennis.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=myTischtennis
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 |
15 | #Region Project Attributes
16 | #LibraryName:myTischtennis
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Fortnite/Fortnite.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Fortnite
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Ignore this module
15 |
16 | #Region Project Attributes
17 | #LibraryName:Fortnite
18 | #End Region
19 |
20 | Sub Process_Globals
21 |
22 | End Sub
23 |
24 | Sub AppStart (Args() As String)
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/PM/PM.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=PM
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:PM
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Reminder/Reminder.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jdateutils
7 | Library4=jrandomaccessfile
8 | Module1=Reminder
9 | Module2=AWTRIX
10 | NumberOfFiles=0
11 | NumberOfLibraries=4
12 | NumberOfModules=2
13 | Version=7.51
14 | @EndOfDesignText@
15 |
16 | #Region Project Attributes
17 | #LibraryName:Reminder
18 | #End Region
19 |
20 | Sub Process_Globals
21 |
22 | End Sub
23 |
24 | Sub AppStart (Args() As String)
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/AQI/AQI.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AQI
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:AQI
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/News/News.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=News
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.1
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:News
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/CallOfDuty/CallOfDuty.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Library4=jstringutils
8 | Module1=AWTRIX
9 | Module2=CallOfDuty
10 | NumberOfFiles=0
11 | NumberOfLibraries=4
12 | NumberOfModules=2
13 | Version=8.1
14 | @EndOfDesignText@
15 |
16 | #Region Project Attributes
17 | #LibraryName:CallOfDuty
18 | #End Region
19 |
20 | Sub Process_Globals
21 |
22 | End Sub
23 |
24 | Sub AppStart (Args() As String)
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/Moon/Moon.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Moon
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Moon
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Airnut/Airnut.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Airnut
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Airnut
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Crypto/Cyrpto.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Crypto
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Crypto
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Matomo/Matomo.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Matomo
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Matomo
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Facebook/Facebook.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Facebook
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.5
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Facebook
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/HappyBirthday/HappyBirthday.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jdateutils
7 | Library4=jrandomaccessfile
8 | Module1=AWTRIX
9 | Module2=HappyBirthday
10 | NumberOfFiles=0
11 | NumberOfLibraries=4
12 | NumberOfModules=2
13 | Version=8.8
14 | @EndOfDesignText@
15 |
16 | #Region Project Attributes
17 | #LibraryName:HappyBirthday
18 | #End Region
19 |
20 | Sub Process_Globals
21 |
22 | End Sub
23 |
24 | Sub AppStart (Args() As String)
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/Time/Time.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Time
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.8
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Time
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 | StartMessageLoop
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Youtube/Youtube.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Youtube
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.31
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Youtube
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Octoprint/Octoprint.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Octoprint
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.1
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Octoprint
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Overwatch/Overwatch.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Overwatch
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Overwatch
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Pong/Pong.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Pong
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Pong
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/WeatherCN/WeatherCN.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=WeatherCN
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:WeatherCN
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/WeatherCY/WeatherCY.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=WeatherCY
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.31
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:WeatherCY
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/BME280/c.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=BME280
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.31
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:BME280
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/GameOfLife/GameOfLife.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=GameOfLife
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:GameOfLife
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Pinterest/Printerest.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Pinterest
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Pinterest
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Snake/Snake.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Snake
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Snake
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/BME280/BME280.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=BME280
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:BME280
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/LookingEyes/LookingEyes.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=LookingEyes
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:LookingEyes
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/OpenWeather/OpenWeather.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=OpenWeather
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.1
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:OpenWeather
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/StockTicker/StockTicker.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=StockTicker
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName: StockTicker
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/TronaldDump/TronaldDump.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=TronaldDump
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:TronaldDump
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Twitch/Twitch.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Library4=jstringutils
8 | Library5=jhttp
9 | Module1=AWTRIX
10 | Module2=Twitch
11 | NumberOfFiles=0
12 | NumberOfLibraries=5
13 | NumberOfModules=2
14 | Version=8.5
15 | @EndOfDesignText@
16 | 'Ignore this module
17 |
18 | #Region Project Attributes
19 | #LibraryName:Twitch
20 | #End Region
21 |
22 | Sub Process_Globals
23 |
24 | End Sub
25 |
26 | Sub AppStart (Args() As String)
27 |
28 | End Sub
29 |
30 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
31 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
32 | Return True
33 | End Sub
--------------------------------------------------------------------------------
/Tankerkoenig/Tankerkoenig.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Tankerkoenig
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.1
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | ##LibraryName: Tankerkoenig
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Toggl/toggl.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Library4=jdateutils
8 | Library5=jstringutils
9 | Library6=byteconverter
10 | Module1=AWTRIX
11 | Module2=Toggl
12 | NumberOfFiles=0
13 | NumberOfLibraries=6
14 | NumberOfModules=2
15 | Version=8.31
16 | @EndOfDesignText@
17 |
18 | #Region Project Attributes
19 | #LibraryName:Toggl
20 | #End Region
21 |
22 | Sub Process_Globals
23 |
24 | End Sub
25 |
26 | Sub AppStart (Args() As String)
27 |
28 | End Sub
29 |
30 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
31 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
32 | Return True
33 | End Sub
--------------------------------------------------------------------------------
/Wetterdienst/Wetterdienst.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Wetterdienst
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.31
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:Wetterdienst
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/BlogViews/BlogViews.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=BlogViews
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.31
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:BlogViews
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/Matrix/Matrix.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=Matrix
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 |
15 | 'ignore this Code Module!. everything is happen in the second Class
16 |
17 | #Region Project Attributes
18 | #LibraryName:Matrix
19 | #End Region
20 |
21 | Sub Process_Globals
22 |
23 | End Sub
24 |
25 | Sub AppStart (Args() As String)
26 |
27 | End Sub
28 |
29 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
30 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
31 | Return True
32 | End Sub
--------------------------------------------------------------------------------
/SimonSays/SimonSays.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=SimonSays
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:SimonSays
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/BilibiliOnline/BilibiliOnline.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=BilibiliOnline
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:BilibiliOnline
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/MinecraftServer/MinecraftServer.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=MinecraftServer
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:MinecraftServer
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/MyStrom/MyStrom.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=MyStrom
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 |
15 | 'ignore this Code Module!. everything is happen in the second Class
16 |
17 | #Region Project Attributes
18 | #LibraryName:MyStrom
19 | #End Region
20 |
21 | Sub Process_Globals
22 |
23 | End Sub
24 |
25 | Sub AppStart (Args() As String)
26 |
27 | End Sub
28 |
29 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
30 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
31 | Return True
32 | End Sub
--------------------------------------------------------------------------------
/BinaryClock/BinaryClock.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=BinaryClock
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:BinaryClock
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/FlappyAwtrix/FlappyAwtrix.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=FlappyAwtrix
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:FlappyAwtrix
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/NeteaseMusic/NeteaseMusic.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=NeteaseMusic
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:NeteaseMusic
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/SpaceAttack/SpaceAttack.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=SpaceAttack
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:SpaceAttack
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/pr0gramm/pr0gramm.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=pr0gramm
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 |
15 | 'ignore this Code Module!. everything is happen in the second Class
16 |
17 | #Region Project Attributes
18 | #LibraryName:pr0gramm
19 | #End Region
20 |
21 | Sub Process_Globals
22 |
23 | End Sub
24 |
25 | Sub AppStart (Args() As String)
26 |
27 | End Sub
28 |
29 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
30 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
31 | Return True
32 | End Sub
--------------------------------------------------------------------------------
/Instagram/Instagram.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Instagram
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.8
13 | @EndOfDesignText@
14 | 'ignore this Code Module!. everything is happen in the second Class (InstagramPlugin)
15 |
16 | #Region Project Attributes
17 | #LibraryName:Instagram
18 | #End Region
19 |
20 | Sub Process_Globals
21 |
22 | End Sub
23 |
24 | Sub AppStart (Args() As String)
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/UpdateNotifier/UpdateNotifier.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=UpdateNotifier
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=8.5
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:UpdateNotifier
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/GithubFollowers/GithubFollowers.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=GithubFollowers
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 | 'Draws a Rectangle'Non-UI application (console / server application)
15 | #Region Project Attributes
16 | #LibraryName:GithubFollowers
17 | #End Region
18 |
19 | Sub Process_Globals
20 |
21 | End Sub
22 |
23 | Sub AppStart (Args() As String)
24 |
25 | End Sub
26 |
27 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
28 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
29 | Return True
30 | End Sub
--------------------------------------------------------------------------------
/PeopleInSpace/PeopleInSpace.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=PeopleInSpace
8 | Module2=AWTRIX
9 | NumberOfFiles=0
10 | NumberOfLibraries=3
11 | NumberOfModules=2
12 | Version=7.51
13 | @EndOfDesignText@
14 |
15 | 'ignore this Code Module!. everything is happen in the second Class
16 |
17 | #Region Project Attributes
18 | #LibraryName:PeopleInSpace
19 | #End Region
20 |
21 | Sub Process_Globals
22 |
23 | End Sub
24 |
25 | Sub AppStart (Args() As String)
26 |
27 | End Sub
28 |
29 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
30 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
31 | Return True
32 | End Sub
--------------------------------------------------------------------------------
/Sunrise/Sunrise.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Module1=AWTRIX
8 | Module2=Calculations
9 | Module3=Sunrise
10 | NumberOfFiles=0
11 | NumberOfLibraries=3
12 | NumberOfModules=3
13 | Version=8.1
14 | @EndOfDesignText@
15 |
16 | 'ignore this Code Module!. everything is happen in the second Class
17 |
18 | #Region Project Attributes
19 | #LibraryName:Sunrise
20 | #End Region
21 |
22 | Sub Process_Globals
23 |
24 | End Sub
25 |
26 | Sub AppStart (Args() As String)
27 |
28 | End Sub
29 |
30 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
31 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
32 | Return True
33 | End Sub
--------------------------------------------------------------------------------
/DaysGone/DaysGone.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jdateutils
7 | Library4=jrandomaccessfile
8 | Module1=DaysGone
9 | Module2=AWTRIX
10 | NumberOfFiles=0
11 | NumberOfLibraries=4
12 | NumberOfModules=2
13 | Version=7.51
14 | @EndOfDesignText@
15 |
16 | 'ignore this Code Module!. everything is happen in the second Class
17 |
18 | #Region Project Attributes
19 | #LibraryName:DaysGone
20 | #End Region
21 |
22 | Sub Process_Globals
23 |
24 | End Sub
25 |
26 | Sub AppStart (Args() As String)
27 |
28 | End Sub
29 |
30 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
31 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
32 | Return True
33 | End Sub
--------------------------------------------------------------------------------
/SuperAwtrix/SuperAwtrix.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Library4=b4xcollections
8 | Library5=jokhttputils2
9 | Module1=AWTRIX
10 | Module2=Block
11 | Module3=Enemy
12 | Module4=SuperAwtrix
13 | NumberOfFiles=0
14 | NumberOfLibraries=5
15 | NumberOfModules=4
16 | Version=8.31
17 | @EndOfDesignText@
18 | #Region Project Attributes
19 | #LibraryName:SuperAwtrix
20 | #End Region
21 |
22 | Sub Process_Globals
23 |
24 | End Sub
25 |
26 | Sub AppStart (Args() As String)
27 |
28 | End Sub
29 |
30 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
31 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
32 | Return True
33 | End Sub
--------------------------------------------------------------------------------
/Countdown/Countdown.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jdateutils
7 | Library4=jrandomaccessfile
8 | Module1=AWTRIX
9 | Module2=Countdown
10 | NumberOfFiles=0
11 | NumberOfLibraries=4
12 | NumberOfModules=2
13 | Version=8.31
14 | @EndOfDesignText@
15 |
16 | 'ignore this Code Module!. everything is happen in the second Class
17 |
18 | #Region Project Attributes
19 | #LibraryName:Countdown
20 | #End Region
21 |
22 | Sub Process_Globals
23 |
24 | End Sub
25 |
26 | Sub AppStart (Args() As String)
27 |
28 | End Sub
29 |
30 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
31 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
32 | Return True
33 | End Sub
--------------------------------------------------------------------------------
/DayOfTheWeek/DayOfTheWeek.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jdateutils
7 | Library4=jrandomaccessfile
8 | Module1=AWTRIX
9 | Module2=DayOfTheWeek
10 | NumberOfFiles=0
11 | NumberOfLibraries=4
12 | NumberOfModules=2
13 | Version=7.51
14 | @EndOfDesignText@
15 | 'Draws a Rectangle'Non-UI application (console / server application)
16 | #Region Project Attributes
17 | #LibraryName:DayOfTheWeek
18 | #End Region
19 |
20 | Sub Process_Globals
21 |
22 | End Sub
23 |
24 | Sub AppStart (Args() As String)
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/RocketLaunch/RocketLaunch.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jrandomaccessfile
7 | Library4=jdateutils
8 | Module1=RocketLaunch
9 | Module2=AWTRIX
10 | NumberOfFiles=0
11 | NumberOfLibraries=4
12 | NumberOfModules=2
13 | Version=7.51
14 | @EndOfDesignText@
15 | 'Draws a Rectangle'Non-UI application (console / server application)
16 | #Region Project Attributes
17 | #LibraryName:RocketLaunch
18 | #End Region
19 |
20 | Sub Process_Globals
21 |
22 | End Sub
23 |
24 | Sub AppStart (Args() As String)
25 |
26 | End Sub
27 |
28 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
29 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
30 | Return True
31 | End Sub
--------------------------------------------------------------------------------
/QuitSmoking/QuitSmoking.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library2=json
6 | Library3=jdateutils
7 | Library4=jrandomaccessfile
8 | Module1=QuitSmoking
9 | Module2=AWTRIX
10 | NumberOfFiles=0
11 | NumberOfLibraries=4
12 | NumberOfModules=2
13 | Version=7.51
14 | @EndOfDesignText@
15 |
16 | 'ignore this Code Module!. everything is happen in the second Class
17 |
18 | #Region Project Attributes
19 | #LibraryName:QuitSmoking
20 | #End Region
21 |
22 | Sub Process_Globals
23 |
24 | End Sub
25 |
26 | Sub AppStart (Args() As String)
27 |
28 | End Sub
29 |
30 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
31 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
32 | Return True
33 | End Sub
--------------------------------------------------------------------------------
/SuperAwtrix/Block.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=8.31
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim x As Int
9 | Dim y As Int
10 | Dim color() As Int
11 | Dim breakable,destroyed As Boolean
12 | Dim hits As Int
13 | Dim colors() As Object = Array As Object(Array As Int(153, 25, 25),Array As Int(178, 25, 25),Array As Int(255,0,0),Array As Int(255,0,0))
14 | End Sub
15 |
16 | 'Initializes the object. You can add parameters to this method if needed.
17 | Public Sub Initialize
18 | color=colors(0)
19 | End Sub
20 |
21 | Public Sub hit
22 | If breakable And Not(destroyed) Then
23 | hits=hits+1
24 | color=colors(hits)
25 | If hits=3 Then
26 | destroyed=True
27 | End If
28 | End If
29 | End Sub
30 |
31 | Public Sub reset
32 | hits=0
33 | destroyed=False
34 | End Sub
35 |
--------------------------------------------------------------------------------
/Netatmo/Netatmo.b4j:
--------------------------------------------------------------------------------
1 | AppType=StandardJava
2 | Build1=Default,b4j.example
3 | Group=Default Group
4 | Library1=jcore
5 | Library10=javaobject
6 | Library2=json
7 | Library3=jrandomaccessfile
8 | Library4=jokhttputils2
9 | Library5=okhttp
10 | Library6=jmqtt
11 | Library7=jmqttbroker
12 | Library8=byteconverter
13 | Library9=b4xcollections
14 | Module1=AWTRIX
15 | Module2=Netatmo
16 | NumberOfFiles=0
17 | NumberOfLibraries=10
18 | NumberOfModules=2
19 | Version=8.5
20 | @EndOfDesignText@
21 |
22 | #Region Project Attributes
23 | #LibraryName:Netatmo
24 | #End Region
25 |
26 | Sub Process_Globals
27 |
28 | End Sub
29 |
30 | Sub AppStart (Args() As String)
31 |
32 | End Sub
33 |
34 | 'Return true to allow the default exceptions handler to handle the uncaught exception.
35 | Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
36 | Return True
37 | End Sub
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 2-Clause License
2 |
3 | Copyright (c) 2019, Stephan Mühl
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | * Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | * Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 |
--------------------------------------------------------------------------------
/MessageBoard/MessageBoard.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=7.31
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 | End Sub
10 |
11 | ' Config your App
12 | Public Sub Initialize() As String
13 |
14 | App.Initialize(Me,"App")
15 |
16 | 'App name (must be unique, avoid spaces)
17 | App.Name="MessageBoard"
18 |
19 | 'Version of the App
20 | App.Version="1.0"
21 |
22 | 'Description of the App. You can use HTML to format it
23 | App.Description=$"Show a fixed text with an icon on your awtrix"$
24 |
25 | App.Author="TheHackLife"
26 |
27 | App.CoverIcon = 187
28 |
29 | 'SetupInstructions. You can use HTML to format it
30 | App.setupDescription= $"
31 | CustomText:Text wich will be shown
32 | IconID: Icon to show (ID).
33 | "$
34 |
35 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
36 | App.Icons = Array As Int(187)
37 |
38 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
39 | App.Tick = 65
40 |
41 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
42 | App.Settings = CreateMap("ShowText":"", "IconID":187)
43 |
44 | App.MakeSettings
45 | Return "AWTRIX20"
46 | End Sub
47 |
48 | ' ignore
49 | public Sub GetNiceName() As String
50 | Return App.Name
51 | End Sub
52 |
53 |
54 | ' ignore
55 | public Sub Run(Tag As String, Params As Map) As Object
56 | Return App.interface(Tag,Params)
57 | End Sub
58 |
59 | 'this sub is called right before AWTRIX will display your App
60 | Sub App_iconRequest
61 | App.Icons = Array As Int(App.Get("IconID"))
62 | End Sub
63 |
64 | 'is called every tick, generates the commandlist (drawingroutines) and send it to awtrix
65 | Sub App_genFrame
66 | App.genSimpleFrame(App.get("ShowText"),App.Get("IconID"),True,False,Null,False)
67 | End Sub
68 |
--------------------------------------------------------------------------------
/BME280/BME280.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim scroll As Int
13 | End Sub
14 |
15 | ' ignore
16 | public Sub GetNiceName() As String
17 | Return App.Name
18 | End Sub
19 |
20 | ' ignore
21 | public Sub Run(Tag As String, Params As Map) As Object
22 | Return App.interface(Tag,Params)
23 | End Sub
24 |
25 | ' Config your App
26 | Public Sub Initialize() As String
27 |
28 | App.Initialize(Me,"App")
29 |
30 | 'App name (must be unique, avoid spaces)
31 | App.name="BME280"
32 |
33 | 'Version of the App
34 | App.version="1.0"
35 |
36 | 'Description of the App. You can use HTML to format it
37 | App.description="This App shows the temperature And humidity your connected BME280"
38 |
39 | App.author="Blueforcer"
40 |
41 | App.coverIcon = 609
42 |
43 | App.settings=CreateMap("TempOffset":0,"HumOffset":0,"PresOffset":0)
44 |
45 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
46 | App.icons=Array As Int(693,235)
47 |
48 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
49 | App.tick=65
50 |
51 | App.MakeSettings
52 | Return "AWTRIX20"
53 | End Sub
54 |
55 | Sub App_Started
56 | scroll=1
57 | End Sub
58 |
59 |
60 | 'With this sub you build your frame.
61 | Sub App_genFrame
62 | If App.startedAtQuit Date: Format: dd.mm.yyyy.
29 | "$
30 |
31 | App.Author="Blueforcer"
32 |
33 | App.CoverIcon=581
34 |
35 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
36 | App.Icons=Array As Int(581)
37 |
38 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
39 | App.Tick=65
40 |
41 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
42 | App.settings=CreateMap("QuitDate":"01.01.2019")
43 |
44 | App.MakeSettings
45 | Return "AWTRIX20"
46 | End Sub
47 |
48 | ' ignore
49 | public Sub GetNiceName() As String
50 | Return App.Name
51 | End Sub
52 |
53 | ' ignore
54 | public Sub Run(Tag As String, Params As Map) As Object
55 | Return App.interface(Tag,Params)
56 | End Sub
57 |
58 | 'this sub is called right before AWTRIX will display your App
59 | Sub App_Started
60 | Try
61 | DateTime.DateFormat = "dd.MM.yyyy"
62 | PerDiff= DateUtils.PeriodBetweenInDays(DateTime.Dateparse(App.Get("QuitDate")),DateTime.now)
63 | Catch
64 | Log("Error in " &App.Name)
65 | Log(LastException)
66 | End Try
67 | End Sub
68 |
69 | 'is called every tick, generates the commandlist (drawingroutines) and send it to awtrix
70 | Sub App_genFrame
71 | App.genText(PerDiff.Days,True,1,Null,True)
72 | App.drawBMP(0,0,App.getIcon(581),8,8)
73 | End Sub
74 |
--------------------------------------------------------------------------------
/Time/Objects/ObfuscatorMap.txt:
--------------------------------------------------------------------------------
1 | Diese Datei ordnet die umbenannten Variablen den Orginalen zu.
2 | v5=getnicename
3 | v6=getweeknumber
4 | v7=run
5 | v0=app
6 | vv1=weekday
7 | vv2=startat
8 | vv3=scroll
9 | vv4=main
10 | vv5=addmenuitem
11 | vv6=addtoiconrenderer
12 | vv7=appcontrol
13 | vv0=calctextlength
14 | vvv1=control
15 | vvv2=customcommand
16 | vvv3=drawbmp
17 | vvv4=drawcircle
18 | vvv5=drawline
19 | vvv6=drawpixel
20 | vvv7=drawrect
21 | vvv0=drawtext
22 | vvvv1=externalcommand
23 | vvvv2=fill
24 | vvvv3=fillcircle
25 | vvvv4=finish
26 | vvvv5=firsttick
27 | vvvv6=gentext
28 | vvvv7=get
29 | vvvv0=geticon
30 | vvvvv1=logger
31 | vvvvv2=makesettings
32 | vvvvv3=rainbow
33 | vvvvv4=savesinglesetting
34 | vvvvv5=starticonrenderer
35 | vvvvv6=stopiconrenderer
36 | vvvvv7=timescomparative
37 | vvvvv0=wheel
38 | vvvvvv1=appduration
39 | vvvvvv2=scrollposition
40 | vvvvvv3=shouldshow
41 | vvvvvv4=forcedownload
42 | vvvvvv5=lockapp
43 | vvvvvv6=icons
44 | vvvvvv7=appname
45 | vvvvvv0=appversion
46 | vvvvvvv1=tickinterval
47 | vvvvvvv2=needdownloads
48 | vvvvvvv3=updateinterval
49 | vvvvvvv4=appdescription
50 | vvvvvvv5=appauthor
51 | vvvvvvv6=setupinfos
52 | vvvvvvv7=matrixinfo
53 | vvvvvvv0=appsettings
54 | vvvvvvvv1=serverversion
55 | vvvvvvvv2=displaytime
56 | vvvvvvvv3=matrixwidth
57 | vvvvvvvv4=matrixheight
58 | vvvvvvvv5=downloadurl
59 | vvvvvvvv6=downloadheader
60 | vvvvvvvv7=startedat
61 | vvvvvvvv0=tags
62 | vvvvvvvvv1=howtoplay
63 | vvvvvvvvv2=covericon
64 | vvvvvvvvv3=isgame
65 | vvvvvvvvv4=icomap
66 | vvvvvvvvv5=renderedicons
67 | vvvvvvvvv6=animcounter
68 | vvvvvvvvv7=iconlist
69 | vvvvvvvvv0=timermap
70 | vvvvvvvvvv1=set
71 | vvvvvvvvvv2=target
72 | vvvvvvvvvv3=commandlist
73 | vvvvvvvvvv4=colorcounter
74 | vvvvvvvvvv5=starttime
75 | vvvvvvvvvv6=endtime
76 | vvvvvvvvvv7=charmap
77 | vvvvvvvvvv0=textbuffer
78 | vvvvvvvvvvv1=textlength
79 | vvvvvvvvvvv2=uppercaseletters
80 | vvvvvvvvvvv3=systemcolor
81 | vvvvvvvvvvv4=event
82 | vvvvvvvvvvv5=enabled
83 | vvvvvvvvvvv6=noicon
84 | vvvvvvvvvvv7=isrunning
85 | vvvvvvvvvvv0=menu
86 | vvvvvvvvvvvv1=menulist
87 | vvvvvvvvvvvv2=bc
88 | vvvvvvvvvvvv3=noiconmessage
89 | vvvvvvvvvvvv4=verboselog
90 | vvvvvvvvvvvv5=finishapp
91 |
--------------------------------------------------------------------------------
/Sunrise/Sunrise.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=7.31
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 | Dim sun As Calculations
10 | End Sub
11 |
12 | ' Config your App
13 | Public Sub Initialize() As String
14 |
15 | App.Initialize(Me,"App")
16 |
17 | 'App name (must be unique, avoid spaces)
18 | App.Name="Sunrise"
19 |
20 | 'Version of the App
21 | App.Version="1.3"
22 |
23 | 'Description of the App. You can use HTML to format it
24 | App.Description=$"
25 | Shows sunset and sunrise times for a given location.
26 | "$
27 |
28 | App.Author="0o.y.o0 & Blueforcer"
29 |
30 | App.CoverIcon=493
31 |
32 | 'SetupInstructions. You can use HTML to format it
33 | App.setupDescription= $"
34 | Latitude: Enter the latitude for your location in degree (e.g. 50.1343).
35 | Longitude: Enter the longitude for your location in degree (e.g. 8.8398).
36 | 12hrFormat: Switch from 24hr to 12h timeformat (true/false) .
37 | "$
38 |
39 | 'How many downloadhandlers should be generated
40 | App.Downloads=0
41 |
42 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
43 | App.Icons=Array As Int(493)
44 |
45 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
46 | App.Tick=65
47 |
48 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
49 | App.Settings=CreateMap("Latitude":"50.1343", "Longitude":"8.8398", "12hrFormat":False)
50 |
51 | App.MakeSettings
52 | Return "AWTRIX20"
53 | End Sub
54 |
55 | ' ignore
56 | public Sub GetNiceName() As String
57 | Return App.Name
58 | End Sub
59 |
60 | ' ignore
61 | public Sub Run(Tag As String, Params As Map) As Object
62 | Return App.interface(Tag,Params)
63 | End Sub
64 |
65 | Sub App_Started
66 | sun.Initialize(App.get("Latitude"),App.get("Longitude"),App.get("12hrFormat"))
67 | sun.doCalculation
68 | End Sub
69 |
70 | 'Generate your Frame. This Sub is called with every Tick
71 | Sub App_genFrame
72 | App.genText(sun.SunTime,True,1,Null,True)
73 | App.drawBMP(0,0,App.getIcon(493),8,8)
74 | End Sub
75 |
--------------------------------------------------------------------------------
/DaysGone/DaysGone.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=7.31
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | Dim PerDiff As Period
11 | Dim iconID As Int
12 | End Sub
13 | ' Config your App
14 | Public Sub Initialize() As String
15 |
16 | App.Initialize(Me,"App")
17 |
18 | 'App name (must be unique, avoid spaces)
19 | App.Name="DaysGone"
20 |
21 | 'Version of the App
22 | App.Version="1.0"
23 |
24 | 'Description of the App. You can use HTML to format it
25 | App.Description=$"Shows the past days from a certain date."$
26 |
27 | 'SetupInstructions. You can use HTML to format it
28 | App.setupDescription= $"
29 | Date: Format: dd.mm.yyyy.
30 | "$
31 |
32 | App.Author="Blueforcer"
33 |
34 | App.CoverIcon=711
35 |
36 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
37 | App.Icons=Array As Int(711)
38 |
39 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
40 | App.Tick=65
41 |
42 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
43 | App.Settings=CreateMap("QuitDate":"01.01.2019","IconID":635)
44 |
45 | App.MakeSettings
46 | Return "AWTRIX20"
47 | End Sub
48 |
49 | ' ignore
50 | public Sub GetNiceName() As String
51 | Return App.Name
52 | End Sub
53 |
54 | ' ignore
55 | public Sub Run(Tag As String, Params As Map) As Object
56 | Return App.interface(Tag,Params)
57 | End Sub
58 |
59 | Sub App_iconRequest
60 | App.Icons=Array As Int(App.get("IconID"))
61 | End Sub
62 |
63 | 'this sub is called right before AWTRIX will display your App
64 | Sub App_Started
65 | iconID=App.get("IconID")
66 | Try
67 | DateTime.DateFormat = "dd.MM.yyyy"
68 | PerDiff= DateUtils.PeriodBetweenInDays(DateTime.Dateparse(App.Get("QuitDate")),DateTime.now)
69 | Catch
70 | Log("Error in " &App.Name)
71 | Log(LastException)
72 | End Try
73 | End Sub
74 |
75 | 'is called every tick, generates the commandlist (drawingroutines) and send it to awtrix
76 | Sub App_genFrame
77 | App.genText(PerDiff.Days,True,1,Null,True)
78 | App.drawBMP(0,0,App.getIcon(iconID),8,8)
79 | End Sub
80 |
--------------------------------------------------------------------------------
/DayOfTheWeek/DayOfTheWeek.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim weekday As String
13 | Dim week As Int
14 | Dim scroll As Int
15 | End Sub
16 |
17 | ' ignore
18 | public Sub GetNiceName() As String
19 | Return App.Name
20 | End Sub
21 |
22 | ' ignore
23 | public Sub Run(Tag As String, Params As Map) As Object
24 | Return App.interface(Tag,Params)
25 | End Sub
26 |
27 | ' Config your App
28 | Public Sub Initialize() As String
29 |
30 | App.Initialize(Me,"App")
31 |
32 | 'App name (must be unique, avoid spaces)
33 | App.Name="DayOfTheWeek"
34 |
35 | 'Version of the App
36 | App.Version= "1.0"
37 |
38 | 'Description of the App. You can use HTML to format it
39 | App.Description = $"Shows the Day of the Week and the Week of the Year"$
40 |
41 | App.Author = "Blueforcer"
42 |
43 | App.CoverIcon = 414
44 | 'SetupInstructions. You can use HTML to format it
45 | App.setupDescription= $"
46 | ShowWeekOfYear:Wether it should show the Week of the Year (true/false)
47 | "$
48 |
49 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
50 | App.Tick=65
51 |
52 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
53 | App.Settings=CreateMap("ShowWeekOfYear":True)
54 |
55 | App.MakeSettings
56 | Return "AWTRIX20"
57 | End Sub
58 |
59 | Sub App_Started
60 | scroll=1
61 | weekday= DateUtils.GetDayOfWeekName(DateTime.Now)
62 | Dim offset As Int = DateTime.GetDayOfWeek(DateUtils.SetDate( _
63 | DateTime.GetYear(DateTime.Now), 1, 1)) - 1
64 | week= Floor((DateTime.GetDayOfYear(DateTime.Now) -1 + offset) / 7) + 1
65 | End Sub
66 |
67 | 'With this sub you build your frame.
68 | Sub App_genFrame
69 | If App.get("ShowWeekOfYear") Then
70 | If App.StartedAt
39 | "$
40 |
41 | App.Author = "Blueforcer"
42 |
43 | App.CoverIcon = 700
44 |
45 | 'How many downloadhandlers should be generated
46 | App.Downloads=1
47 |
48 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
49 | App.Icons=Array As Int(700)
50 |
51 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
52 | App.Tick=65
53 |
54 | App.MakeSettings
55 | Return "AWTRIX20"
56 | End Sub
57 |
58 | 'Called with every update from Awtrix
59 | 'return one URL for each downloadhandler
60 | Sub App_startDownload(jobNr As Int)
61 | Select jobNr
62 | Case 1
63 | App.Download("https://remote.dinotec.de/api/v2/awtrix/installations/status")
64 | End Select
65 | End Sub
66 |
67 | 'process the response from each download handler
68 | 'if youre working with JSONs you can use this online parser
69 | 'to generate the code automaticly
70 | 'https://json.blueforcer.de/
71 | Sub App_evalJobResponse(Resp As JobResponse)
72 | Try
73 | If Resp.success Then
74 | Select Resp.jobNr
75 | Case 1
76 | Dim parser As JSONParser
77 | parser.Initialize(Resp.ResponseString)
78 | Dim root As Map = parser.NextObject
79 | online = root.Get("online")
80 | End Select
81 | End If
82 | Catch
83 | Log("Error in: "& App.Name & CRLF & LastException)
84 | Log("API response: " & CRLF & Resp.ResponseString)
85 | End Try
86 | End Sub
87 |
88 | 'With this sub you build your frame.
89 | Sub App_genFrame
90 | App.genText(online,True,1,Null,False)
91 | App.drawBMP(0,0,App.getIcon(700),8,8)
92 | End Sub
--------------------------------------------------------------------------------
/SuperAwtrix/Enemy.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=8.31
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Private moveTimer As Timer
9 | Dim xPos As Int
10 | Dim yPos As Int
11 | Dim savexPos As Int
12 | Dim saveyPos As Int
13 | Dim color()As Int
14 | Dim direction As Boolean
15 | Dim blocklist As List
16 | End Sub
17 |
18 | 'Initializes the object. You can add parameters to this method if needed.
19 | Public Sub Initialize(x As Int,y As Int,dir As Boolean,speed As Int,blocks As List)
20 | Select speed
21 | Case 1
22 | moveTimer.Initialize("move",300)
23 | Case 2
24 | moveTimer.Initialize("move",200)
25 | Case 3
26 | moveTimer.Initialize("move",100)
27 | Case Else
28 | moveTimer.Initialize("move",300)
29 | End Select
30 | savexPos=x
31 | saveyPos=y
32 | blocklist=blocks
33 | xPos=x
34 | yPos=y
35 | color= Array As Int(255,0,0)
36 | direction=dir
37 | End Sub
38 |
39 | Public Sub setBlocks(blocks As List)
40 | blocklist=blocks
41 | End Sub
42 |
43 | Public Sub reset
44 | xPos=savexPos
45 | yPos=saveyPos
46 | moveTimer.Enabled=True
47 | End Sub
48 |
49 | Public Sub stop
50 | moveTimer.Enabled=False
51 | End Sub
52 |
53 | 'move enemy with every timer tick
54 | Private Sub move_tick
55 | Select direction
56 | Case False 'move right
57 | If Not(isCollideX(xPos+1,yPos)) Then
58 | If isCollideY(xPos,yPos+1) Then 'only move if touching the ground
59 | xPos=xPos+1
60 | End If
61 | Else
62 | direction=Not(direction) 'Change direction
63 | End If
64 | Case True 'move left
65 | If Not(isCollideX(xPos-1,yPos)) Then
66 | If isCollideY(xPos,yPos+1) Then 'only move if touching the ground
67 | xPos=xPos-1
68 | End If
69 | Else
70 | direction=Not(direction) 'Change direction
71 | End If
72 | End Select
73 |
74 | If Not(isCollideY(xPos,yPos+1)) Then
75 | yPos=yPos+1 'Gravity
76 | End If
77 |
78 | End Sub
79 |
80 | Private Sub isCollideX(x As Int, y As Int) As Boolean
81 | For i=0 To blocklist.Size-1
82 | Dim b As Block=blocklist.Get(i)
83 | If b.y=y And x = b.x Then
84 |
85 | Return True
86 | End If
87 | Next
88 | Return False
89 | End Sub
90 |
91 | Private Sub isCollideY(x As Int, y As Int) As Boolean
92 | For i=0 To blocklist.Size-1
93 | Dim b As Block=blocklist.Get(i)
94 | If x = b.x And b.y=y Then
95 | Return True
96 | End If
97 | Next
98 | Return False
99 | End Sub
--------------------------------------------------------------------------------
/CustomApp/CustomApp.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | End Sub
13 |
14 | ' ignore
15 | public Sub GetNiceName() As String
16 | Return App.name
17 | End Sub
18 |
19 | ' ignore
20 | public Sub Run(Tag As String, Params As Map) As Object
21 | Return App.interface(Tag,Params)
22 | End Sub
23 |
24 | ' Config your App
25 | Public Sub Initialize() As String
26 |
27 | 'initialize the AWTRIX class and parse the instance; dont touch this
28 | App.Initialize(Me,"App")
29 |
30 | 'App name (must be unique, no spaces)
31 | App.name = "CustomApp"
32 |
33 | 'Version of the App
34 | App.version = "1.1"
35 |
36 | 'Description of the App. You can use HTML to format it
37 | App.description = $"
38 | You can use this app to integrate your notifications firmly into the Apploop.
39 | "$
40 |
41 | 'The developer if this App
42 | App.author = "Blueforcer"
43 |
44 | App.setupDescription= $"
45 | Use the App Sort function to place this app anywhere in your apploop. Each app gets its own ID (starting with 0).
46 | Now send your notifications via any API interface (MQTT: topic /customapp; REST: endpoint /api/v3/customapp) and add the key "ID" with the app ID. The notification will be saved and displayed continuously so you don't have to actively send the notification. You can overwrite any ID at any time.
47 | "$
48 |
49 | 'Icon (ID) to be displayed in the Appstore and MyApps
50 | App.coverIcon = 1060
51 |
52 | 'define some tags to simplify the search in the Appstore
53 | App.tags = Array As String("Template", "Awesome")
54 |
55 | 'How many downloadhandlers should be generated
56 | App.downloads = 0
57 |
58 |
59 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
60 | App.tick = 65
61 |
62 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
63 | App.lock = False
64 |
65 | 'This tolds AWTRIX that this App is an Game.
66 | App.isGame = False
67 |
68 | 'If set to true, AWTRIX will download new data before each start.
69 | App.forceDownload = False
70 |
71 | 'ignore
72 | App.makeSettings
73 | Return "AWTRIX20"
74 | End Sub
75 |
76 | 'this sub is called right before AWTRIX will display your App
77 | Sub App_Started
78 |
79 | End Sub
80 |
81 | 'With this sub you build your frame wtih eveery Tick.
82 | Sub App_genFrame
83 |
84 |
85 | End Sub
--------------------------------------------------------------------------------
/pr0gramm/pr0gramm.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=7.31
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | Dim benis As Int
11 | End Sub
12 |
13 | ' ignore
14 | Public Sub Initialize() As String
15 |
16 | App.Initialize(Me,"App")
17 |
18 | 'change plugin name (must be unique, avoid spaces)
19 | App.Name="pr0gramm"
20 |
21 | 'Version of the App
22 | App.Version="1.0"
23 |
24 | 'Description of the App. You can use HTML to format it
25 | App.Description=$"Show the lenght of your Benis"$
26 |
27 | App.Author="Kevin"
28 |
29 | App.CoverIcon=399
30 |
31 | 'SetupInstructions. You can use HTML to format it
32 | App.setupDescription= $"
33 | Name: Enter your name from pr0gramm.
34 | "$
35 |
36 | 'How many downloadhandlers should be generated
37 | App.Downloads=1
38 |
39 | 'IconIDs from AWTRIXER.
40 | App.Icons=Array As Int(399)
41 |
42 | 'Tickinterval in ms (should be 65 by default)
43 | App.Tick=65
44 |
45 |
46 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
47 | App.Settings=CreateMap("Name":"")
48 |
49 | App.MakeSettings
50 | Return "AWTRIX20"
51 | End Sub
52 |
53 | ' ignore
54 | public Sub GetNiceName() As String
55 | Return App.Name
56 | End Sub
57 |
58 | ' ignore
59 | public Sub Run(Tag As String, Params As Map) As Object
60 | Return App.interface(Tag,Params)
61 | End Sub
62 |
63 |
64 | 'Called with every update from Awtrix
65 | 'return one URL for each downloadhandler
66 | Sub App_startDownload(jobNr As Int)
67 | Select jobNr
68 | Case 1
69 | App.Download("https://pr0gramm.com/api/profile/info?name="&App.get("Name")&"&flags=1&self=false")
70 | End Select
71 | End Sub
72 |
73 | 'process the response from each download handler
74 | 'if youre working with JSONs you can use this online parser
75 | 'to generate the code automaticly
76 | 'https://json.blueforcer.de/
77 | Sub App_evalJobResponse(Resp As JobResponse)
78 | Try
79 | If Resp.success Then
80 | Select Resp.jobNr
81 | Case 1
82 | Dim parser As JSONParser
83 | parser.Initialize(Resp.ResponseString)
84 | Dim root As Map = parser.NextObject
85 | Dim user As Map = root.Get("user")
86 | benis = user.Get("score")
87 | End Select
88 | End If
89 | Catch
90 | Log("Error in: "& App.Name & CRLF & LastException)
91 | Log("API response: " & CRLF & Resp.ResponseString)
92 | End Try
93 | End Sub
94 |
95 | 'Generate your Frame. This Sub is called with every Tick
96 | Sub App_genFrame
97 | App.genText(benis,True,1,Null,True)
98 | App.drawBMP(0,0,App.getIcon(399),8,8)
99 | End Sub
--------------------------------------------------------------------------------
/Weibo/Weibo.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=1.0
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | 'Define your variables here
11 | Dim subs As String ="0"
12 | End Sub
13 |
14 | ' ignore
15 | Public Sub Initialize() As String
16 |
17 | App.Initialize(Me,"App")
18 |
19 | 'change plugin name (must be unique, avoid spaces)
20 | App.Name="Weibo"
21 |
22 | 'Version of the App
23 | App.Version="1.0"
24 |
25 | 'Description of the App. You can use HTML to format it
26 | App.Description="Shows your Weibo fans count"
27 |
28 | App.Author="UniqueDing"
29 |
30 | App.CoverIcon = 1293
31 |
32 | 'SetupInstructions. You can use HTML to format it
33 | App.setupDescription= $"
34 | MID:
35 |
36 | - Go to https://weibo.com/
37 | - Login your weibo
38 | - and url will be https://weibo.com/XXXXXXX
39 | - XXXXXXX is your MID
40 |
41 | "$
42 |
43 | 'How many downloadhandlers should be generated
44 | App.Downloads=1
45 |
46 | 'IconIDs from AWTRIXER.
47 | App.Icons=Array As Int(1294)
48 |
49 | 'Tickinterval in ms (should be 65 by default)
50 | App.Tick=65
51 |
52 |
53 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
54 | App.Settings=CreateMap("MID":"")
55 |
56 | App.MakeSettings
57 | Return "AWTRIX20"
58 | End Sub
59 | ' ignore
60 | public Sub GetNiceName() As String
61 | Return App.Name
62 | End Sub
63 |
64 | ' ignore
65 | public Sub Run(Tag As String, Params As Map) As Object
66 | Return App.interface(Tag,Params)
67 | End Sub
68 |
69 | 'Called with every update from Awtrix
70 | 'return one URL for each downloadhandler
71 | Sub App_startDownload(jobNr As Int)
72 | Select jobNr
73 | Case 1
74 | App.Download("http://awtrix.uniqueding.cn/weibo/"&App.Get("MID"))
75 | End Select
76 |
77 | End Sub
78 |
79 | Sub App_evalJobResponse(Resp As JobResponse)
80 | Try
81 | If Resp.success Then
82 | Select Resp.jobNr
83 | Case 1
84 | Dim parser As JSONParser
85 | parser.Initialize(Resp.ResponseString)
86 | Dim root As Map = parser.NextObject
87 | subs = root.Get("fans")
88 | End Select
89 | End If
90 | Catch
91 | Log("Error in: "& App.Name & CRLF & LastException)
92 | Log("API response: " & CRLF & Resp.ResponseString)
93 | End Try
94 | End Sub
95 |
96 | 'Generate your Frame. This Sub is called with every Tick
97 | Sub App_genFrame
98 | App.genText(subs,True,1,Null,True)
99 | App.drawBMP(0,0,App.getIcon(1294),8,8)
100 | End Sub
--------------------------------------------------------------------------------
/Matomo/Matomo.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | Dim result As String = "0"
11 | End Sub
12 |
13 | ' ignore
14 | Public Sub Initialize() As String
15 |
16 | App.Initialize(Me,"App")
17 |
18 | 'change plugin name (must be unique, avoid spaces)
19 | App.Name="Matomo"
20 |
21 | 'Version of the App
22 | App.Version="1.0"
23 |
24 | 'Description of the App. You can use HTML to format it
25 | App.Description=$"
26 | Shows you the visitors of the transferred Matomo instance who were online during the given time period.
"$
27 |
28 | App.Author="Dennis Hinzpeter"
29 |
30 | App.CoverIcon=68
31 |
32 |
33 | 'How many downloadhandlers should be generated
34 | App.Downloads=1
35 |
36 | 'IconIDs from AWTRIXER.
37 | App.Icons=Array As Int(68)
38 |
39 | 'Tickinterval in ms (should be 65 by default)
40 | App.Tick=65
41 |
42 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
43 | App.Settings=CreateMap("apiKey":"","siteID":"","baseURL":"","timeSpan":"")
44 |
45 | App.MakeSettings
46 | Return "AWTRIX20"
47 | End Sub
48 |
49 | ' ignore
50 | public Sub GetNiceName() As String
51 | Return App.Name
52 | End Sub
53 |
54 | ' ignore
55 | public Sub Run(Tag As String, Params As Map) As Object
56 | Return App.interface(Tag,Params)
57 | End Sub
58 |
59 | Public Sub AppStarted
60 |
61 | End Sub
62 |
63 | 'Called with every update from Awtrix
64 | 'return one URL for each downloadhandler
65 | Sub App_startDownload(jobNr As Int)
66 | Select jobNr
67 | Case 1
68 | App.Download(App.get("baseURL")&"/index.php?module=API&method=Live.getCounters&idSite="&App.get("siteID")&"&lastMinutes="&App.get("timeSpan")&"&format=JSON&token_auth="&App.get("apiKey"))
69 | End Select
70 | End Sub
71 |
72 | 'process the response from each download handler
73 | 'if youre working with JSONs you can use this online parser
74 | 'to generate the code automaticly
75 | 'https://json.blueforcer.de/
76 | Sub App_evalJobResponse(Resp As JobResponse)
77 | Try
78 | If Resp.success Then
79 | Select Resp.jobNr
80 | Case 1
81 | Dim parser As JSONParser
82 | parser.Initialize(Resp.ResponseString.replace("[","").replace("]",""))
83 | Dim root As Map = parser.NextObject
84 | result = root.Get("visits")
85 | End Select
86 | End If
87 | Catch
88 | Log("Error in: "& App.Name & CRLF & LastException)
89 | Log("API response: " & CRLF & Resp.ResponseString)
90 | End Try
91 | End Sub
92 |
93 | Sub App_genFrame
94 | App.genText(result,True,1,Null,True)
95 | App.drawBMP(0,0,App.geticon(68),8,8)
96 | End Sub
--------------------------------------------------------------------------------
/TronaldDump/TronaldDump.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | Dim QUOT As String
11 | End Sub
12 |
13 | ' Config your App
14 | Public Sub Initialize() As String
15 |
16 | App.Initialize(Me,"App")
17 |
18 | 'App name (must be unique, avoid spaces)
19 | App.Name="TronaldDump"
20 |
21 | 'Version of the App
22 | App.Version="1.0"
23 |
24 | 'Description of the App. You can use HTML to format it
25 | App.Description=$"
26 | Shows the dumbest things Donald Trump has ever said
27 | Powered by tronalddump.io
28 | "$
29 |
30 | App.Author="Blueforcer"
31 |
32 | App.CoverIcon=516
33 |
34 | 'How many downloadhandlers should be generated
35 | App.Downloads=1
36 |
37 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
38 | App.Icons=Array As Int(516)
39 |
40 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
41 | App.Tick=65
42 |
43 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
44 | App.Lock=True
45 |
46 | App.forceDownload=True
47 |
48 | App.MakeSettings
49 | Return "AWTRIX20"
50 | End Sub
51 |
52 | ' ignore
53 | public Sub GetNiceName() As String
54 | Return App.Name
55 | End Sub
56 |
57 | ' ignore
58 | public Sub Run(Tag As String, Params As Map) As Object
59 | Return App.interface(Tag,Params)
60 | End Sub
61 |
62 | 'Called with every update from Awtrix
63 | 'return one URL for each downloadhandler
64 | Sub App_startDownload(jobNr As Int)
65 | Select jobNr
66 | Case 1
67 | App.Download("https://api.tronalddump.io/random/quote")
68 | End Select
69 | End Sub
70 |
71 | 'process the response from each download handler
72 | 'if youre working with JSONs you can use this online parser
73 | 'to generate the code automaticly
74 | 'https://json.blueforcer.de/
75 | Sub App_evalJobResponse(Resp As JobResponse)
76 | Try
77 | If Resp.success Then
78 | Select Resp.jobNr
79 | Case 1
80 | Dim parser As JSONParser
81 | parser.Initialize(Resp.ResponseString)
82 | Dim root As Map = parser.NextObject
83 | QUOT = root.Get("value")
84 | End Select
85 | End If
86 | Catch
87 | Log("Error in: "& App.Name & CRLF & LastException)
88 | Log("API response: " & CRLF & Resp.ResponseString)
89 | End Try
90 | End Sub
91 |
92 | Sub App_genFrame
93 | App.genText(QUOT,True,1,Null,True)
94 |
95 | If App.scrollposition>9 Then
96 | App.drawBMP(0,0,App.getIcon(516),8,8)
97 | Else
98 | If App.scrollposition>-8 Then
99 | App.drawBMP(App.scrollposition-9,0,App.getIcon(516),8,8)
100 | End If
101 | End If
102 | End Sub
103 |
--------------------------------------------------------------------------------
/Bilibili/Bilibili.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=1.0
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | 'Define your variables here
11 | Dim subs As String ="0"
12 | End Sub
13 |
14 | ' ignore
15 | Public Sub Initialize() As String
16 |
17 | App.Initialize(Me,"App")
18 |
19 | 'change plugin name (must be unique, avoid spaces)
20 | App.Name="Bilibili"
21 |
22 | 'Version of the App
23 | App.Version="1.0"
24 |
25 | 'Description of the App. You can use HTML to format it
26 | App.Description="This Is a App For a Bilibili Upper To show fans count."
27 |
28 | App.Author="Albert"
29 |
30 | App.CoverIcon = 9
31 |
32 | 'SetupInstructions. You can use HTML to format it
33 | App.setupDescription= $"
34 | MID:
35 |
36 | - Go to https://space.bilibili.com/
37 | - Find the 'MID' at 'https://space.bilibili.com/XXX'.
38 | - Copy and enter your MID
39 |
40 | "$
41 |
42 | 'How many downloadhandlers should be generated
43 | App.Downloads=1
44 |
45 | 'IconIDs from AWTRIXER.
46 | App.Icons=Array As Int(9)
47 |
48 | 'Tickinterval in ms (should be 65 by default)
49 | App.Tick=65
50 |
51 |
52 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
53 | App.Settings=CreateMap("MID":"")
54 |
55 | App.MakeSettings
56 | Return "AWTRIX20"
57 | End Sub
58 | ' ignore
59 | public Sub GetNiceName() As String
60 | Return App.Name
61 | End Sub
62 |
63 | ' ignore
64 | public Sub Run(Tag As String, Params As Map) As Object
65 | Return App.interface(Tag,Params)
66 | End Sub
67 |
68 | 'Called with every update from Awtrix
69 | 'return one URL for each downloadhandler
70 | Sub App_startDownload(jobNr As Int)
71 | Select jobNr
72 | Case 1
73 | App.Download("https://api.bilibili.com/x/relation/stat?vmid="&App.Get("MID")&"&jsonp=jsonp")
74 | End Select
75 |
76 | End Sub
77 |
78 | Sub App_evalJobResponse(Resp As JobResponse)
79 | Try
80 | If Resp.success Then
81 | Select Resp.jobNr
82 | Case 1
83 | Dim parser As JSONParser
84 | parser.Initialize(Resp.ResponseString)
85 | Dim root As Map = parser.NextObject
86 | Dim bdata As Map = root.Get("data")
87 | subs = bdata.Get("follower")
88 | End Select
89 | End If
90 | Catch
91 | Log("Error in: "& App.Name & CRLF & LastException)
92 | Log("API response: " & CRLF & Resp.ResponseString)
93 | End Try
94 | End Sub
95 |
96 | 'Generate your Frame. This Sub is called with every Tick
97 | Sub App_genFrame
98 | App.genText(subs,True,1,Array As Int(98,214,255),True)
99 | App.drawBMP(0,0,App.getIcon(9),8,8)
100 | App.drawLine(9,7,29,7,Array As Int(98,214,255))
101 | End Sub
--------------------------------------------------------------------------------
/GithubFollowers/GithubFollowers.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim followers As Int
13 | End Sub
14 |
15 | ' ignore
16 | public Sub GetNiceName() As String
17 | Return App.Name
18 | End Sub
19 |
20 | ' ignore
21 | public Sub Run(Tag As String, Params As Map) As Object
22 | Return App.interface(Tag,Params)
23 | End Sub
24 |
25 | ' Config your App
26 | Public Sub Initialize() As String
27 |
28 | App.Initialize(Me,"App")
29 |
30 | 'App name (must be unique, avoid spaces)
31 | App.Name="GithubFollowers"
32 |
33 | 'Version of the App
34 | App.Version="1.0"
35 |
36 | 'Description of the App. You can use HTML to format it
37 | App.Description=$"Shows your Github followers"$
38 |
39 | App.Author="Blueforcer"
40 |
41 | App.CoverIcon=596
42 |
43 | 'SetupInstructions. You can use HTML to format it
44 | App.setupDescription= $"
45 | Username:Your Github Username
46 | "$
47 |
48 | 'How many downloadhandlers should be generated
49 | App.Downloads=1
50 |
51 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
52 | App.Icons=Array As Int(596)
53 |
54 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
55 | App.Tick=65
56 |
57 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
58 | App.settings=CreateMap("Username":"Blueforcer")
59 |
60 | App.MakeSettings
61 | Return "AWTRIX20"
62 | End Sub
63 |
64 | 'this sub is called right before AWTRIX will display your App
65 | Sub App_Started
66 |
67 | End Sub
68 |
69 | 'Called with every update from Awtrix
70 | 'return one URL for each downloadhandler
71 | Sub App_startDownload(jobNr As Int)
72 | Select jobNr
73 | Case 1
74 | App.Download("https://api.github.com/users/" & App.get("Username"))
75 | End Select
76 | End Sub
77 |
78 | 'process the response from each download handler
79 | 'if youre working with JSONs you can use this online parser
80 | 'to generate the code automaticly
81 | 'https://json.blueforcer.de/
82 | Sub App_evalJobResponse(Resp As JobResponse)
83 | Try
84 | If Resp.success Then
85 | Select Resp.jobNr
86 | Case 1
87 | Dim parser As JSONParser
88 | parser.Initialize(Resp.ResponseString)
89 | Dim root As Map = parser.NextObject
90 | followers = root.Get("followers")
91 | End Select
92 | End If
93 | Catch
94 | Log("Error in: "& App.Name & CRLF & LastException)
95 | Log("API response: " & CRLF & Resp.ResponseString)
96 | End Try
97 | End Sub
98 |
99 | 'With this sub you build your frame.
100 | Sub App_genFrame
101 | App.genText(followers,True,1,Null,True)
102 | App.drawBMP(0,0,App.getIcon(596),8,8)
103 | End Sub
--------------------------------------------------------------------------------
/MyStrom/MyStrom.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=7.31
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | Dim state As Boolean
11 | Dim watt As Int = 0
12 | Dim IconID As Int
13 | End Sub
14 |
15 | ' ignore
16 | Public Sub Initialize() As String
17 |
18 | App.Initialize(Me,"App")
19 |
20 | 'change plugin name (must be unique, avoid spaces)
21 | App.Name="MyStrom"
22 |
23 | 'Version of the App
24 | App.Version="1.0"
25 |
26 | 'Description of the App. You can use HTML to format it
27 | App.Description=$"Shows the state and power consumption of your MyStrom SmartPlug"$
28 |
29 | 'SetupInstructions. You can use HTML to format it
30 | App.setupDescription= $"
31 | IP: The IP Adress of your MyStrom SmartPlug
32 | "$
33 |
34 | App.Author="Blueforcer"
35 |
36 | App.CoverIcon=398
37 |
38 | 'How many downloadhandlers should be generated
39 | App.Downloads=1
40 |
41 | 'IconIDs from AWTRIXER.
42 | App.Icons=Array As Int(397,398)
43 |
44 | 'Tickinterval in ms (should be 65 by default)
45 | App.Tick=65
46 |
47 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
48 | App.Settings= CreateMap("IP":"")
49 |
50 | App.MakeSettings
51 | Return "AWTRIX20"
52 | End Sub
53 |
54 | ' ignore
55 | public Sub GetNiceName() As String
56 | Return App.Name
57 | End Sub
58 |
59 | ' ignore
60 | public Sub Run(Tag As String, Params As Map) As Object
61 | Return App.interface(Tag,Params)
62 | End Sub
63 |
64 |
65 | 'Called with every update from Awtrix
66 | 'return one URL for each downloadhandler
67 | Sub App_startDownload(jobNr As Int)
68 | Select jobNr
69 | Case 1
70 | App.Download("http://"&App.Get("IP")&"/report")
71 | End Select
72 |
73 | End Sub
74 |
75 | Sub App_iconRequest
76 | App.Icons=Array As Int(IconID)
77 | End Sub
78 |
79 | 'process the response from each download handler
80 | 'if youre working with JSONs you can use this online parser
81 | 'to generate the code automaticly
82 | 'https://json.blueforcer.de/
83 | Sub App_evalJobResponse(Resp As JobResponse)
84 | Try
85 | If Resp.success Then
86 | Select Resp.jobNr
87 | Case 1
88 | Dim parser As JSONParser
89 | parser.Initialize(Resp.ResponseString)
90 | Dim root As Map = parser.NextObject
91 | state = root.Get("relay")
92 | watt = root.Get("power")
93 | If state Then
94 | IconID=398
95 | Else
96 | IconID=397
97 | End If
98 | End Select
99 | End If
100 | Catch
101 | Log("Error in: "& App.Name & CRLF & LastException)
102 | Log("API response: " & CRLF & Resp.ResponseString)
103 | End Try
104 | End Sub
105 |
106 | Sub App_genFrame
107 | App.genText(watt& "W",True,1,Null,True)
108 | App.drawBMP(0,0,App.getIcon(IconID),8,8)
109 | End Sub
110 |
--------------------------------------------------------------------------------
/Pinterest/Pinterest.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | Dim follower_count As String = "0"
11 | End Sub
12 |
13 |
14 | ' ignore
15 | Public Sub Initialize() As String
16 |
17 | App.Initialize(Me,"App")
18 |
19 | 'change plugin name (must be unique, avoid spaces)
20 | App.Name="Pinterest"
21 |
22 | 'Version of the App
23 | App.Version="1.0"
24 |
25 | 'Description of the App. You can use HTML to format it
26 | App.Description="Shows your pinterest follower count."
27 |
28 | 'SetupInstructions. You can use HTML to format it
29 | App.setupDescription= $"
30 | Username: As the name implies, your pinterest Username.
31 | "$
32 |
33 | App.Author="Blueforcer"
34 |
35 | App.CoverIcon=88
36 |
37 | 'How many downloadhandlers should be generated
38 | App.Downloads=1
39 |
40 | 'IconIDs from AWTRIXER.
41 | App.Icons=Array As Int(88)
42 |
43 | 'Tickinterval in ms (should be 65 by default)
44 | App.tick=65
45 |
46 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
47 | App.settings=CreateMap("Username":"")
48 |
49 | App.MakeSettings
50 | Return "AWTRIX20"
51 | End Sub
52 |
53 | ' ignore
54 | public Sub GetNiceName() As String
55 | Return App.Name
56 | End Sub
57 |
58 | ' ignore
59 | public Sub Run(Tag As String, Params As Map) As Object
60 | Return App.interface(Tag,Params)
61 | End Sub
62 |
63 |
64 | 'Called with every update from Awtrix
65 | 'return one URL for each downloadhandler
66 | Sub App_startDownload(jobNr As Int)
67 | Select jobNr
68 | Case 1
69 | App.Download("https://www.pinterest.de/"&App.get("Username"))
70 | End Select
71 | End Sub
72 |
73 | 'process the response from each download handler
74 | 'if youre working with JSONs you can use this online parser
75 | 'to generate the code automaticly
76 | 'https://json.blueforcer.de/
77 | Sub App_evalJobResponse(Resp As JobResponse)
78 | Try
79 | If Resp.success Then
80 | Select Resp.jobNr
81 | Case 1
82 | Dim Reader As TextReader
83 | Reader.Initialize(Resp.Stream)
84 | Dim line As String
85 | line = Reader.ReadLine
86 | Do While line <> Null
87 | If line.Contains("""follower_count"":") Then
88 | follower_count=line.SubString2(line.IndexOf("follower_count"":")+17,line.IndexOf(", ""domain_url")).Trim
89 | Exit
90 | End If
91 | line = Reader.ReadLine
92 | Loop
93 | Reader.Close
94 | End Select
95 | End If
96 | Catch
97 | Log("Error in: "& App.Name & CRLF & LastException)
98 | Log("API response: " & CRLF & Resp.ResponseString)
99 | End Try
100 | End Sub
101 |
102 |
103 | Sub App_genFrame
104 | App.genText(follower_count,True,1,Null,True)
105 | App.drawBMP(0,0,App.getIcon(88),8,8)
106 | End Sub
--------------------------------------------------------------------------------
/PM/PM.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 | Dim pmValue As String ="0"
10 | End Sub
11 |
12 | ' ignore
13 | Public Sub Initialize() As String
14 |
15 | App.Initialize(Me,"App")
16 |
17 | 'change plugin name (must be unique, avoid spaces)
18 | App.Name="PM"
19 |
20 | 'Version of the App
21 | App.Version="1.0"
22 |
23 | 'Description of the App. You can use HTML to format it
24 | App.Description="Shows the atmospheric particulate matter (PM2.5)"
25 |
26 | App.Author="Blueforcer"
27 |
28 | App.CoverIcon=2
29 |
30 | 'SetupInstructions. You can use HTML to format it
31 | App.setupDescription= $"
32 | Location: Get you location from https://openaq.org/#/map e.g. "DEHE041".
33 | "$
34 |
35 | 'How many downloadhandlers should be generated
36 | App.Downloads=1
37 |
38 | 'IconIDs from AWTRIXER.
39 | App.Icons=Array As Int(2)
40 |
41 | 'Tickinterval in ms (should be 65 by default)
42 | App.Tick=65
43 |
44 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
45 | App.Settings=CreateMap("Location":"DEHE041")
46 |
47 | App.MakeSettings
48 |
49 | Return "AWTRIX20"
50 | End Sub
51 |
52 | ' ignore
53 | public Sub GetNiceName() As String
54 | Return App.Name
55 | End Sub
56 |
57 | ' ignore
58 | public Sub Run(Tag As String, Params As Map) As Object
59 | Return App.interface(Tag,Params)
60 | End Sub
61 |
62 | 'Called with every update from Awtrix
63 | 'return one URL for each downloadhandler
64 | Sub App_startDownload(jobNr As Int)
65 | Select jobNr
66 | Case 1
67 | App.Download("https://api.openaq.org/v1/latest?location="&App.get("Location")&"¶meter=pm25")
68 | End Select
69 |
70 | End Sub
71 |
72 | 'process the response from each download handler
73 | 'if youre working with JSONs you can use this online parser
74 | 'to generate the code automaticly
75 | 'https://json.blueforcer.de/
76 | Sub App_evalJobResponse(Resp As JobResponse)
77 | Try
78 | If Resp.success Then
79 | Select Resp.jobNr
80 | Case 1
81 | Dim parser As JSONParser
82 | parser.Initialize(Resp.ResponseString)
83 | Dim root As Map = parser.NextObject
84 | Dim results As List = root.Get("results")
85 | For Each colresults As Map In results
86 | Dim measurements As List = colresults.Get("measurements")
87 | For Each colmeasurements As Map In measurements
88 | pmValue = colmeasurements.Get("value")
89 | Next
90 | Next
91 | End Select
92 | End If
93 | Catch
94 | Log("Error in: "& App.Name & CRLF & LastException)
95 | Log("API response: " & CRLF & Resp.ResponseString)
96 | End Try
97 | End Sub
98 |
99 | Sub App_genFrame
100 | App.genText(pmValue,True,1,Null,True)
101 | App.drawBMP(0,0,App.getIcon(2),8,8)
102 | End Sub
--------------------------------------------------------------------------------
/Twitter/Twitter.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | Dim followers As String ="0"
11 | End Sub
12 |
13 | ' Config your App
14 | Public Sub Initialize() As String
15 |
16 | App.Initialize(Me,"App")
17 |
18 | 'App name (must be unique, avoid spaces)
19 | App.Name="Twitter"
20 |
21 | 'Version of the App
22 | App.Version="1.0"
23 |
24 | 'Description of the App. You can use HTML to format it
25 | App.Description="Shows your Twitter Follower count."
26 |
27 | 'SetupInstructions. You can use HTML to format it
28 | App.setupDescription= $"
29 | Profilename: As the name implies, your twitter profile name.
30 | "$
31 |
32 | App.Author="Blueforcer"
33 |
34 | App.CoverIcon=142
35 |
36 | 'How many downloadhandlers should be generated
37 | App.downloads=1
38 |
39 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
40 | App.Icons=Array As Int(142)
41 |
42 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
43 | App.Tick=65
44 |
45 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
46 | App.Settings=CreateMap("Profilename":"")
47 |
48 | App.MakeSettings
49 | Return "AWTRIX20"
50 | End Sub
51 |
52 | ' ignore
53 | public Sub GetNiceName() As String
54 | Return App.Name
55 | End Sub
56 |
57 | ' ignore
58 | public Sub Run(Tag As String, Params As Map) As Object
59 | Return App.interface(Tag,Params)
60 | End Sub
61 |
62 |
63 | 'Called with every update from Awtrix
64 | 'return one URL for each downloadhandler
65 | Sub App_startDownload(jobNr As Int)
66 | Select jobNr
67 | Case 1
68 | App.Download("http://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names="& App.get("Profilename"))
69 | End Select
70 | End Sub
71 |
72 | 'process the response from each download handler
73 | 'if youre working with JSONs you can use this online parser
74 | 'to generate the code automaticly
75 | 'https://json.blueforcer.de/
76 | Sub App_evalJobResponse(Resp As JobResponse)
77 | Try
78 | If Resp.success Then
79 | Select Resp.jobNr
80 | Case 1
81 | Dim parser As JSONParser
82 | parser.Initialize(Resp.ResponseString)
83 | Dim root As List = parser.NextArray
84 | For Each colroot As Map In root
85 | followers = colroot.Get("followers_count")
86 | Next
87 | End Select
88 | End If
89 | Catch
90 | Log("Error in: "& App.name & CRLF & LastException)
91 | Log("API response: " & CRLF & Resp.ResponseString)
92 | End Try
93 | End Sub
94 |
95 |
96 | 'is called every tick, generates the commandlist (drawingroutines) and send it to awtrix
97 | Sub App_genFrame
98 | App.genText(followers,True,1,Null,True)
99 | App.drawBMP(0,0,App.getIcon(142),8,8)
100 | End Sub
--------------------------------------------------------------------------------
/YearProgress/YearProgress.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim percentDone As Double
13 |
14 | End Sub
15 |
16 | ' ignore
17 | public Sub GetNiceName() As String
18 | Return App.name
19 | End Sub
20 |
21 | ' ignore
22 | public Sub Run(Tag As String, Params As Map) As Object
23 | Return App.interface(Tag,Params)
24 | End Sub
25 |
26 | ' Config your App
27 | Public Sub Initialize() As String
28 |
29 | 'initialize the AWTRIX class and parse the instance; dont touch this
30 | App.Initialize(Me,"App")
31 |
32 | 'App name (must be unique, no spaces)
33 | App.name = "YearProgress"
34 |
35 | 'Version of the App
36 | App.version = "1.0"
37 |
38 | 'Description of the App. You can use HTML to format it
39 | App.description = $"
40 | Displays the progress of the year in percent.
41 | "$
42 |
43 | 'The developer if this App
44 | App.author = "Blueforcer"
45 |
46 | 'Icon (ID) to be displayed in the Appstore and MyApps
47 | App.coverIcon = 916
48 |
49 |
50 |
51 | 'define some tags to simplify the search in the Appstore
52 | App.tags = Array As String("time", "date")
53 |
54 | 'How many downloadhandlers should be generated
55 | App.downloads = 0
56 |
57 | 'IconIDs from AWTRIXER. You can add multiple if you need more
58 | App.icons = Array As Int(916)
59 |
60 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
61 | App.tick = 65
62 |
63 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
64 | App.lock = False
65 |
66 | 'This tolds AWTRIX that this App is an Game.
67 | App.isGame = False
68 |
69 | 'If set to true, AWTRIX will download new data before each start.
70 | App.forceDownload = False
71 |
72 | 'ignore
73 | App.makeSettings
74 | Return "AWTRIX20"
75 | End Sub
76 |
77 | 'this sub is called right before AWTRIX will display your App
78 | Sub App_Started
79 | Dim savedFormat As String= DateTime.DateFormat
80 | DateTime.DateFormat = "dd/MM/yyyy"
81 | Dim currentYear As String = DateTime.GetYear(DateTime.Now)
82 | Dim nextYear As String= DateTime.GetYear(DateTime.Now)+1
83 | Dim TargetTime As Long = DateTime.DateParse("01/01/" & nextYear)
84 | Dim StartTime As Long = DateTime.DateParse("01/01/" & currentYear)
85 | percentDone = NumberFormat(((DateTime.Now-StartTime)/(TargetTime-StartTime))*100,0,2)
86 | DateTime.DateFormat=savedFormat
87 | End Sub
88 |
89 | 'this sub is called if AWTRIX switch to thee next app and pause this one
90 | Sub App_Exited
91 |
92 | End Sub
93 |
94 |
95 |
96 | 'With this sub you build your frame wtih eveery Tick.
97 | Sub App_genFrame
98 | App.genText(percentDone&"%" ,True,1,Null,False)
99 | App.drawBMP(0,0,App.getIcon(916),8,8)
100 | End Sub
--------------------------------------------------------------------------------
/Instagram/Instagram2.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | 'declare needed variables
11 | Dim Followers As String
12 | End Sub
13 |
14 | ' ignore
15 | Public Sub Initialize() As String
16 |
17 | App.Initialize(Me,"App")
18 |
19 | 'change plugin name (must be unique, avoid spaces)
20 | App.Name="Instagram2"
21 |
22 | 'Version of the App
23 | App.Version="1.0"
24 |
25 | 'Description of the App. You can use HTML to format it
26 | App.Description=$"Shows your Instagram followers"$
27 |
28 | App.Author="Blueforcer"
29 |
30 | App.CoverIcon=58
31 |
32 | 'SetupInstructions. You can use HTML to format it
33 | App.setupDescription= $"
34 | Profilename: As the name implies, your instagram profile name.
35 | "$
36 |
37 | 'How many downloadhandlers should be generated
38 | App.Downloads=1
39 |
40 | 'IconIDs from AWTRIXER.
41 | App.Icons=Array As Int(58)
42 |
43 | 'Tickinterval in ms (should be 65 by default)
44 | App.Tick=65
45 |
46 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
47 | App.Settings=CreateMap("Profilename":"")
48 |
49 | App.MakeSettings
50 | Return "AWTRIX20"
51 | End Sub
52 |
53 | ' ignore
54 | public Sub GetNiceName() As String
55 | Return App.Name
56 | End Sub
57 |
58 | ' ignore
59 | public Sub Run(Tag As String, Params As Map) As Object
60 | Return App.interface(Tag,Params)
61 | End Sub
62 |
63 |
64 | 'Called with every update from Awtrix
65 | 'return one URL for each downloadhandler
66 | Sub App_startDownload(jobNr As Int)
67 | Select jobNr
68 | Case 1
69 | App.Download("https://www.instagram.com/"&App.get("Profilename")&"/")
70 | End Select
71 | End Sub
72 |
73 |
74 | 'process the response from each download handler
75 | 'if youre working with JSONs you can use this online parser
76 | 'to generate the code automaticly
77 | 'https://json.blueforcer.de/
78 | Sub App_evalJobResponse(Resp As JobResponse)
79 | Try
80 | If Resp.success Then
81 | Select Resp.jobNr
82 | Case 1
83 | Dim Reader As TextReader
84 | Reader.Initialize(Resp.Stream)
85 | Dim line As String
86 | line = Reader.ReadLine
87 | Do While line <> Null
88 | If line.Contains("Followers") Then
89 | Followers=line.SubString2(line.IndexOf("""")+1,line.IndexOf("Followers")-1)
90 | Followers=Followers.Replace(",","")
91 | Exit
92 | End If
93 | line = Reader.ReadLine
94 | Loop
95 | Reader.Close
96 | End Select
97 | End If
98 | Catch
99 | Log("Error in: "& App.Name & CRLF & LastException)
100 | Log("API response: " & CRLF & Resp.ResponseString)
101 | End Try
102 | End Sub
103 |
104 | Sub App_genFrame
105 | App.genText(Followers,True,1,Null,True)
106 | App.drawBMP(0,0,App.getIcon(58),8,8)
107 | End Sub
108 |
--------------------------------------------------------------------------------
/Instagram/Instagram.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | 'declare needed variables
11 | Dim Followers As String
12 | End Sub
13 |
14 | ' ignore
15 | Public Sub Initialize() As String
16 |
17 | App.Initialize(Me,"App")
18 |
19 | 'change plugin name (must be unique, avoid spaces)
20 | App.Name="Instagram"
21 |
22 | 'Version of the App
23 | App.Version="1.3"
24 |
25 | 'Description of the App. You can use HTML to format it
26 | App.Description=$"Shows your Instagram followers"$
27 |
28 | App.Author="Blueforcer"
29 |
30 | App.CoverIcon=58
31 |
32 | 'SetupInstructions. You can use HTML to format it
33 | App.setupDescription= $"
34 | Profilename: As the name implies, your instagram profile name.
35 | "$
36 |
37 | 'How many downloadhandlers should be generated
38 | App.Downloads=1
39 |
40 | 'IconIDs from AWTRIXER.
41 | App.Icons=Array As Int(58)
42 |
43 | 'Tickinterval in ms (should be 65 by default)
44 | App.Tick=65
45 |
46 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
47 | App.Settings=CreateMap("Profilename":"")
48 |
49 | App.MakeSettings
50 | Return "AWTRIX20"
51 | End Sub
52 |
53 | ' ignore
54 | public Sub GetNiceName() As String
55 | Return App.Name
56 | End Sub
57 |
58 | ' ignore
59 | public Sub Run(Tag As String, Params As Map) As Object
60 | Return App.interface(Tag,Params)
61 | End Sub
62 |
63 |
64 | 'Called with every update from Awtrix
65 | 'return one URL for each downloadhandler
66 | Sub App_startDownload(jobNr As Int)
67 | Select jobNr
68 | Case 1
69 | App.Download("https://www.instagram.com/"&App.get("Profilename")&"/?__a=1")
70 | App.Header= CreateMap("User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36")
71 | End Select
72 | End Sub
73 |
74 |
75 | 'process the response from each download handler
76 | 'if youre working with JSONs you can use this online parser
77 | 'to generate the code automaticly
78 | 'https://json.blueforcer.de/
79 | Sub App_evalJobResponse(Resp As JobResponse)
80 | Try
81 | If Resp.success Then
82 | Select Resp.jobNr
83 | Case 1
84 | Dim jp As JSONParser
85 | jp.Initialize(Resp.ResponseString)
86 | Dim root As Map = jp.NextObject
87 | Dim graphql As Map = root.Get("graphql")
88 | Dim user As Map = graphql.Get("user")
89 | Dim edge_followed_by As Map = user.Get("edge_followed_by")
90 | Followers = edge_followed_by.Get("count")
91 | End Select
92 | End If
93 | Catch
94 | Log("Error in: "& App.Name & CRLF & LastException)
95 | Log("API response: " & CRLF & Resp.ResponseString)
96 | End Try
97 | End Sub
98 |
99 | Sub App_genFrame
100 | App.genText(Followers,True,1,Null,True)
101 | App.drawBMP(0,0,App.getIcon(58),8,8)
102 | End Sub
103 |
--------------------------------------------------------------------------------
/reddit/reddit.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim karma As Int
13 | End Sub
14 |
15 | ' ignore
16 | public Sub GetNiceName() As String
17 | Return App.name
18 | End Sub
19 |
20 | ' ignore
21 | public Sub Run(Tag As String, Params As Map) As Object
22 | Return App.interface(Tag,Params)
23 | End Sub
24 |
25 | ' Config your App
26 | Public Sub Initialize() As String
27 |
28 | 'initialize the AWTRIX class and parse the instance; dont touch this
29 | App.Initialize(Me,"App")
30 |
31 | 'App name (must be unique, no spaces)
32 | App.name = "reddit"
33 |
34 | 'Version of the App
35 | App.version = "1.0"
36 |
37 | 'Description of the App. You can use HTML to format it
38 | App.description = $"
39 | Shows your reddit Karma.
40 | "$
41 |
42 | 'The developer if this App
43 | App.author = "Blueforcer"
44 |
45 | 'Icon (ID) to be displayed in the Appstore and MyApps
46 | App.coverIcon = 207
47 |
48 |
49 | 'How many downloadhandlers should be generated
50 | App.downloads = 1
51 |
52 | 'IconIDs from AWTRIXER. You can add multiple if you need more
53 | App.icons = Array As Int(207)
54 |
55 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
56 | App.tick = 65
57 |
58 |
59 | App.InitializeOAuth("https://www.reddit.com/api/v1/authorize","https://www.reddit.com/api/v1/access_token","6cwWWPIyo4NJtQ","0kLtLu5zCDpn1zvFOFPhVrmnxcY","mysubreddits")
60 |
61 | 'ignore
62 | App.makeSettings
63 | Return "AWTRIX20"
64 | End Sub
65 |
66 |
67 | 'Called with every update from Awtrix
68 | 'return one URL for each downloadhandler
69 | Sub App_startDownload(jobNr As Int)
70 | Select jobNr
71 | Case 1
72 | App.Download("https://oauth.reddit.com/api/v1/me/karma")
73 | App.header= CreateMap("Authorization": "Bearer " & App.Token)
74 | End Select
75 | End Sub
76 |
77 | 'process the response from each download handler
78 | 'if youre working with JSONs you can use this online parser
79 | 'to generate the code automaticly
80 | 'https://json.blueforcer.de/
81 | Sub App_evalJobResponse(Resp As JobResponse)
82 | Try
83 | If Resp.success Then
84 | Select Resp.jobNr
85 | Case 1
86 | karma=0
87 | Dim parser As JSONParser
88 | parser.Initialize(Resp.ResponseString)
89 | Dim root As Map = parser.NextObject
90 | Dim data As List = root.Get("data")
91 | For Each coldata As Map In data
92 | karma = karma+ coldata.Get("comment_karma")
93 | karma = karma+ coldata.Get("link_karma")
94 | Next
95 | End Select
96 | End If
97 | Catch
98 | App.throwError(LastException)
99 | End Try
100 | End Sub
101 |
102 | 'With this sub you build your frame wtih eveery Tick.
103 | Sub App_genFrame
104 | App.genText(karma,True,1,Null,False)
105 | App.drawBMP(0,0,App.getIcon(207),8,8)
106 | End Sub
--------------------------------------------------------------------------------
/MinecraftServer/MinecraftServer.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 | Dim playersNow As Int
10 | End Sub
11 |
12 | ' ignore
13 | Public Sub Initialize() As String
14 |
15 | App.Initialize(Me,"App")
16 |
17 | 'change plugin name (must be unique, avoid spaces)
18 | App.Name="MinecraftServer"
19 |
20 | 'Version of the App
21 | App.Version="1.0"
22 |
23 | 'Description of the App. You can use HTML to format it
24 | App.Description=$"
25 | Shows the player count of a Minecraft Server
26 | Only appears if the server is online
27 | "$
28 |
29 | App.Author="Blueforcer"
30 |
31 | App.CoverIcon=172
32 |
33 | 'SetupInstructions. You can use HTML to format it
34 | App.setupDescription= $"
35 | Host: The Hostname or IP-Adress of the Minecraft server.
36 | "$
37 |
38 | 'How many downloadhandlers should be generated
39 | App.Downloads=1
40 |
41 | 'IconIDs from AWTRIXER.
42 | App.Icons=Array As Int(172)
43 |
44 | 'Tickinterval in ms (should be 65 by default)
45 | App.Tick=65
46 |
47 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
48 | App.Settings=CreateMap("Host":"hub.mcs.gg")
49 |
50 | App.MakeSettings
51 | Return "AWTRIX20"
52 | End Sub
53 | ' ignore
54 | public Sub GetNiceName() As String
55 | Return App.Name
56 | End Sub
57 |
58 | ' ignore
59 | public Sub Run(Tag As String, Params As Map) As Object
60 | Return App.interface(Tag,Params)
61 | End Sub
62 |
63 | 'Called with every update from Awtrix
64 | 'return one URL for each downloadhandler
65 | Sub App_startDownload(jobNr As Int)
66 | Select jobNr
67 | Case 1
68 | App.Download("https://mcapi.us/server/status?ip="&App.get("Host"))
69 | End Select
70 | End Sub
71 |
72 | 'process the response from each download handler
73 | 'if youre working with JSONs you can use this online parser
74 | 'to generate the code automaticly
75 | 'https://json.blueforcer.de/
76 | Sub App_evalJobResponse(Resp As JobResponse)
77 | Try
78 | If Resp.success Then
79 | Select Resp.jobNr
80 | Case 1
81 | App.ShouldShow=True
82 | Dim parser As JSONParser
83 | parser.Initialize(Resp.ResponseString)
84 | Dim root As Map = parser.NextObject
85 | Dim status As String = root.Get("status")
86 | If status="error" Then
87 | App.ShouldShow=False
88 | If root.ContainsKey("error") Then
89 | Log(root.Get("error"))
90 | End If
91 | Else
92 | Dim players As Map = root.Get("players")
93 | playersNow = players.Get("now")
94 | End If
95 | End Select
96 | End If
97 | Catch
98 | Log("Error in: "& App.Name & CRLF & LastException)
99 | Log("API response: " & CRLF & Resp.ResponseString)
100 | End Try
101 | End Sub
102 |
103 | Sub App_genFrame
104 | App.genText(playersNow,True,1,Null,False)
105 | App.drawBMP(0,0,App.getIcon(172),8,8)
106 | End Sub
107 |
--------------------------------------------------------------------------------
/Mixer/Mixer.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | Dim followers As String = "0"
11 | Dim viewers As String = "0"
12 | Dim isStreaming As Boolean
13 | Dim iconID As Int
14 | End Sub
15 |
16 | ' ignore
17 | Public Sub Initialize() As String
18 |
19 | App.Initialize(Me,"App")
20 |
21 | 'change plugin name (must be unique, avoid spaces)
22 | App.Name="Mixer"
23 |
24 | 'Version of the App
25 | App.Version="1.0"
26 |
27 | 'Description of the App. You can use HTML to format it
28 | App.Description=$"Shows your mixer subscriber count or your live viewers while youre streaming"$
29 |
30 |
31 | 'SetupInstructions. You can use HTML to format it
32 | App.setupDescription= $"
33 | Profile: Your mixer profile name.
34 | "$
35 |
36 | App.Author="Blueforcer"
37 |
38 | App.CoverIcon=489
39 |
40 | 'How many downloadhandlers should be generated
41 | App.Downloads=1
42 |
43 | 'IconIDs from AWTRIXER.
44 | App.Icons=Array As Int(489,488)
45 |
46 | 'Tickinterval in ms (should be 65 by default)
47 | App.Tick=65
48 |
49 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
50 | App.Settings=CreateMap("Profile":"")
51 |
52 | App.MakeSettings
53 | Return "AWTRIX20"
54 | End Sub
55 |
56 | ' ignore
57 | public Sub GetNiceName() As String
58 | Return App.Name
59 | End Sub
60 |
61 | ' ignore
62 | public Sub Run(Tag As String, Params As Map) As Object
63 | Return App.interface(Tag,Params)
64 | End Sub
65 |
66 | Sub App_iconRequest
67 | App.Icons=Array As Int(iconID)
68 | End Sub
69 |
70 | 'Called with every update from Awtrix
71 | 'return one URL for each downloadhandler
72 | Sub App_startDownload(jobNr As Int)
73 | Select jobNr
74 | Case 1
75 | App.Download("https://mixer.com/api/v1/channels/"&App.get("Profile"))
76 | End Select
77 | End Sub
78 |
79 | 'process the response from each download handler
80 | 'if youre working with JSONs you can use this online parser
81 | 'to generate the code automaticly
82 | 'https://json.blueforcer.de/
83 | Sub App_evalJobResponse(Resp As JobResponse)
84 | Try
85 | If Resp.success Then
86 | Select Resp.jobNr
87 | Case 1
88 | isStreaming=False
89 | Dim parser As JSONParser
90 | parser.Initialize(Resp.ResponseString)
91 | Dim root As Map = parser.NextObject
92 | followers = root.Get("numFollowers")
93 | If root.Get("online") Then
94 | isStreaming=True
95 | iconID=489
96 | viewers = root.Get("viewersCurrent")
97 | Else
98 | iconID=488
99 | End If
100 | End Select
101 | End If
102 | Catch
103 | Log("Error in: "& App.Name & CRLF & LastException)
104 | Log("API response: " & CRLF & Resp.ResponseString)
105 | End Try
106 | End Sub
107 |
108 | Sub App_genFrame
109 | If isStreaming Then
110 | App.genText(viewers,True,1,Null,False)
111 | App.drawBMP(0,0,App.getIcon(iconID),8,8)
112 | Else
113 | App.genText(followers,True,1,Null,False)
114 | App.drawBMP(0,0,App.getIcon(iconID),8,8)
115 | End If
116 | End Sub
--------------------------------------------------------------------------------
/HappyBirthday/HappyBirthday.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | Dim repeats As Int
12 | Dim displayTyp As Int
13 | Dim birthdayText As String
14 | End Sub
15 |
16 | ' ignore
17 | public Sub GetNiceName() As String
18 | Return App.name
19 | End Sub
20 |
21 | ' ignore
22 | public Sub Run(Tag As String, Params As Map) As Object
23 | Return App.interface(Tag,Params)
24 | End Sub
25 |
26 | ' Config your App
27 | Public Sub Initialize() As String
28 |
29 | 'initialize the AWTRIX class and parse the instance; dont touch this
30 | App.Initialize(Me,"App")
31 |
32 | 'App name (must be unique, no spaces)
33 | App.name = "HappyBirthday"
34 |
35 | 'Version of the App
36 | App.version = "1.2"
37 |
38 | 'Description of the App. You can use HTML to format it
39 | App.description = $"Shows birthday congratulations"$
40 |
41 | 'The developer if this App
42 | App.author = "jzech"
43 |
44 | 'Icon (ID) to be displayed in the Appstore and MyApps
45 | App.coverIcon = 1302
46 |
47 | 'Setup Instructions. You can use HTML to format it
48 | App.setupDescription = $"
49 | Name: Name of birthday persond
50 | "$
51 |
52 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
53 | App.Settings=CreateMap("Name":"jzech")
54 |
55 | 'define some tags to simplify the search in the Appstore
56 | App.tags = Array As String("Happy Birthday", "Congratulation")
57 |
58 | 'How many downloadhandlers should be generated
59 | App.downloads = 0
60 |
61 | 'IconIDs from AWTRIXER. You can add multiple if you need more
62 | App.icons = Array As Int(1302)
63 |
64 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
65 | App.tick = 65
66 |
67 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
68 | App.lock = False
69 |
70 | 'This tolds AWTRIX that this App is an Game.
71 | App.isGame = False
72 |
73 | 'If set to true, AWTRIX will download new data before each start.
74 | App.forceDownload = False
75 |
76 | 'ignore
77 | App.makeSettings
78 | Return "AWTRIX20"
79 | End Sub
80 |
81 | 'this sub is called right before AWTRIX will display your App
82 | Sub App_Started
83 | displayTyp = 1
84 | repeats = 0
85 | birthdayText = "Happy Birthday " & App.get("Name")
86 | End Sub
87 |
88 | 'If the user change any Settings in the webinterface, this sub will be called
89 | Sub App_settingsChanged
90 | birthdayText = "Happy Birthday " & App.get("Name")
91 | End Sub
92 |
93 | 'With this sub you build your frame wtih eveery Tick.
94 | Sub App_genFrame
95 | Dim count As Int
96 | If (displayTyp > 0) Then
97 | count = App.showMulticolorText(1302, birthdayText,1, App.rainbowList)
98 | Else
99 | count = App.showMulticolorFalling(1302, birthdayText, App.rainbowList, True)
100 | End If
101 |
102 | If (count = 0) Then repeats = repeats + 1
103 | If (repeats > 1) Then
104 | App.resetLocalTickCount
105 | repeats = 0
106 | displayTyp = -1 * displayTyp
107 | End If
108 | End Sub
109 |
110 |
111 |
--------------------------------------------------------------------------------
/Facebook/Facebook.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | 'necessary variable declaration
11 | Dim likes As String ="="
12 | End Sub
13 |
14 |
15 | ' ignore
16 | Public Sub Initialize() As String
17 |
18 | App.Initialize(Me,"App")
19 |
20 | 'change plugin name (must be unique, avoid spaces)
21 | App.Name="Facebook"
22 |
23 | 'Version of the App
24 | App.Version="1.1"
25 |
26 | 'Description of the App. You can use HTML to format it
27 | App.Description=$"Shows the likes of your Facebook page."$
28 |
29 | App.Author="Blueforcer"
30 |
31 | App.CoverIcon=584
32 |
33 | 'SetupInstructions. You can use HTML to format it
34 | App.setupDescription= $"
35 | PageID:
Get your facebook PageID from https://findmyfbid.com/
36 | "$
37 |
38 | 'How many downloadhandlers should be generated
39 | App.Downloads=1
40 |
41 | 'IconIDs from AWTRIXER.
42 | App.Icons=Array As Int(584)
43 |
44 | 'Tickinterval in ms (should be 65 by default)
45 | App.Tick=65
46 | App.InitializeOAuth("https://www.facebook.com/v4.0/dialog/oauth","https://graph.facebook.com/oauth/access_token","413044212451682","1b83bfa010904e1a18267c5845f59efe","public_profile")
47 |
48 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
49 | App.Settings=CreateMap("PageID":"")
50 |
51 | App.MakeSettings
52 | Return "AWTRIX20"
53 | End Sub
54 |
55 | ' ignore
56 | public Sub GetNiceName() As String
57 | Return App.Name
58 | End Sub
59 |
60 | ' ignore
61 | public Sub Run(Tag As String, Params As Map) As Object
62 | Return App.interface(Tag,Params)
63 | End Sub
64 |
65 | 'Called with every update from Awtrix
66 | 'return one URL for each downloadhandler
67 | Sub App_startDownload(jobNr As Int)
68 | Select jobNr
69 | Case 1
70 | App.Download("https://graph.facebook.com/v3.2/?ids="&App.Get("PageID")&"&fields=fan_count&access_token="&App.Token)
71 | End Select
72 | End Sub
73 |
74 | 'process the response from each download handler
75 | 'if youre working with JSONs you can use this online parser
76 | 'to generate the code automaticly
77 | 'https://json.blueforcer.de/
78 | Sub App_evalJobResponse(Resp As JobResponse)
79 | Try
80 | If Resp.success Then
81 | Select Resp.jobNr
82 | Case 1
83 | Try
84 | Dim parser As JSONParser
85 | parser.Initialize(Resp.ResponseString)
86 | Dim root As Map = parser.NextObject
87 | Dim api As Map = root.Get(App.get("PageID"))
88 | likes = api.Get("fan_count")
89 | Catch
90 | Log("Error in: "& App.Name & CRLF & LastException)
91 | Log("API response: "& CRLF & Resp.ResponseString)
92 | End Try
93 | End Select
94 | End If
95 | Catch
96 | Log("Error in: "& App.Name & CRLF & LastException)
97 | Log("API response: " & CRLF & Resp.ResponseString)
98 | End Try
99 | End Sub
100 |
101 | 'Generates the frame to be displayed.
102 | 'this function is called every tick
103 | Sub App_genFrame
104 | App.genText(likes,True,1,Null,True)
105 | App.drawBMP(0,0,App.getIcon(584),8,8)
106 | End Sub
--------------------------------------------------------------------------------
/RocketLaunch/RocketLaunch.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim RocketName As String
13 | Dim TimeString As String
14 | End Sub
15 |
16 | ' ignore
17 | public Sub GetNiceName() As String
18 | Return App.Name
19 | End Sub
20 |
21 | ' ignore
22 | public Sub Run(Tag As String, Params As Map) As Object
23 | Return App.interface(Tag,Params)
24 | End Sub
25 |
26 | ' Config your App
27 | Public Sub Initialize() As String
28 |
29 | App.Initialize(Me,"App")
30 |
31 | 'App name (must be unique, avoid spaces)
32 | App.Name="RocketLaunch"
33 |
34 | 'Version of the App
35 | App.Version="1.0"
36 |
37 | 'Description of the App. You can use HTML to format it
38 | App.Description="Show next rocket launch"
39 |
40 | App.Author="Blueforcer"
41 |
42 | App.CoverIcon=671
43 |
44 | 'How many downloadhandlers should be generated
45 | App.downloads=1
46 |
47 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
48 | App.Icons=Array As Int(671)
49 |
50 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
51 | App.Tick=65
52 |
53 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
54 | App.Lock=True
55 |
56 | App.MakeSettings
57 | Return "AWTRIX20"
58 | End Sub
59 |
60 | 'Called with every update from Awtrix
61 | 'return one URL for each downloadhandler
62 | Sub App_startDownload(jobNr As Int)
63 | Select jobNr
64 | Case 1
65 | App.Download("https://launchlibrary.net/1.4/launch/next/1")
66 | End Select
67 | End Sub
68 |
69 | 'process the response from each download handler
70 | 'if youre working with JSONs you can use this online parser
71 | 'to generate the code automaticly
72 | 'https://json.blueforcer.de/
73 | Sub App_evalJobResponse(Resp As JobResponse)
74 | Try
75 | If Resp.success Then
76 | Select Resp.jobNr
77 | Case 1
78 | Dim parser As JSONParser
79 | parser.Initialize(Resp.ResponseString)
80 | Dim root As Map = parser.NextObject
81 | Dim launches As List = root.Get("launches")
82 | For Each collaunches As Map In launches
83 | Dim netstamp As Long = collaunches.Get("netstamp")
84 |
85 | Dim rocket As Map = collaunches.Get("rocket")
86 | RocketName = rocket.Get("name")
87 | Dim p As Period=DateUtils.PeriodBetween(DateTime.Now,netstamp*1000)
88 | TimeString=p.Days & "D " & p.Hours & "H " & p.Minutes & "M "& p.Seconds& "S"
89 | Next
90 | End Select
91 | End If
92 | Catch
93 | Log("Error in: "& App.Name & CRLF & LastException)
94 | Log("API response: " & CRLF & Resp.ResponseString)
95 | End Try
96 | End Sub
97 |
98 | 'With this sub you build your frame.
99 | Sub App_genFrame
100 | App.genText(RocketName& " T-0: " & TimeString,True,1,Null,True)
101 |
102 | If App.scrollposition>9 Then
103 | App.drawBMP(0,0,App.getIcon(671),8,8)
104 | Else
105 | If App.scrollposition>-8 Then
106 | App.drawBMP(App.scrollposition-9,0,App.getIcon(671),8,8)
107 | End If
108 | End If
109 | End Sub
--------------------------------------------------------------------------------
/BlogViews/BlogViews.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim followers As Int = 0
13 | Dim iconId As Int = 8
14 | End Sub
15 |
16 | ' ignore
17 | public Sub GetNiceName() As String
18 | Return App.Name
19 | End Sub
20 |
21 | ' ignore
22 | public Sub Run(Tag As String, Params As Map) As Object
23 | Return App.interface(Tag,Params)
24 | End Sub
25 |
26 | ' Config your App
27 | Public Sub Initialize() As String
28 |
29 | App.Initialize(Me,"App")
30 |
31 | 'App name (must be unique, avoid spaces)
32 | App.Name="BlogViews"
33 |
34 | 'Version of the App
35 | App.Version="1.0"
36 |
37 | 'Description of the App. You can use HTML to format it
38 | App.Description=$"Shows your website unique visitor on busuanzi statistical tools"$
39 |
40 | App.Author="JoyLau"
41 |
42 | App.CoverIcon=iconId
43 |
44 | 'SetupInstructions. You can use HTML to format it
45 | App.setupDescription= $"
46 | Website: Your Website Address
47 | IconID: Icon id
48 | "$
49 |
50 | 'How many downloadhandlers should be generated
51 | App.Downloads=1
52 |
53 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
54 | App.Icons=Array As Int(iconId)
55 |
56 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))p://
57 | App.Tick=65
58 |
59 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
60 | App.settings=CreateMap("Website":"http://blog.joylau.cn","IconID":iconId)
61 |
62 | App.MakeSettings
63 | Return "AWTRIX20"
64 | End Sub
65 |
66 | 'this sub is called right before AWTRIX will display your App
67 | Sub App_Started
68 |
69 | End Sub
70 |
71 | 'Called with every update from Awtrix
72 | 'return one URL for each downloadhandler
73 | Sub App_startDownload(jobNr As Int)
74 | Select jobNr
75 | Case 1
76 | App.Download("http://busuanzi.ibruce.info/busuanzi?jsonpCallback=callback")
77 | App.Header = CreateMap("Referer":App.Get("Website"),"Cookie":"busuanziId=D58737A150864C68B83F962028616CD6")
78 | End Select
79 | End Sub
80 |
81 | 'process the response from each download handler
82 | 'if youre working with JSONs you can use this online parser
83 | 'to generate the code automaticly
84 | 'https://json.blueforcer.de/
85 | Sub App_evalJobResponse(Resp As JobResponse)
86 | Try
87 | If Resp.success Then
88 | Select Resp.jobNr
89 | Case 1
90 | Dim parser As JSONParser
91 | parser.Initialize(Resp.ResponseString.replace("try{callback(","").replace(");}catch(e){}",""))
92 | Dim root As Map = parser.NextObject
93 | followers = root.Get("site_uv")
94 | End Select
95 | End If
96 | Catch
97 | Log("Error in: "& App.Name & CRLF & LastException)
98 | Log("API response: " & CRLF & Resp.ResponseString)
99 | End Try
100 | End Sub
101 |
102 | 'this sub is called right before AWTRIX will display your App
103 | Sub App_iconRequest
104 | App.Icons=Array As Int(App.Get("IconID"))
105 | End Sub
106 |
107 | 'With this sub you build your frame.
108 | Sub App_genFrame
109 | App.genSimpleFrame(followers,App.Get("IconID"),True,False,Null,True)
110 | End Sub
--------------------------------------------------------------------------------
/Crypto/Crypto.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 | Private price As String ="0"
10 | End Sub
11 |
12 | ' Config your App
13 | Public Sub Initialize() As String
14 |
15 | App.Initialize(Me,"App")
16 |
17 | 'App name (must be unique, avoid spaces)
18 | App.Name="Crypto"
19 |
20 | 'Version of the App
21 | App.Version="1.0"
22 |
23 | 'Description of the App. You can use HTML to format it
24 | App.Description=$"
25 | Shows prices for any cryptocurrency. Set your desired Coin and your currency
26 | Powered by cryptonator.com
27 | "$
28 |
29 | App.Author="Blueforcer"
30 |
31 | App.CoverIcon=240
32 |
33 | 'SetupInstructions. You can use HTML to format it
34 | App.setupDescription= $"
35 | Coin: Base currency code e.g. (btc, xrp ...).
36 | Currency: Target currency code e.g. (eur, usd ...).
37 | IconID: Choose your desired IconID from AWTRIXER.
38 | "$
39 |
40 | 'How many downloadhandlers should be generated
41 | App.Downloads=1
42 |
43 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
44 | App.Icons=Array As Int(240)
45 |
46 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
47 | App.Tick=65
48 |
49 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
50 | App.Settings=CreateMap("Coin":"","Currency":"","IconID":240)
51 |
52 | App.MakeSettings
53 | Return "AWTRIX20"
54 | End Sub
55 |
56 | ' ignore
57 | public Sub GetNiceName() As String
58 | Return App.Name
59 | End Sub
60 |
61 | ' ignore
62 | public Sub Run(Tag As String, Params As Map) As Object
63 | Return App.interface(Tag,Params)
64 | End Sub
65 |
66 | 'this sub is called right before AWTRIX will display your App
67 | Sub App_iconRequest
68 | App.Icons=Array As Int(App.get("IconID"))
69 | End Sub
70 |
71 | 'Called with every update from Awtrix
72 | 'return one URL for each downloadhandler
73 | Sub App_startDownload(jobNr As Int)
74 | Select jobNr
75 | Case 1
76 | App.Download("https://api.cryptonator.com/api/ticker/"&App.Get("Coin")&"-"&App.Get("Currency"))
77 | End Select
78 | End Sub
79 |
80 | 'process the response from each download handler
81 | 'if youre working with JSONs you can use this online parser
82 | 'to generate the code automaticly
83 | 'https://json.blueforcer.de/
84 | Sub App_evalJobResponse(Resp As JobResponse)
85 | Try
86 | If Resp.success Then
87 | Select Resp.jobNr
88 | Case 1
89 | Dim parser As JSONParser
90 | parser.Initialize(Resp.ResponseString)
91 | Dim root As Map = parser.NextObject
92 | Dim ticker As Map = root.Get("ticker")
93 | Dim pric As Double = ticker.Get("price")
94 | If pric < 100 Then
95 | price=NumberFormat2(pric,1,2,0,False)
96 | Else
97 | price=NumberFormat2(pric,1,0,0,False)
98 | End If
99 | End Select
100 | End If
101 | Catch
102 | Log("Error in: "& App.Name & CRLF & LastException)
103 | Log("API response: " & CRLF & Resp.ResponseString)
104 | End Try
105 | End Sub
106 |
107 | Sub App_genFrame
108 | App.genText(price,True,1,Null,True)
109 | App.drawBMP(0,0,App.getIcon(App.get("IconID")),8,8)
110 | End Sub
--------------------------------------------------------------------------------
/NeteaseMusic/NeteaseMusic.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim scroll As Int
13 | Dim fans As String ="0"
14 | Dim nums As String ="0"
15 | End Sub
16 |
17 | ' ignore
18 | public Sub GetNiceName() As String
19 | Return App.Name
20 | End Sub
21 |
22 | ' ignore
23 | public Sub Run(Tag As String, Params As Map) As Object
24 | Return App.interface(Tag,Params)
25 | End Sub
26 |
27 | ' Config your App
28 | Public Sub Initialize() As String
29 |
30 | App.Initialize(Me,"App")
31 |
32 | 'App name (must be unique, avoid spaces)
33 | App.name="NeteaseMusic"
34 |
35 | 'Version of the App
36 | App.version="1.0"
37 |
38 | 'Description of the App. You can use HTML to format it
39 | App.description="Shows your netease music fans and total listened music number"
40 |
41 | App.author="UniqueDing"
42 |
43 | App.coverIcon = 1296
44 |
45 | 'How many downloadhandlers should be generated
46 | App.Downloads=1
47 |
48 | 'SetupInstructions. You can use HTML to format it
49 | App.setupDescription= $"
50 | MID:
51 |
52 | - Go to https://music.163.com/
53 | - Login your Netease Music and go to personal page
54 | - and url will be https://music.163.com/#/user/home?id=XXXXXXX
55 | - XXXXXXX is your MID
56 |
57 | "$
58 |
59 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
60 | App.icons=Array As Int(1295,1296)
61 |
62 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
63 | App.Settings=CreateMap("MID":"")
64 |
65 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
66 | App.tick=65
67 |
68 | App.MakeSettings
69 | Return "AWTRIX20"
70 | End Sub
71 |
72 | Sub App_Started
73 | scroll=1
74 | End Sub
75 |
76 | 'Called with every update from Awtrix
77 | 'return one URL for each downloadhandler
78 | Sub App_startDownload(jobNr As Int)
79 | Select jobNr
80 | Case 1
81 | App.Download("http://awtrix.uniqueding.cn/neteasemusic/"&App.Get("MID"))
82 | End Select
83 |
84 | End Sub
85 |
86 | Sub App_evalJobResponse(Resp As JobResponse)
87 | Try
88 | If Resp.success Then
89 | Select Resp.jobNr
90 | Case 1
91 | Dim parser As JSONParser
92 | parser.Initialize(Resp.ResponseString)
93 | Dim root As Map = parser.NextObject
94 | fans = root.Get("fans")
95 | nums = root.Get("music_num")
96 | End Select
97 | End If
98 | Catch
99 | Log("Error in: "& App.Name & CRLF & LastException)
100 | Log("API response: " & CRLF & Resp.ResponseString)
101 | End Try
102 | End Sub
103 |
104 | 'With this sub you build your frame.
105 | Sub App_genFrame
106 | If App.startedAt
30 | powered by Tianqiapi.com
31 | "$
32 |
33 | App.author="Lemon"
34 |
35 | 'SetupInstructions. You can use HTML to format it
36 | App.setupDescription= $"
37 | 写城市名就完事咯嗷。
38 | "$
39 |
40 | App.coverIcon=473
41 |
42 | 'How many downloadhandlers should be generated
43 | App.Downloads=1
44 |
45 | 'IconIDs from AWTRIXER.
46 | App.Icons=Array(487)
47 |
48 | 'Tickinterval in ms (should be 65 by default)
49 | App.tick=65
50 |
51 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
52 | App.Settings=CreateMap("CityName":"广州")
53 |
54 | App.MakeSettings
55 | Return "AWTRIX20"
56 | End Sub
57 |
58 | ' ignore
59 | public Sub GetNiceName() As String
60 | Return App.name
61 | End Sub
62 |
63 | ' ignore
64 | public Sub Run(Tag As String, Params As Map) As Object
65 | Return App.interface(Tag,Params)
66 | End Sub
67 |
68 | Sub App_iconRequest
69 | App.Icons=Array As Int(iconID)
70 | End Sub
71 |
72 | 'Called with every update from Awtrix
73 | 'return one URL for each downloadhandler
74 | Sub App_startDownload(jobNr As Int)
75 | Select jobNr
76 | Case 1
77 | App.Download("https://www.tianqiapi.com/api/?city="&App.get("CityName"))
78 | End Select
79 | End Sub
80 |
81 | 'process the response from each download handler
82 | 'if youre working with JSONs you can use this online parser
83 | 'to generate the code automaticly
84 | 'https://json.blueforcer.de/
85 | Sub App_evalJobResponse(Resp As JobResponse)
86 | Try
87 | If Resp.success Then
88 | Select Resp.jobNr
89 | Case 1
90 | Dim parser As JSONParser
91 | parser.Initialize(Resp.ResponseString)
92 | Dim root As Map = parser.NextObject
93 | Dim MainMap As List = root.Get("data")
94 | Dim t0 As Map = MainMap.Get("0")
95 | Dim t1 As String = t0.Get("tem")
96 | temp = t1 & "°C"
97 |
98 | Dim colweather As String = t0.Get("wea_img")
99 | iconID=getIconID(colweather)
100 | End Select
101 | End If
102 | Catch
103 | Log("Error in: "& App.Name & CRLF & LastException)
104 | Log("API response: " & CRLF & Resp.ResponseString)
105 | End Try
106 | End Sub
107 |
108 |
109 | Sub App_genFrame
110 | App.genText(temp,True,1,Null,False)
111 | App.drawBMP(0,0,App.getIcon(iconID),8,8)
112 | End Sub
113 |
114 | Sub getIconID (ico As String)As Int
115 | Select ico
116 | 'Day
117 | Case "qing"
118 | Return 349 'sunny
119 | Case "yun"
120 | Return 486 'cloudy
121 | Case "lei"
122 | Return 346 'rainy
123 | Case "yu"
124 | Return 346 'rainy
125 | Case Else
126 | Log("Error from weatherApp:")
127 | Log("Icon " & ico & " not found!")
128 | Return 487
129 | End Select
130 |
131 |
132 | End Sub
133 |
--------------------------------------------------------------------------------
/News/News.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | Dim sb As StringBuilder
11 | End Sub
12 |
13 | Public Sub Initialize() As String
14 |
15 | App.Initialize(Me,"App")
16 |
17 | 'change plugin name (must be unique, avoid spaces)
18 | App.Name="News"
19 |
20 | 'Version of the App
21 | App.Version="1.2"
22 |
23 | 'Description of the App. You can use HTML to format it
24 | App.Description=$"
25 | Provides live top and breaking headlines for your country.
26 | Powered by NewsAPI.org
27 | "$
28 |
29 | 'SetupInstructions. You can use HTML to format it
30 | App.setupDescription= $"
31 | APIkey: Get your API-Key from https://newsapi.org/
32 | Country: Countrycode e.g "de"
33 | maxNews: maximum number of headlines you want do read.
34 | "$
35 |
36 | App.Author="Blueforcer"
37 |
38 | App.CoverIcon=585
39 |
40 | 'How many downloadhandlers should be generated
41 | App.Downloads=1
42 |
43 | 'IconIDs from AWTRIXER.
44 | App.Icons=Array As Int(585)
45 |
46 | 'Tickinterval in ms (should be 65 by default)
47 | App.Tick=65
48 |
49 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
50 | App.Lock=True
51 |
52 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
53 | App.Settings=CreateMap("Country":"de","APIkey":"","maxNews":2)
54 |
55 | App.MakeSettings
56 | Return "AWTRIX20"
57 | End Sub
58 |
59 | ' ignore
60 | public Sub GetNiceName() As String
61 | Return App.Name
62 | End Sub
63 |
64 | ' ignore
65 | public Sub Run(Tag As String, Params As Map) As Object
66 | Return App.interface(Tag,Params)
67 | End Sub
68 |
69 | Public Sub AppStarted
70 |
71 | End Sub
72 |
73 | 'Called with every update from Awtrix
74 | 'return one URL for each downloadhandler
75 | Sub App_startDownload(jobNr As Int)
76 | Select jobNr
77 | Case 1
78 | App.Download("https://newsapi.org/v2/top-headlines?country="&App.get("Country")&"&pageSize="&App.get("maxNews")&"&apiKey="&App.get("APIkey"))
79 | End Select
80 | End Sub
81 |
82 | 'process the response from each download handler
83 | 'if youre working with JSONs you can use this online parser
84 | 'to generate the code automaticly
85 | 'https://json.blueforcer.de/
86 | Sub App_evalJobResponse(Resp As JobResponse)
87 | Try
88 | If Resp.success Then
89 | Select Resp.jobNr
90 | Case 1
91 | sb.Initialize
92 | Dim parser As JSONParser
93 | parser.Initialize(Resp.ResponseString)
94 | Dim root As Map = parser.NextObject
95 | Dim articles As List = root.Get("articles")
96 | For Each colarticles As Map In articles
97 | Dim title As String = colarticles.Get("title")
98 | sb.Append(title)
99 | sb.Append(" ")
100 | Next
101 | End Select
102 | End If
103 | Catch
104 | Log("Error in: "& App.Name & CRLF & LastException)
105 | Log("API response: " & CRLF & Resp.ResponseString)
106 | End Try
107 | End Sub
108 |
109 | Sub App_genFrame
110 | App.genText(sb.ToString,True,1,Null,True)
111 |
112 | If App.scrollposition>9 Then
113 | App.drawBMP(0,0,App.getIcon(585),8,8)
114 | Else
115 | If App.scrollposition>-8 Then
116 | App.drawBMP(App.scrollposition-9,0,App.getIcon(585),8,8)
117 | End If
118 | End If
119 | End Sub
120 |
--------------------------------------------------------------------------------
/Countdown/Countdown.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=7.31
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 | End Sub
10 |
11 | ' Config your App
12 | Public Sub Initialize() As String
13 |
14 | App.Initialize(Me,"App")
15 |
16 | 'App name (must be unique, avoid spaces)
17 | App.Name="Countdown"
18 |
19 | 'Version of the App
20 | App.Version="1.1"
21 |
22 | 'Description of the App. You can use HTML to format it
23 | App.Description=$"Shows the remaining days from now to a target date"$
24 |
25 | App.Author="0o.y.o0"
26 |
27 | App.CoverIcon=68
28 |
29 | 'SetupInstructions. You can use HTML to format it
30 | App.setupDescription= $"
31 | Date: Target date (Format: dd.mm.yyyy).
32 | IconID: Choose your desired IconID from AWTRIXER.
33 | Identifier: Enter your desired translation for "days,day" Example: Tage,Tag.
34 | "$
35 |
36 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
37 | App.Icons=Array As Int(62)
38 |
39 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
40 | App.Tick=65
41 |
42 |
43 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
44 | App.Settings=CreateMap("Date":"01.01.2000", "Identifier":"Days,Day", "IconID":62)
45 |
46 | App.MakeSettings
47 | Return "AWTRIX20"
48 | End Sub
49 |
50 | ' ignore
51 | public Sub GetNiceName() As String
52 | Return App.Name
53 | End Sub
54 |
55 | Sub App_Started
56 |
57 | End Sub
58 |
59 |
60 | ' ignore
61 | public Sub Run(Tag As String, Params As Map) As Object
62 | Return App.interface(Tag,Params)
63 | End Sub
64 |
65 | 'this sub is called right before AWTRIX will display your App
66 | Sub App_iconRequest
67 | App.Icons=Array As Int(App.Get("IconID"))
68 | End Sub
69 |
70 | 'is called every tick, generates the commandlist (drawingroutines) and send it to awtrix
71 | Sub App_genFrame
72 | App.genText(CountedDays,True,1,Null,True)
73 | App.drawBMP(0,0,App.getIcon(App.Get("IconID")),8,8)
74 | End Sub
75 |
76 |
77 | Sub CountedDays As String
78 | Dim AmountOfDays As String
79 | Dim Diff As Int
80 | Dim PerDiff As Period
81 |
82 | '----------------separate identifiers ------------------------
83 | Dim separatedIdentifier() As String
84 | separatedIdentifier=Regex.split(",",App.Get("Identifier"))
85 |
86 | '----------------calculate difference ------------------------
87 | DateTime.DateFormat = "dd.MM.yyyy"
88 | PerDiff = DateUtils.PeriodBetweenInDays(DateTime.now, DateTime.DateParse(App.Get("Date")))
89 | Diff= PerDiff.Days
90 |
91 | '----------------process result ------------------------
92 | If Diff >=0 Then AmountOfDays = Diff +1 'we have to add one day since the current day is missing
93 |
94 | If Diff < 0 Then AmountOfDays = "0" 'we set the amount of days to zero here too
95 |
96 | If App.Get("Date") = DateTime.Date(DateTime.now) Then AmountOfDays = Diff 'we set the amount of days to zero because the target date is today
97 |
98 | '----------------select identifier ------------------------
99 | Dim IdentifierId As Int
100 |
101 | If AmountOfDays > 1 Then IdentifierId = 0
102 | If AmountOfDays = 1 Then IdentifierId = 1
103 | If AmountOfDays = 0 Then IdentifierId = 0
104 | AmountOfDays = AmountOfDays & " " & separatedIdentifier(IdentifierId)
105 |
106 | Return AmountOfDays
107 | End Sub
--------------------------------------------------------------------------------
/Wetterdienst/Wetterdienst.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 | Dim sb As StringBuilder
10 | End Sub
11 |
12 |
13 | '' Config your App
14 | Public Sub Initialize() As String
15 | sb.Initialize
16 | App.Initialize(Me,"App")
17 |
18 | 'App name (must be unique, avoid spaces)
19 | App.Name="Wetterdienst"
20 |
21 | 'Version of the App
22 | App.Version="1.1"
23 |
24 | 'Description of the App. You can use HTML to format it
25 | App.Description=$"
26 | Displays weather-warnings of Deutscher Wetterdienst
27 | Only appears if there is at least one warning
28 | "$
29 |
30 | App.Author="Blueforcer"
31 |
32 | App.CoverIcon=521
33 |
34 | 'SetupInstructions. You can use HTML to format it
35 | App.setupDescription= $"
36 | CellID: Warncell-ID von https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv/
37 | "$
38 |
39 | 'How many downloadhandlers should be generated
40 | App.Downloads=1
41 |
42 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
43 | App.Icons=Array As Int(521)
44 |
45 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
46 | App.Tick=65
47 |
48 | App.lock=True
49 |
50 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
51 | App.settings=CreateMap("CellID":"")
52 |
53 | App.MakeSettings
54 | Return "AWTRIX20"
55 | End Sub
56 |
57 | ' ignore
58 | public Sub GetNiceName() As String
59 | Return App.name
60 | End Sub
61 |
62 | ' ignore
63 | public Sub Run(Tag As String, Params As Map) As Object
64 | Return App.interface(Tag,Params)
65 | End Sub
66 |
67 |
68 | 'Called with every update from Awtrix
69 | 'return one URL for each downloadhandler
70 | Sub App_startDownload(jobNr As Int)
71 | Select jobNr
72 | Case 1
73 | App.Download("https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json")
74 | End Select
75 | End Sub
76 |
77 | 'process the response from each download handler
78 | 'if youre working with JSONs you can use this online parser
79 | 'to generate the code automaticly
80 | 'https://json.blueforcer.de/
81 | Sub App_evalJobResponse(Resp As JobResponse)
82 | Try
83 | If Resp.success Then
84 | Select Resp.jobNr
85 | Case 1
86 | sb.Initialize
87 | Dim parser As JSONParser
88 | parser.Initialize(Resp.ResponseString.Replace(");","").Replace("warnWetter.loadWarnings(",""))
89 | Dim root As Map = parser.NextObject
90 | Dim warnings As Map = root.Get("warnings")
91 | If warnings.ContainsKey(App.get("CellID")) Then
92 | App.ShouldShow=True
93 | Dim weather As List = warnings.Get(App.get("CellID"))
94 | Dim count As Int = 1
95 | For Each col As Map In weather
96 | sb.Append(count & ". " & col.Get("headline") & " ")
97 | count=count+1
98 | Next
99 |
100 | Else
101 | App.ShouldShow=False
102 | End If
103 | End Select
104 | End If
105 | Catch
106 | Log("Error in: "& App.Name & CRLF & LastException)
107 | Log("API response: " & CRLF & Resp.ResponseString)
108 | End Try
109 | End Sub
110 |
111 | Sub App_genFrame
112 | App.genText(sb.ToString,True,1,Null,True)
113 | If App.scrollposition>9 Then
114 | App.drawBMP(0,0,App.getIcon(521),8,8)
115 | Else
116 | If App.scrollposition>-8 Then
117 | App.drawBMP(App.scrollposition-9,0,App.getIcon(521),8,8)
118 | End If
119 | End If
120 | End Sub
121 |
--------------------------------------------------------------------------------
/Youtube/Youtube.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 | Dim subs As String ="0"
10 | End Sub
11 |
12 | ' Config your App
13 | Public Sub Initialize() As String
14 |
15 | App.Initialize(Me,"App")
16 |
17 | 'App name (must be unique, avoid spaces)
18 | App.Name="Youtube"
19 |
20 | 'Version of the App
21 | App.Version="1.1"
22 |
23 | 'Description of the App. You can use HTML to format it
24 | App.Description="Shows your Youtube subscriber count."
25 |
26 | 'SetupInstructions. You can use HTML to format it
27 | App.setupDescription= $"
28 | APIKey:
29 |
30 | - Go to https://console.developers.google.com/apis/library
31 | - Log in with your Google account.
32 | - Next to the logo click on 'Project' and 'Create project'. Name it whatever you want and click on 'Create'.
33 | - Wait until the project is created, the page will switch to it by itself, it will take a couple of seconds up to a minute. Once it's done it will be selected next to the logo.
34 | - Once it's created and selected, click on 'Credentials' from the menu on the left.
35 | - Click on 'Create Credentials' and choose 'API Key'.
36 | - Copy your API KEY
37 |
38 | ChannelID:
Login to YouYube website and select 'My channel'. You will get the ID from the page adress afer /Channel/. e.g. https://www.youtube.com/channel/UCpGLALzRO0uaasWTsm9M99w
39 | "$
40 |
41 | App.Author="Blueforcer"
42 |
43 | App.CoverIcon=155
44 |
45 | 'How many downloadhandlers should be generated
46 | App.Downloads=1
47 |
48 | 'IconIDs from AWTRIXER. You can add multiple if you want to display them at the same time
49 | App.Icons=Array As Int(155)
50 |
51 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
52 | App.Tick=65
53 |
54 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
55 | App.Settings=CreateMap("APIKey":"","ChannelID":"")
56 |
57 | App.MakeSettings
58 | Return "AWTRIX20"
59 | End Sub
60 |
61 | ' ignore
62 | public Sub GetNiceName() As String
63 | Return App.Name
64 | End Sub
65 |
66 | ' ignore
67 | public Sub Run(Tag As String, Params As Map) As Object
68 | Return App.interface(Tag,Params)
69 | End Sub
70 |
71 |
72 | 'Called with every update from Awtrix
73 | 'return one URL for each downloadhandler
74 | Sub App_startDownload(jobNr As Int)
75 | Select jobNr
76 | Case 1
77 | App.Download("https://content.googleapis.com/youtube/v3/channels?part=statistics&id="&App.get("ChannelID")&"&key="&App.get("APIKey"))
78 | End Select
79 | End Sub
80 |
81 | 'process the response from each download handler
82 | 'if youre working with JSONs you can use this online parser
83 | 'to generate the code automaticly
84 | 'https://json.blueforcer.de/
85 | Sub App_evalJobResponse(Resp As JobResponse)
86 | Try
87 | If Resp.success Then
88 | Select Resp.jobNr
89 | Case 1
90 | Dim parser As JSONParser
91 | parser.Initialize(Resp.ResponseString)
92 | Dim root As Map = parser.NextObject
93 | Dim items As List = root.Get("items")
94 | For Each colitems As Map In items
95 | Dim statistics As Map = colitems.Get("statistics")
96 | subs = statistics.Get("subscriberCount")
97 | Next
98 | End Select
99 | End If
100 | Catch
101 | Log("Error in: "& App.Name & CRLF & LastException)
102 | Log("API response: " & CRLF & Resp.ResponseString)
103 | End Try
104 | End Sub
105 |
106 | Sub App_genFrame
107 | App.genText(subs.Replace(",",""),True,1,Null,True)
108 | App.drawBMP(0,0,App.getIcon(155),8,8)
109 | End Sub
--------------------------------------------------------------------------------
/TikTok/TikTok.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 | Dim Followers As String
11 | End Sub
12 |
13 | ' ignore
14 | public Sub GetNiceName() As String
15 | Return App.name
16 | End Sub
17 |
18 | ' ignore
19 | public Sub Run(Tag As String, Params As Map) As Object
20 | Return App.interface(Tag,Params)
21 | End Sub
22 |
23 | ' Config your App
24 | Public Sub Initialize() As String
25 |
26 | 'initialize the AWTRIX class and parse the instance; dont touch this
27 | App.Initialize(Me,"App")
28 |
29 | 'App name (must be unique, no spaces)
30 | App.name = "TikTok"
31 |
32 | 'Version of the App
33 | App.version = "1.1"
34 |
35 | 'Description of the App. You can use HTML to format it
36 | App.description = $"
37 | Shows the number of your TikTok followers.
38 | "$
39 |
40 | 'The developer if this App
41 | App.author = "Blueforcer"
42 |
43 | 'Icon (ID) to be displayed in the Appstore and MyApps
44 | App.coverIcon = 758
45 |
46 | App.settings=CreateMap("ProfileName":"")
47 |
48 | 'How many downloadhandlers should be generated
49 | App.downloads = 1
50 |
51 | 'IconIDs from AWTRIXER. You can add multiple if you need more
52 | App.icons = Array As Int(758)
53 |
54 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
55 | App.tick = 65
56 |
57 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
58 | App.lock = False
59 |
60 | 'This tolds AWTRIX that this App is an Game.
61 | App.isGame = False
62 |
63 | 'If set to true, AWTRIX will download new data before each start.
64 | App.forceDownload = False
65 |
66 | 'ignore
67 | App.makeSettings
68 |
69 | Return "AWTRIX20"
70 | End Sub
71 |
72 | 'this sub is called right before AWTRIX will display your App
73 | Sub App_Started
74 |
75 | End Sub
76 |
77 | 'this sub is called if AWTRIX switch to thee next app and pause this one
78 | Sub App_Exited
79 |
80 | End Sub
81 |
82 | 'this sub is called right before AWTRIX will display your App.
83 | 'if you need to another Icon you can set your Iconlist here again.
84 | Sub App_iconRequest
85 | 'App.Icons = Array As Int(4)
86 | End Sub
87 |
88 | 'If the user change any Settings in the webinterface, this sub will be called
89 | Sub App_settingsChanged
90 |
91 | End Sub
92 |
93 | 'if you create an Game, use this sub to get the button presses from the Weeebinterface or Controller
94 | 'button defines the buttonID of thee controller, dir is true if it is pressed
95 | Sub App_controllerButton(button As Int,dir As Boolean)
96 |
97 | End Sub
98 |
99 | 'if you create an Game, use this sub to get the Analog Values of thee connected Controller
100 | Sub App_controllerAxis(axis As Int, dir As Float)
101 |
102 | End Sub
103 |
104 | '
105 |
106 | 'Called with every update from Awtrix
107 | 'return one URL for each downloadhandler
108 | Sub App_startDownload(jobNr As Int)
109 | Select jobNr
110 | Case 1
111 | App.Download($"https://www.tiktok.com/node/share/user/@${App.get("ProfileName")}"$)
112 | End Select
113 |
114 | End Sub
115 |
116 | 'process the response from each download handler
117 | 'if youre working with JSONs you can use this online parser
118 | 'to generate the code automaticly
119 | 'https://json.blueforcer.de/
120 | Sub App_evalJobResponse(Resp As JobResponse)
121 | Try
122 | If Resp.success Then
123 | Select Resp.jobNr
124 | Case 1
125 | Dim Reader As JSONParser
126 | Reader.Initialize(Resp.ResponseString)
127 | Dim root As Map = Reader.NextObject
128 | Dim userInfo As Map = root.Get("userInfo")
129 | Dim stats As Map = userInfo.Get("stats")
130 | Followers = stats.Get("followerCount")
131 | End Select
132 | Else
133 | App.shouldShow=False
134 | End If
135 | Catch
136 | App.throwError(LastException)
137 | End Try
138 | End Sub
139 |
140 |
141 | 'With this sub you build your frame wtih every Tick.
142 | Sub App_genFrame
143 | App.genText(Followers,True,1,Null,False)
144 | App.drawBMP(0,0,App.getIcon(758),8,8)
145 | End Sub
--------------------------------------------------------------------------------
/Dark/Dark.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | End Sub
13 |
14 | ' ignore
15 | public Sub GetNiceName() As String
16 | Return App.name
17 | End Sub
18 |
19 | ' ignore
20 | public Sub Run(Tag As String, Params As Map) As Object
21 | Return App.interface(Tag,Params)
22 | End Sub
23 |
24 | ' Config your App
25 | Public Sub Initialize() As String
26 |
27 | 'initialize the AWTRIX class and parse the instance; dont touch this
28 | App.Initialize(Me,"App")
29 |
30 | 'App name (must be unique, no spaces)
31 | App.name = "Dark"
32 |
33 | 'Version of the App
34 | App.version = "1.0"
35 |
36 | 'Description of the App. You can use HTML to format it
37 | App.description = $"
38 | Are you going to sleep? Switch off lights on your AWTRIX, keeping its functionality.
39 | "$
40 |
41 | 'The developer if this App
42 | App.author = "Tamao"
43 |
44 | 'Icon (ID) to be displayed in the Appstore and MyApps
45 | App.coverIcon = 1313
46 |
47 | 'define some tags to simplify the search in the Appstore
48 | App.tags = Array As String("Dark")
49 |
50 | 'How many downloadhandlers should be generated
51 | App.downloads = 0
52 |
53 | 'IconIDs from AWTRIXER. You can add multiple if you need more
54 | App.icons = Array As Int(1313)
55 |
56 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
57 | App.tick = 5000
58 |
59 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
60 | App.lock = False
61 |
62 | 'This tolds AWTRIX that this App is an Game.
63 | App.isGame = False
64 |
65 | 'If set to true, AWTRIX will download new data before each start.
66 | App.forceDownload = False
67 |
68 | 'ignore
69 | App.makeSettings
70 |
71 | Return "AWTRIX20"
72 | End Sub
73 |
74 | 'this sub is called right before AWTRIX will display your App
75 | Sub App_Started
76 |
77 | End Sub
78 |
79 | 'this sub is called if AWTRIX switch to thee next app and pause this one
80 | Sub App_Exited
81 |
82 | End Sub
83 |
84 | 'This sub is called right before AWTRIX will display your App.
85 | 'If you need to another Icon you can set your Iconlist here again.
86 | Sub App_iconRequest
87 | 'App.Icons = Array As Int(4)
88 | End Sub
89 |
90 | 'If the user change any Settings in the webinterface, this sub will be called
91 | Sub App_settingsChanged
92 |
93 | End Sub
94 |
95 | 'If you create an Game, use this sub to get the button presses from the Weeebinterface or Controller
96 | 'button defines the buttonID of thee controller, dir is true if it is pressed
97 | Sub App_controllerButton(button As Int,dir As Boolean)
98 |
99 | End Sub
100 |
101 | 'If you create an Game, use this sub to get the Analog Values of thee connected Controller
102 | Sub App_controllerAxis(axis As Int, dir As Float)
103 |
104 | End Sub
105 |
106 | 'This sub is called when the user presses the middle touchbutton while the app is running
107 | Sub App_buttonPush
108 |
109 | End Sub
110 |
111 | 'It possible to create your own setupscreen in HTML.
112 | 'This is a very dirty workaround, but its works:)
113 | 'Every input must contains an ID with the corresponding settingskey in lowercase
114 | Sub App_CustomSetupScreen As String
115 | Return ""
116 | End Sub
117 |
118 | 'Called with every update from Awtrix
119 | 'return one URL for each downloadhandler
120 | Sub App_startDownload(jobNr As Int)
121 | Select jobNr
122 | Case 1
123 |
124 | End Select
125 | End Sub
126 |
127 | 'process the response from each download handler
128 | 'if youre working with JSONs you can use this online parser
129 | 'to generate the code automaticly
130 | 'https://json.blueforcer.de/
131 | Sub App_evalJobResponse(Resp As JobResponse)
132 | Try
133 | If Resp.success Then
134 | Select Resp.jobNr
135 | Case 1
136 |
137 | End Select
138 | End If
139 | Catch
140 | App.throwError(LastException)
141 | End Try
142 | End Sub
143 |
144 | 'With this sub you build your frame wtih eveery Tick.
145 | Sub App_genFrame
146 | App.fill(Array As Int(0,0,0))
147 | End Sub
--------------------------------------------------------------------------------
/Animations/Animations.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 | Dim animationlist As List
11 | Dim nextAnimation As String
12 | End Sub
13 |
14 | ' ignore
15 | public Sub GetNiceName() As String
16 | Return App.Name
17 | End Sub
18 |
19 | ' ignore
20 | public Sub Run(Tag As String, Params As Map) As Object
21 | Return App.interface(Tag,Params)
22 | End Sub
23 |
24 | ' Config your App
25 | Public Sub Initialize() As String
26 | animationlist.Initialize
27 | App.Initialize(Me,"App")
28 |
29 | 'App name (must be unique, avoid spaces)
30 | App.Name ="Animations"
31 |
32 | 'Version of the App
33 | App.Version ="1.6"
34 |
35 | 'Description of the App. You can use HTML to format it
36 | App.Description = "Shows a Animations from the AWTRIX Cloud."
37 |
38 |
39 | App.CoverIcon = 620
40 |
41 | App.downloads=1
42 |
43 |
44 | App.Author = "Blueforcer"
45 |
46 | App.MakeSettings
47 | Return "AWTRIX20"
48 | End Sub
49 |
50 | Sub App_Started
51 | Try
52 | App.shouldShow=True
53 | If animationlist.Size>0 Then
54 |
55 | Dim oneActive As Boolean
56 | For Each AppName As String In animationlist
57 | If App.settings.Get(AppName) Then
58 | oneActive=True
59 | End If
60 | Next
61 |
62 | If oneActive = True Then
63 | Dim isEnable As Boolean =False
64 | nextAnimation="random"
65 | Do Until isEnable
66 | Dim nextApp As String = animationlist.Get(Rnd(0,animationlist.Size))
67 | If isactive(nextApp) Then
68 | isEnable = True
69 | nextAnimation=nextApp
70 | End If
71 | Loop
72 | Else
73 | nextAnimation="random"
74 | End If
75 | Else
76 | nextAnimation="random"
77 | End If
78 | Catch
79 | nextAnimation="random"
80 | End Try
81 |
82 | End Sub
83 |
84 |
85 | Sub isactive(name As String)As Boolean
86 |
87 | If App.Settings.ContainsKey(name) Then
88 | If App.settings.Get(name) = True Then
89 |
90 | Return True
91 | Else
92 | Return False
93 | End If
94 | Else
95 | Return False
96 | End If
97 |
98 | End Sub
99 |
100 | 'Called with every update from Awtrix
101 | 'return one URL for each downloadhandler
102 | Sub App_startDownload(jobNr As Int)
103 | Select jobNr
104 | Case 1
105 | App.PostString("https://awtrix.blueforcer.de/animation", $"{"reqType":"getAnimationList","filter":""}"$)
106 | App.SetContentType("application/json")
107 | End Select
108 | End Sub
109 |
110 |
111 | 'process the response from each download handler
112 | 'if youre working with JSONs you can use this online parser
113 | 'to generate the code automaticly
114 | 'https://json.blueforcer.de/
115 | Sub App_evalJobResponse(Resp As JobResponse)
116 | Try
117 | If Resp.success Then
118 | Select Resp.jobNr
119 | Case 1
120 | animationlist.Clear
121 | Dim parser As JSONParser
122 | parser.Initialize(Resp.ResponseString)
123 | Dim root As Map = parser.NextObject
124 | For Each name As String In root.Values
125 | If Not(App.settings.ContainsKey(name)) Then
126 | App.settings.Put(name,True)
127 | End If
128 | animationlist.Add(name)
129 | Next
130 |
131 | For Counter = App.settings.Size-1 To 0 Step -1
132 | Dim SettingsKey As String =App.settings.GetKeyAt(Counter)
133 | If Not(SettingsKey="UpdateInterval" Or SettingsKey="StartTime" Or SettingsKey="EndTime" Or SettingsKey="DisplayTime" Or SettingsKey="Enabled") Then
134 | If animationlist.IndexOf(SettingsKey)=-1 Then
135 | App.settings.Remove(SettingsKey)
136 | End If
137 | End If
138 | Next
139 |
140 | File.WriteList(File.Combine(File.DirApp,"Apps"),"Animationlist.txt",animationlist)
141 | App.makeSettings
142 | End Select
143 | End If
144 | Catch
145 | Log("Error in: "& App.Name & CRLF & LastException)
146 | Log("API response: " & CRLF & Resp.ResponseString)
147 | End Try
148 | End Sub
149 |
150 |
151 | 'With this sub you build your frame.
152 | Sub App_genFrame
153 |
154 | App.customCommand(CreateMap("type":"animation","ID":nextAnimation))
155 | End Sub
--------------------------------------------------------------------------------
/Octoprint/Octoprint.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 | Dim hour As String
10 | Private completion As String
11 | Private printTimeLeft As String ="0"
12 | Dim scroll As Int
13 | Dim isOnline As Boolean
14 | Dim minute As String
15 | Dim day As String
16 | End Sub
17 |
18 | ' ignore
19 | Public Sub Initialize() As String
20 |
21 | App.Initialize(Me,"App")
22 |
23 | 'change plugin name (must be unique, avoid spaces)
24 | App.Name="Octoprint"
25 |
26 | 'Version of the App
27 | App.Version="1.3"
28 |
29 | 'Description of the App. You can use HTML to format it
30 | App.Description=$"
31 | Shows the percentage of progress and remaining time of OctoPrint printing.
32 | "$
33 |
34 | App.Author="Blueforcer"
35 |
36 | App.CoverIcon=74
37 |
38 | 'SetupInstructions. You can use HTML to format it
39 | App.setupDescription= $"
40 | IP:IP of your Octoprint instance
41 | apiKey:Your Octoprint API Key
42 | "$
43 |
44 | 'How many downloadhandlers should be generated
45 | App.Downloads=1
46 |
47 | 'IconIDs from AWTRIXER.
48 | App.Icons=Array As Int(1014)
49 |
50 | 'Tickinterval in ms (should be 65 by default)
51 | App.Tick=65
52 |
53 | App.forceDownload=True
54 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
55 | App.Settings=CreateMap("IP":"","apiKey":"")
56 |
57 | App.MakeSettings
58 | Return "AWTRIX20"
59 | End Sub
60 |
61 | ' ignore
62 | public Sub GetNiceName() As String
63 | Return App.Name
64 | End Sub
65 |
66 | ' ignore
67 | public Sub Run(Tag As String, Params As Map) As Object
68 | Return App.interface(Tag,Params)
69 | End Sub
70 |
71 | Sub App_Started
72 | scroll=1
73 | App.ShouldShow=isOnline
74 | End Sub
75 |
76 | 'Called with every update from Awtrix
77 | 'return one URL for each downloadhandler
78 | Sub App_startDownload(jobNr As Int)
79 | Select jobNr
80 | Case 1
81 | App.Download("http://"&App.get("IP")&"/api/job?apikey="&App.get("apiKey"))
82 | End Select
83 | End Sub
84 |
85 | 'process the response from each download handler
86 | 'if youre working with JSONs you can use this online parser
87 | 'to generate the code automaticly
88 | 'https://json.blueforcer.de/
89 | Sub App_evalJobResponse(Resp As JobResponse)
90 | If Resp.Success=False Then
91 | isOnline = False
92 | Return
93 | End If
94 | Try
95 | If Resp.success Then
96 | Select Resp.jobNr
97 | Case 1
98 | isOnline = True
99 | Dim parser As JSONParser
100 | parser.Initialize(Resp.ResponseString)
101 | Dim root As Map = parser.NextObject
102 | Dim ticker As Map = root.Get("progress")
103 | completion = ticker.Get("completion")
104 | printTimeLeft = ticker.Get("printTimeLeft")
105 | Dim seconds As Long = printTimeLeft * DateTime.TicksPerSecond 'convert seconds to ticks!
106 | hour=NumberFormat( Floor(seconds/DateTime.TicksPerHour Mod 24),2,0)
107 | minute=NumberFormat( Floor(seconds/DateTime.TicksPerMinute Mod 60),2,0)
108 | day=NumberFormat( Floor(seconds/DateTime.TicksPerDay),2,0)
109 | End Select
110 | End If
111 | Catch
112 | Log("Error in: "& App.Name & CRLF & LastException)
113 | Log("API response: " & CRLF & Resp.ResponseString)
114 | End Try
115 | End Sub
116 |
117 |
118 | 'Generates the frame to be displayed.
119 | 'this function is called every tick
120 | Sub App_genFrame
121 | If isOnline Then
122 | If printTimeLeft == "null" Then
123 | App.genText("wait..",True,1,Null,True)
124 | Else
125 |
126 |
127 | If App.startedAt 0 Then
129 | App.genText(day&":"&hour,True,scroll-8,Null,True)
130 |
131 | Else
132 | App.genText(hour&":"&minute,True,scroll-8,Null,True)
133 |
134 | End If
135 | If scroll<9 Then
136 | scroll=scroll+1
137 | End If
138 | Else
139 | App.genText(Round2(completion,0)&"%",True,scroll,Null,True)
140 | End If
141 | End If
142 | Else
143 | App.genText("zZz",True,1,Null,True)
144 | End If
145 | App.drawBMP(0,0,App.getIcon(1014),8,8)
146 | End Sub
--------------------------------------------------------------------------------
/Pong/Pong.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim paddleX As Int = 1
13 | Dim paddleY As Int =7
14 | Dim ballDirectionX As Int =1
15 | Dim ballDirectionY As Int =1
16 | Dim points,score,ballX, ballY, oldBallX, oldBallY,oldPaddleX, oldPaddleY As Int
17 | Dim prevMillis As Long
18 | End Sub
19 |
20 | ' ignore
21 | public Sub GetNiceName() As String
22 | Return App.Name
23 | End Sub
24 |
25 | ' ignore
26 | public Sub Run(Tag As String, Params As Map) As Object
27 | Return App.interface(Tag,Params)
28 | End Sub
29 |
30 | ' Config your App
31 | Public Sub Initialize() As String
32 |
33 | App.Initialize(Me,"App")
34 |
35 | 'App name (must be unique, avoid spaces)
36 | App.Name="Pong"
37 |
38 | 'Version of the App
39 | App.Version="1.0"
40 |
41 | 'Description of the App. You can use HTML to format it
42 | App.Description=$"Play the classic Pong game on your AWTRIX"$
43 |
44 | App.Author="Blueforcer"
45 |
46 | App.CoverIcon=680
47 |
48 | App.Tags=Array As String("Beta","Games","Interactive")
49 |
50 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
51 | App.Tick=65
52 |
53 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
54 | App.Lock=True
55 |
56 | App.isGame=True
57 |
58 | App.Hidden=True
59 |
60 | App.ShouldShow=False
61 |
62 | App.MakeSettings
63 | Return "AWTRIX20"
64 | End Sub
65 |
66 | Sub App_externalCommand(cmd As Object)
67 | App.ShouldShow=True
68 | paddleX=cmd
69 | End Sub
70 |
71 | Sub App_AppExited
72 | App.ShouldShow=False
73 | End Sub
74 |
75 | 'this sub is called right before AWTRIX will display your App
76 | Sub App_Started
77 | paddleX=1
78 | points=0
79 | oldBallX=0
80 | oldBallY=0
81 | ballDirectionY=1
82 | ballDirectionX=1
83 | ballX = Rnd(3,19)
84 | ballY = 1
85 | End Sub
86 |
87 | 'With this sub you build your frame.
88 | Sub App_genFrame
89 | If paddleX=255 Then
90 | App.finish
91 | App.ShouldShow=False
92 | End If
93 |
94 | App.drawRect(paddleX, paddleY, 4, 1,Array As Int(0,0,255))
95 | oldPaddleX = paddleX
96 | oldPaddleY = paddleY
97 |
98 | If (DateTime.Now - prevMillis >= 150) Then
99 | prevMillis=DateTime.Now
100 |
101 | If (ballX > 30) Then
102 | ballDirectionX = ballDirectionX-1
103 | End If
104 |
105 | If ballX < 1 Then
106 | ballDirectionX = ballDirectionX+1
107 | End If
108 |
109 | If ballY > 8 Then
110 | ballDirectionY = ballDirectionY-1
111 | End If
112 |
113 | If ballY < 1 Then
114 | ballDirectionY = ballDirectionY+1
115 | End If
116 |
117 | If (inPaddle(ballX, ballY, paddleX, paddleY, 4, 1)) Then
118 | App.drawRect(paddleX, paddleY, 4, 1,Array As Int(255,0,255))
119 | If(ballX = paddleX And ballY = paddleY) Then
120 | ballDirectionX = ballDirectionX-1
121 | ballDirectionY = ballDirectionY-1
122 |
123 | else if(ballX = paddleX + 3 And ballY = paddleY) Then
124 | ballDirectionX = ballDirectionX
125 | ballDirectionY = ballDirectionY-1
126 |
127 | else if(ballX = paddleX + 1 And ballY = paddleY) Then
128 | ballDirectionX = ballDirectionX-1
129 | ballDirectionY = ballDirectionY-1
130 |
131 | else if(ballX = paddleX + 2 And ballY = paddleY) Then
132 | ballDirectionX = ballDirectionX
133 | ballDirectionY = ballDirectionY-1
134 | End If
135 | End If
136 |
137 | ballX =ballX + ballDirectionX
138 | ballY = ballY + ballDirectionY
139 |
140 | oldBallX = ballX
141 | oldBallY = ballY
142 | End If
143 |
144 | App.drawPixel(ballX, ballY,Array As Int(150,150,0))
145 |
146 | If(ballY > 8) Then
147 | points=0
148 | oldBallX=0
149 | oldBallY=0
150 | ballDirectionY=1
151 | ballDirectionX=1
152 | ballX = Rnd(3,19)
153 | ballY = 1
154 | End If
155 | End Sub
156 |
157 | Sub inPaddle(x As Int,y As Int,rectX As Int,rectY As Int,rectWidth As Int,rectHeight As Int) As Boolean
158 | Dim result As Boolean=False
159 | If ((x >= rectX And x <= (rectX + rectWidth)) And(y+1 >= rectY And y <= (rectY + rectHeight))) Then
160 | result = True
161 | points=points+1
162 | End If
163 | Return result
164 | End Sub
165 |
--------------------------------------------------------------------------------
/Flickr/Flickr.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim first_name As String
13 | dim Followers as String
14 | End Sub
15 |
16 | ' ignore
17 | public Sub GetNiceName() As String
18 | Return App.name
19 | End Sub
20 |
21 | ' ignore
22 | public Sub Run(Tag As String, Params As Map) As Object
23 | Return App.interface(Tag,Params)
24 | End Sub
25 |
26 | ' Config your App
27 | Public Sub Initialize() As String
28 |
29 | 'initialize the AWTRIX class and parse the instance; dont touch this
30 | App.Initialize(Me,"App")
31 |
32 | 'App name (must be unique, no spaces)
33 | App.name = "Flickr"
34 |
35 | 'Version of the App
36 | App.version = "1.0"
37 |
38 | 'Description of the App. You can use HTML to format it
39 | App.description = $"
40 | Shows the number of you Flickr followers
41 | "$
42 |
43 | 'The developer if this App
44 | App.author = "Blueforcer"
45 |
46 | 'Icon (ID) to be displayed in the Appstore and MyApps
47 | App.coverIcon = 32
48 |
49 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
50 | App.settings = CreateMap("UserID":"")
51 |
52 | 'Setup Instructions. You can use HTML to format it
53 | App.setupDescription = $"
54 | UserID:Your Flickr UserID. Can be found in the addressbar while browsing your profilepage
55 | "$
56 |
57 |
58 |
59 | 'How many downloadhandlers should be generated
60 | App.downloads = 1
61 |
62 | 'IconIDs from AWTRIXER. You can add multiple if you need more
63 | App.icons = Array As Int(32)
64 |
65 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
66 | App.tick = 65
67 |
68 |
69 | 'ignore
70 | App.makeSettings
71 | Return "AWTRIX20"
72 | End Sub
73 |
74 | 'this sub is called right before AWTRIX will display your App
75 | Sub App_Started
76 |
77 | End Sub
78 |
79 | 'this sub is called if AWTRIX switch to thee next app and pause this one
80 | Sub App_Exited
81 |
82 | End Sub
83 |
84 | 'this sub is called right before AWTRIX will display your App.
85 | 'if you need to another Icon you can set your Iconlist here again.
86 | Sub App_iconRequest
87 | 'App.Icons = Array As Int(4)
88 | End Sub
89 |
90 | 'If the user change any Settings in the webinterface, this sub will be called
91 | Sub App_settingsChanged
92 |
93 | End Sub
94 |
95 | 'if you create an Game, use this sub to get the button presses from the Weeebinterface or Controller
96 | 'button defines the buttonID of thee controller, dir is true if it is pressed
97 | Sub App_controllerButton(button As Int,dir As Boolean)
98 |
99 | End Sub
100 |
101 | 'if you create an Game, use this sub to get the Analog Values of thee connected Controller
102 | Sub App_controllerAxis(axis As Int, dir As Float)
103 |
104 | End Sub
105 |
106 | 'Called with every update from Awtrix
107 | 'return one URL for each downloadhandler
108 | Sub App_startDownload(jobNr As Int)
109 | Select jobNr
110 | Case 1
111 | App.Download("https://www.flickr.com/photos/"& App.get("UserID"))
112 | End Select
113 | End Sub
114 |
115 | 'process the response from each download handler
116 | 'if youre working with JSONs you can use this online parser
117 | 'to generate the code automaticly
118 | 'https://json.blueforcer.de/
119 | Sub App_evalJobResponse(Resp As JobResponse)
120 | Try
121 | If Resp.success Then
122 | Select Resp.jobNr
123 | Case 1
124 | Dim Reader As TextReader
125 | Reader.Initialize(Resp.Stream)
126 | Dim line As String
127 | line = Reader.ReadLine
128 | Do While line <> Null
129 | If line.Contains("followerCount") Then
130 | Followers=line.SubString2(line.IndexOf($""followerCount""$)+16,line.IndexOf($","followingCount"$))
131 | Followers=Followers.Replace(".","")
132 | Exit
133 | End If
134 | line = Reader.ReadLine
135 | Loop
136 | Reader.Close
137 | End Select
138 | End If
139 | Catch
140 | App.throwError(LastException)
141 | End Try
142 | End Sub
143 |
144 | 'With this sub you build your frame wtih eveery Tick.
145 | Sub App_genFrame
146 | App.genText(Followers ,True,1,Null,False)
147 | App.drawBMP(0,0,App.getIcon(32),8,8)
148 | End Sub
--------------------------------------------------------------------------------
/myTischtennis/myTischtennis.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim TTR As String
13 | Dim QTTR As String
14 |
15 | End Sub
16 |
17 | ' ignore
18 | public Sub GetNiceName() As String
19 | Return App.name
20 | End Sub
21 |
22 | ' ignore
23 | public Sub Run(Tag As String, Params As Map) As Object
24 | Return App.interface(Tag,Params)
25 | End Sub
26 |
27 | ' Config your App
28 | Public Sub Initialize() As String
29 |
30 | 'initialize the AWTRIX class and parse the instance; dont touch this
31 | App.Initialize(Me,"App")
32 |
33 | 'App name (must be unique, no spaces)
34 | App.name = "myTischtennis"
35 |
36 | 'Version of the App
37 | App.version = "1.0"
38 |
39 | 'Description of the App. You can use HTML to format it
40 | App.description = $"
41 | Shows your TTR (Table Tennis Ranking)
42 | "$
43 |
44 | 'The developer if this App
45 | App.author = "Matthias Wahl"
46 |
47 | 'Icon (ID) to be displayed in the Appstore and MyApps
48 | App.coverIcon = 761
49 |
50 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
51 | App.settings = CreateMap("UserName":"","Password":"","TTR":True,"QTTR":False)
52 |
53 | 'Setup Instructions. You can use HTML to format it
54 | App.setupDescription = $"
55 | This App shows your TTR. You need a premium account for myTischtennis.de
56 | UserName: Write your UserName from myTischtennis.de here.
57 | Password: Write your Password from myTischtennis.de here.
58 | TTR: Show your TTR (true/false).
59 | TTR: Show your QTTR (true/false).
60 | "$
61 |
62 | 'define some tags to simplify the search in the Appstore
63 | App.tags = Array As String("myTischtennis", "TTR")
64 |
65 | 'How many downloadhandlers should be generated
66 | App.downloads = 1
67 |
68 | 'IconIDs from AWTRIXER. You can add multiple if you need more
69 | App.icons = Array As Int(761)
70 |
71 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
72 | App.tick = 65
73 |
74 |
75 | 'ignore
76 | App.makeSettings
77 | Return "AWTRIX20"
78 | End Sub
79 |
80 |
81 | 'Called with every update from Awtrix
82 | 'return one URL for each downloadhandler
83 | Sub App_startDownload(jobNr As Int)
84 | Select jobNr
85 | Case 1
86 | App.PostMultipart("https://www.mytischtennis.de/community/events",CreateMap("userNameB":App.get("UserName"),"userPassWordB":App.get("Password")),Null)
87 | App.setHeader(CreateMap("goLogin":"Einloggen","Accept-Encoding":"identity"))
88 | End Select
89 | End Sub
90 |
91 | 'process the response from each download handler
92 | 'if youre working with JSONs you can use this online parser
93 | 'to generate the code automaticly
94 | 'https://json.blueforcer.de/
95 | Sub App_evalJobResponse(Resp As JobResponse)
96 | Try
97 | If Resp.success Then
98 | Select Resp.jobNr
99 | Case 1
100 | Dim Reader As TextReader
101 | Reader.Initialize(Resp.Stream)
102 | Dim line As String
103 | line = Reader.ReadLine
104 | Do While line <> Null
105 | If line.Contains("TTR:") Then
106 | TTR = line.SubString2(18,line.Length)
107 | End If
108 | If line.Contains(">Q-TTR:") Then
109 | QTTR = line.SubString2(120,line.Length)
110 | End If
111 | line = Reader.ReadLine
112 | Loop
113 | End Select
114 | End If
115 | Catch
116 | Log("Try Catch rausgeflogen...")
117 | App.throwError(LastException)
118 | End Try
119 | End Sub
120 |
121 | 'With this sub you build your frame wtih eveery Tick.
122 | Sub App_genFrame
123 | If App.get("TTR")=True And App.get("QTTR")=False Then
124 | App.genText("TTR: " & QTTR ,True,1,Null,False)
125 | End If
126 | If App.get("QTTR")=True And App.get("TTR") = False Then
127 | App.genText("QTTR: " & TTR ,True,1,Null,False)
128 | End If
129 | If App.get("QTTR") = True And App.get("TTR") = True Then
130 | App.genText("TTR: " & TTR & " - QTTR: " & QTTR,True,1,Null,False)
131 | End If
132 | If App.get("QTTR") = False And App.get("TTR") = False Then
133 | App.genText("Setup again!",True,1,Null,False)
134 | End If
135 |
136 | App.drawBMP(0,0,App.getIcon(761),8,8)
137 | End Sub
--------------------------------------------------------------------------------
/PiHole/Template.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 |
8 | Sub Class_Globals
9 | Dim App As AWTRIX
10 |
11 | 'Declare your variables here
12 | Dim first_name As String
13 |
14 | End Sub
15 |
16 | ' ignore
17 | public Sub GetNiceName() As String
18 | Return App.name
19 | End Sub
20 |
21 | ' ignore
22 | public Sub Run(Tag As String, Params As Map) As Object
23 | Return App.AppControl(Tag,Params)
24 | End Sub
25 |
26 | ' Config your App
27 | Public Sub Initialize() As String
28 |
29 | 'initialize the AWTRIX class and parse the instance; dont touch this
30 | App.Initialize(Me,"App")
31 |
32 | 'App name (must be unique, no spaces)
33 | App.name = "Template"
34 |
35 | 'Version of the App
36 | App.version = "2.0"
37 |
38 | 'Description of the App. You can use HTML to format it
39 | App.description = $"
40 | This is just a template
41 | "$
42 |
43 | 'The developer if this App
44 | App.author = "Blueforcer"
45 |
46 | 'Icon (ID) to be displayed in the Appstore and MyApps
47 | App.coverIcon = 6
48 |
49 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
50 | App.settings = CreateMap("CustomText":"Hello World")
51 |
52 | 'Setup Instructions. You can use HTML to format it
53 | App.setupDescription = $"
54 | CustomText:Text wich will be shown
55 | "$
56 |
57 | 'define some tags to simplify the search in the Appstore
58 | App.tags = Array As String("Template", "Awesome")
59 |
60 | 'How many downloadhandlers should be generated
61 | App.downloads = 1
62 |
63 | 'IconIDs from AWTRIXER. You can add multiple if you need more
64 | App.icons = Array As Int(6)
65 |
66 | 'Tickinterval in ms (should be 65 by default, for smooth scrolling))
67 | App.tick = 65
68 |
69 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
70 | App.lock = False
71 |
72 | 'This tolds AWTRIX that this App is an Game.
73 | App.isGame = False
74 |
75 | 'If set to true, AWTRIX will download new data before each start.
76 | App.forceDownload = False
77 |
78 | 'ignore
79 | App.makeSettings
80 | Return "AWTRIX2"
81 | End Sub
82 |
83 | 'this sub is called right before AWTRIX will display your App
84 | Sub App_Started
85 |
86 | End Sub
87 |
88 |
89 | 'this sub is called if AWTRIX switch to thee next app and pause this one
90 | Sub App_Exited
91 |
92 | End Sub
93 |
94 | 'this sub is called right before AWTRIX will display your App.
95 | 'if you need to another Icon you can set your Iconlist here again.
96 | Sub App_iconRequest
97 | 'App.Icons = Array As Int(4)
98 | End Sub
99 |
100 | 'If the user change any Settings in the webinterface, this sub will be called
101 | Sub App_settingsChanged
102 |
103 | End Sub
104 |
105 | 'if you create an Game, use this sub to get the button presses from the Weeebinterface or Controller
106 | 'button defines the buttonID of thee controller, dir is true if it is pressed
107 | Sub App_controllerButton(button As Int,dir As Boolean)
108 |
109 | End Sub
110 |
111 | 'if you create an Game, use this sub to get the Analog Values of thee connected Controller
112 | Sub App_controllerAxis(axis As Int, dir As Float)
113 |
114 | End Sub
115 |
116 |
117 | 'Called with every update from Awtrix
118 | 'return one URL for each downloadhandler
119 | Sub App_startDownload(jobNr As Int)
120 | Select jobNr
121 | Case 1
122 | App.URL= "https://reqres.in/api/users/2"
123 | End Select
124 | End Sub
125 |
126 | 'process the response from each download handler
127 | 'if youre working with JSONs you can use this online parser
128 | 'to generate the code automaticly
129 | 'https://json.blueforcer.de/
130 | Sub App_evalJobResponse(Resp As JobResponse)
131 | Try
132 | If Resp.success Then
133 | Select Resp.jobNr
134 | Case 1
135 | Dim parser As JSONParser
136 | parser.Initialize(Resp.ResponseString)
137 | Dim root As Map = parser.NextObject
138 | Dim data As Map = root.Get("data")
139 | first_name = data.Get("first_name")
140 | End Select
141 | End If
142 | Catch
143 | App.throwError(LastException)
144 | End Try
145 | End Sub
146 |
147 | 'With this sub you build your frame wtih eveery Tick.
148 | Sub App_genFrame
149 | App.genText(App.get("CustomText") & " " & first_name ,True,1,Null,False)
150 | App.drawBMP(0,0,App.getIcon(6),8,8)
151 | End Sub
--------------------------------------------------------------------------------
/OpenWeather/OpenWeather.bas:
--------------------------------------------------------------------------------
1 | B4J=true
2 | Group=Default Group
3 | ModulesStructureVersion=1
4 | Type=Class
5 | Version=4.2
6 | @EndOfDesignText@
7 | Sub Class_Globals
8 | Dim App As AWTRIX
9 |
10 | '###### nötige Variablen deklarieren ######
11 | Dim temp As String = 0
12 | Dim iconID As Int = 487
13 | End Sub
14 |
15 | ' ignore
16 | Public Sub Initialize() As String
17 |
18 | App.Initialize(Me,"App")
19 |
20 | 'change plugin name (must be unique, avoid spaces)
21 | App.Name="OpenWeather"
22 |
23 | 'Version of the App
24 | App.Version="1.2"
25 |
26 | 'Description of the App. You can use HTML to format it
27 | App.Description=$"
28 | Shows the current temperature of your location.
29 | powered by OpenWeatherMap.org<
30 | "$
31 |
32 | App.CoverIcon=349
33 |
34 | App.Author="Blueforcer"
35 |
36 | 'SetupInstructions. You can use HTML to format it
37 | App.setupDescription= $"
38 | Unit: enter your unit (metric or imperial)
39 | LocationID: search for the weather at your location and get the ID from the adressbar (e.g https://openweathermap.org/city/2874230)
40 | APIKey: get yours at https://home.openweathermap.org/api_keys
41 | "$
42 |
43 | 'How many downloadhandlers should be generated
44 | App.Downloads=1
45 |
46 | 'IconIDs from AWTRIXER.
47 | App.Icons=Array(399)
48 |
49 | 'Tickinterval in ms (should be 65 by default)
50 | App.Tick=65
51 |
52 | 'If set to true AWTRIX will wait for the "finish" command before switch to the next app.
53 | App.Lock=False
54 |
55 | 'needed Settings for this App (Wich can be configurate from user via webinterface)
56 | App.Settings=CreateMap("APIKey":"","Unit":"metric","LocationID":"2874230")
57 |
58 |
59 | App.MakeSettings
60 | Return "AWTRIX20"
61 | End Sub
62 |
63 | ' ignore
64 | public Sub GetNiceName() As String
65 | Return App.Name
66 | End Sub
67 |
68 | ' ignore
69 | public Sub Run(Tag As String, Params As Map) As Object
70 | Return App.interface(Tag,Params)
71 | End Sub
72 |
73 | Sub App_iconRequest
74 | App.Icons=Array As Int(iconID)
75 | End Sub
76 |
77 | 'Called with every update from Awtrix
78 | 'return one URL for each downloadhandler
79 | Sub App_startDownload(jobNr As Int)
80 | Select jobNr
81 | Case 1
82 | App.Download("http://api.openweathermap.org/data/2.5/weather?id="&App.get("LocationID")&"&appid="&App.get("APIKey")&"&units="&App.get("Unit"))
83 | End Select
84 | End Sub
85 |
86 | 'process the response from each download handler
87 | 'if youre working with JSONs you can use this online parser
88 | 'to generate the code automaticly
89 | 'https://json.blueforcer.de/
90 | Sub App_evalJobResponse(Resp As JobResponse)
91 | Try
92 | If Resp.success Then
93 | Select Resp.jobNr
94 | Case 1
95 | Dim parser As JSONParser
96 | parser.Initialize(Resp.ResponseString)
97 | Dim root As Map = parser.NextObject
98 | Dim MainMap As Map = root.Get("main")
99 | Dim t1 As Double = MainMap.Get("temp")
100 | temp = NumberFormat(t1,1,1) & "°"
101 |
102 | Dim weather As List = root.Get("weather")
103 | Dim colweather As Map = weather.Get(0)
104 | iconID=getIconID(colweather.Get("icon"))
105 | End Select
106 | End If
107 | Catch
108 | Log("Error in: "& App.Name & CRLF & LastException)
109 | Log("API response: " & CRLF & Resp.ResponseString)
110 | End Try
111 | End Sub
112 |
113 |
114 | Sub App_genFrame
115 | App.genText(temp,True,1,Null,True)
116 | App.drawBMP(0,0,App.getIcon(iconID),8,8)
117 | End Sub
118 |
119 | Sub getIconID (ico As String)As Int
120 | Select ico
121 | 'Day
122 | Case "01d"
123 | Return 349
124 | Case "02d"
125 | Return 312
126 | Case "03d"
127 | Return 486
128 | Case "04d"
129 | Return 486
130 | Case "09d"
131 | Return 346
132 | Case "10d"
133 | Return 346
134 | Case "11d"
135 | Return 345
136 | Case "13d"
137 | Return 344
138 | Case "50d"
139 | Return 347
140 | 'Night
141 | Case "01n"
142 | Return 348
143 | Case "02n"
144 | Return 485
145 | Case "03n"
146 | Return 486
147 | Case "04n"
148 | Return 486
149 | Case "09n"
150 | Return 346
151 | Case "10n"
152 | Return 346
153 | Case "11n"
154 | Return 345
155 | Case "13n"
156 | Return 347
157 | Case "50n"
158 | Return 347
159 | Case Else
160 | Log("Error from weatherApp:")
161 | Log("Icon " & ico & " not found!")
162 | Return 487
163 | End Select
164 |
165 |
166 | End Sub
167 |
--------------------------------------------------------------------------------