forked from pquiring/javaforce
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwhatsnew.txt
executable file
·2077 lines (1815 loc) · 87.5 KB
/
whatsnew.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
What's new...
Mar 8/2019 : JF 17.5.0 released
- fix : ffmpeg loading/saving issues
- new : upgrade to ffmpeg/4.x
- jfAudio/0.18
- jfVideo/0.22
- jfMusic/0.6
- jfRecordCamera/0.6
- jfRecordDesktop/0.7
- jfProjector/0.2
- re-release all ffmpeg related apps
Feb 27/2019 : JF 17.4.0 released
- new : jfmodbusserver/0.2 : added support for I2C devices on Raspberry PI
Jan 24/2019 : JF 17.3.0 released
- new : jfsocks/0.1 : SOCKS4 server (something I needed at work)
- new : jfpasswords/0.20 : added OpenSite and Help buttons
Oct 15/2018 : JRE 11-2
- new : JRE-11 : added .jar file association to javaw.exe in wix config
Sept 26/2018 : JF 17.2.0 released
- Java 11 support
- Since Oracle will no longer release a JRE I've made one available at javaforce.sourceforge.net
- basically just package the JDK without the mod files and create required registry keys
- jfPasswords/0.19
- add JRE to MSI package
- jfDataLogger/0.22
- new : added csv save function
- jfPhone/1.16
- fix : version checking function
Sept 21/2018 : JF 17.1.0 released
- jfPhone/1.15 released!
- minor fixes
- jfPBX/0.27 released!
- minor fixes
Sept 19/2018 : JF 17.0.0 released
- new : JFAWT.removeAltGraph()
- removes AltGraph modifier which was added in Java9
- the right Alt and AltGraph use the same scancode
- new : remove support for 32bit binaries since Java9+ no longer supports it
- new : jfControls/0.4
- tags are now stored in files for faster load/save and are stored in plain java objects
- new : VoIP
- added proper support for RFC 5764 (DTLS-SRTP) which is now included in Java9
- renamed jPhoneLite to jfPhone
- renamed jPBXlite to jfPBX
- the new DTLS code has not been tested yet and will not work
- I just wanted to get this release out to get the ball rolling
since it's been such a long time since the last release.
Tried to do too many things at once.
Jan 23/2018 : JF 16.9.0 relaesed
- new : jfModbusServer
- a modbus server for Raspberry PI 2/3 to control GPIO remotely
Dec 20/2017 : JF 16.8.0 released
- XML
- fix encoding attributes
- jfPassword/0.18
- XML fix will improve XML compatibility
- Controller.Tag
- add support for reading byte ranges (S7 only) (untested)
Dec 19/2017 : JF 16.7.0 released
- jfDNS/0.9
- added support for multiple uplink DNS servers
- jfControls/0.3
- for prev tag fixes
Nov 30/2017 : JF 16.6.0 released
- fix controller Tag connection issue
- jfDataLogger/0.18
- jfDataLoggerPlus/0.9
Nov 30/2017 : JF 16.5.0 released
- fix DNS bug (IP6 issue)
- release jfDNS/0.8
- add missing files
Oct 18/2017 : JF 16.4.0 released
- added support for Java 9
- Java 9 changes keys used in the registry therefore the native launcher could not find it
- re-release following apps:
- jfPasswords/0.17
- jfVideo/0.21
- jfAudio/0.17
- jPhoneLite/1.14
- plus many more...
Aug 4/2017 : JF 16.3.0 released
- jfDNS/0.6, jfDHCP/0.8, jfProxy/0.7, jfSTUN/0.4 servers
- fixed configuration not updated
- jfDNS server
- fixed forwarding dns requests
- added allow/deny options
Jul 31/2017 : JF 16.2.0 released
- jfDataLogger/0.16
- fix : another load/save issue
Jul 21/2017 : JF 16.1.0 released
- jfControls/0.2
- added support for including Java9 with MSI package (including compiler)
- jfDataLogger/0.15
- fix : load/save files properly
Jul 7/2017 : JF 16.0.0 released
- new : jfControls
- a software PLC with ladder logic and panels
Jul 4/2017 : JF 15.7.0 released
- jPhoneLite/1.12
- fixed help button
- jfEdit/0.14
- added more hotkeys and can edit EOL style
May 25/2017 : JF 15.6.0 released
- jfDataLogger/0.14
- new : bits are printed like a dotted line now with an offset 0-100
Apr 27/2017 : JF 15.5.0 released
- fix : ffmpeg : no longer using deprecated AVStream.codec
- compilation is now clean and quiet
- jfDataLogger/0.12
- fix : 'double' (float64) values were not scaling properly
Apr 26/2017 : jfAudio update
- re-release jfAudio for last ffmpeg fix
- jfAudio/0.16
Apr 25/2017 : JF 15.4.0 released
- fixed ffmpeg decoding (discard unknown packets)
- jfVideo/0.20
- jfMedia/0.12
Apr 5/2017 : JF 15.3.0 released
- fix : javaforce.controls.Controller : brought back S7 multi-tag reading (performance improvement)
- jfDataLogger/0.11
- jfDataLoggerPlus/0.7
Mar 30/2017 : JF 15.2.0 released!
- fix : javaforce.controls.Controller.isConnected() was always returning false for NI devices
- jfDataLogger/0.10
- jfDataLoggerPlus/0.6
Mar 10/2017 : JF 15.1.0 released!
- fix : javaforce.controls.Tag : NI is big endian
- jfDataLogger/0.9
- jfDataLoggerPlus/0.5
Mar 7/2017 : JF 15.0.0 released!
- jfProjector/0.1
- new app to projector your desktop to another desktop
- ffmpeg : downloading on Windows can now goto %appdata% folder (no longer need admin access)
- re-release ffmpeg based apps:
- jfAudio/0.15
- jfMedia/0.11
- jfMusic/0.4
- jfRecordCamera/0.4
- jfRecordDesktop/0.5
- jfVideo/0.19
- jPhoneLite/1.11
Feb 22/2017 : JF 14.3.0 released!
- javaforce.controls.Tag now supports sharing a tcp connection
- jfDataLogger/0.8
- jfDataLoggerPlus/0.4
Feb 20/2017 : JF 14.2.0 released!
- jfDataLoggerPlus : minor DB change
Feb 17/2017 : JF 14.1.0 released!
- javaforce.controls now supports AB INT data type (java:short 16bits)
- new javaforce.controls.Tag to be shared between controls apps
- jfDataLogger/0.7 and jfDataLoggerPlus/0.2 released
Feb 16/2017 : JF 14.0.0 released!
- new app : jfDataLoggerPlus
- this is an app that logs changes to PLC tags similar to jfDataLogger but this is a service for long term data collection
- data is collected into an SQL database
- first app to use the new WebUI which is still a work in progress
- this is the 13th major release of JavaForce ;)
Nov 22/2016 : JF 12.5.0 released!
- jfDataLogger/0.6
- minor fixes
Oct 28/2016 : JF 12.4.0 released!
- fixed NI-DAQmx freq counter logic
- jfDataLogger/0.5
- many fixes
Oct 25/2016 : JF 12.3.0 released!
- fixed NI-DAQmx counter and digital inputs
- jfDataLogger/0.4
- improved fault tolerance
Oct 24/2016 : JF 12.2.0 released!
- added support for National Instruments DAQmx controller
- javaforce.controls.ni
- jfDataLogger/0.3
- support for NI
- multi-threaded for better performance
- more webui improvements
Oct 18/2016 : JF 12.1.0 released!
- fix : s7 tags were limited to block number 127
- jfDataLogger/0.2
- forget to mention new support for using GPIO pins on Raspberry Pi
- see javaforce/pi/Test
- uses a new WebUI interface that is currently in development
Oct 7/2016 : JF 12.0.0 released!
- added new Controller library (talk to PLCs)
- added jfDataLogger/0.1
- log PLC data
- added support to build jfLinux with Arch
- but the build fails in ArchISO somewhere
Jun 4/2016 : JF 11.4.0 released!
- jfDHCP/0.7
- new : support for custom options
Jun 2/2016 : JF 11.3.0 released!
- jPhoneLite/1.10.0
- added GSM codec
Mar 14/2016 : JF 11.2.0 released!
- added firewall exceptions in Wix config for services (except jfSTUN which uses dynamic ports)
- jfProxy/0.6
- jfDHCP/0.6
- jfDNS/0.5
Feb 23/2016 : JF 11.1.0 released!
- VoIP : many improvements to message handling
- jPhoneLite/1.9.11
- should fix bug #35
- jPBXlite/0.26
- jfBroadcast/0.36
- fix : remove \r from JTextArea from service config apps
- jfProxy/0.5
- jfDHCP/0.5
- jfDNS/0.4
- jfSTUN/0.3
Feb 20/2016 : JF 11.0.0 released!
- created Windows Service wrapper
- converted jfProxy/0.4, jfDHCP/0.4, jfDNS/0.3, jfSTUN/0.2 and jPBXlite/0.25 to Windows services
- jfBroadcast/0.35
- added "Fix 'errors' in List..." button
Jan 22/2016 : JF 10.8.0 released!
- jPhoneLite/1.9.10
- fixed audio problem on some systems
Jan 18/2016 : JF 10.7.0 released!
- jfDHCP/0.3
- support for multiple pools
Dec 27/2015 : JF 10.6.0 released!
- jfBroadcast/0.34
- fix tray icon
- jfPaint/0.21
- add enter/escape hot keys to dialog boxes
- jfVNC/0.1
- first release as seperate project
Dec 17/2015 : JF 10.5.0 released!
- jfPaint/0.20
- misc fixes
- jfBroadcast/0.33
- minor fix
- NEW: javaforce.utils.RunAs
- gui to run psexec (runas) (windows)
- jfPasswords/0.15 - 0.16
- 0.15 : changed startup behaviour (do not show window on startup)
- 0.16 : added 'avoid ambiguous chars' option
Sept 24/2015 : JF 10.4.0 released!
- SIPClient : added display name
- added javaforce.JFLockFile
- jPhoneLite/1.9.9 released!
- desktop and android released
- added display name support
- use JFLockFile to prevent multiple copies running
- jfBroadcast/0.32 released!
- added display name support
- use JFLockFile to prevent multiple copies running
- hide password
- added option to close app when closing window
- did some work on getting jfLinux built - neither ISO will boot though :(
Sept 12/2015 : JF 10.3.0 released!
- SIPClient
- fix : contact field updated if received ip/port changes
- fix : reregister()s if received ip/port changes
- jPhoneLite/1.9.8 released!
- desktop and android
Sept 10/2015 : JF 10.2.0 released!
- jfProxy/0.3 released!
- fixed host:port parsing
Aug 27/2015 : JF 10.1.0 released!
- added GLMatrix.lookAt()
Aug 18/2015 : JF 10.0.0 released!
- JavaForce is now hosted exclusively at github.com/pquiring/javaforce
see also : pquiring.github.io/javaforce
- ant install task now requires "bits" property defined on the command line (Linux only)
ex : ant install -Dbits=64
- GLFW is now part of JavaForce to create OpenGL windows which should allow it to run on more platforms.
GLFW is not well suited for Java apps. It only uses icons from the .exe which in java can not be easily changed.
For now some JNI functions have been created to overcome this but only supports Windows.
See : github.com/glfw/glfw
Jul 31/2015 : JF 9.6.0 released!
- .blend loader supports Blender 2.75
- blender sometimes creates duplicate BHead chunks which need to be loaded in a special order
- improved SIP Server localhost detection
- jPBXLite/0.24 released!
Jul 14/2015 : JF 9.5.0 released!
- Windows native launcher can now download Java if not found
- jfRDP/0.4 released!
- jfRDP is back
- now uses more native code, the RDP server port is no longer redirected and the client window is pure native.
- the view is always scaled (maybe add a toolbar later with more options)
- added multi concurrent users and view only mode
Jul 9/2015 : JF 9.4.0 released!
- JFNative no longer exits if the jfnative libraries are not found
- now includes 32bit linux native libraries
- MSI packages can now include a stripped down JRE
- see javaforce.utils.jheat
- new ant tasks: jremsi32 and jremsi64
- only required files are included
- even the rt.jar is cut down in size
- the MSI files are only 20MBs larger with the JRE bundled
- javapackager makes the MSI files 50+MBs larger (too big)
- no more problems with missing JRE or wrong JRE installed (32/64bit)
- consider jvm.dll as just another toolkit like qt.dll or gtk.dll
- only supports Java8 for now, Java9 will require an overhaul (jimage)
- jPhoneLite/1.9.7 released!
- improve support for Linux
- jfPasswords/0.14 released!
- fixed drag and drop entries between groups
- jfFTP/0.7 released!
- fixed progress bar with sftp transfers
- jfWebProxy/1.5.0 released!
- a proxy server that uses jsp or php webservers hosted else where
- formerly jGAEProxy (released separately)
- some larger jars in /jars are now downloaded with ant get tasks
Jun 30/2015 : JF 9.3.0 released!
- VoIP fixes:
- handle QOP auth better
- echo back Record-Route fields (RFC 2543 6.29)
- reply 405 "Method Not Allowed" to "OPTIONS" request
- ignore sip code 181 (call forwarded)
- now supports flowroute.com
- jPhoneLite/1.9.6 released!
- desktop and android
- jfBroadcast/0.31 released!
- jPBXLite/0.23 released!
Jun 25/2015 : JF 9.2.0 released!
- jPhoneLite Android/1.9.5 AR #12 released!
- should fix bug #28
- finally upgraded the android edition to most desktop standards
- includes g722 support
- android does not support all desktop features yet
- jfPaint/0.19 released!
- added scale/rotate
- new filters
- bug fixes
Jun 15/2015 : JF 9.1.0 released!
- fixed win32 native issues
- fixed javaforce.gl.GLObject crashing on some video cards
- needed to disable vertex attrib array for UVMap2 if not in use
- projects/jftest3d works on more systems now
- added GL.glTexSubImage2D() function
- added GL.glDisableVertexAttrib() function
- fixed VoIP : could not handle realm with a space
- created a String.split() replacement that can handle "quotes" and trim()s each substring
- fixed VoIP codec selection (see javaforce.voip.RTPChannel.start())
- jPhoneLite/1.9.5 released!
- fixes for bug #27
- jfrecordcamera/0.3 and jfrecorddesktop/0.4 and jfvideo/0.18 released!
- added new higher video bit rates
- javaforce is now available on github.com/pquiring/javaforce
Jun 9/2015 : JF 9.0.0 released!
- after spending years working with JNA I've decided to switch back to JNI.
- JNA uses libffi which is too complex and VERY slow.
- Native sound has been removed - don't notice a latency difference with Java sound anymore and it's just redundant
- All Windows native code has been converted and tested
- mingw headers have greatly improved since last time I used JNI (only 2 minor GUIDs missing)
- jawt is used to get window handles for OpenGL support
- removed jfRDP for now (I have a different plan)
- All Linux native code has been converted and mostly tested (except the jfLinux related APIs)
- OpenGL seems stable
- jawt is used to get window handles for OpenGL support
- WebCamera uses libv4l2 which will convert colorspaces to RGB
- so all cameras should be supported now
- deb packages now specify Architecture set to amd64 since the packages do include some native code
- since Linux is free I'm not going to bother with i386 packages (objections?)
- Mac native code only supports WebCamera and ffmpeg
- OpenGL is not supported because Java 7's new AWT only allows for a CALayer
- the NSOpenGLCALayer doesn't give full control over the OpenGLContext (when to swap, etc).
- you can only use OpenGL in the drawInOpenGLContext callback
- hence JOGL uses a GLAutoDrawable (it's automatic)
- I'ved used JOGL before but found the API too complex (and too many jars/dlls)
- some JavaForce OpenGL projects require full OpenGL control
- only option is to use another toolkit such as SWT or LWJGL with TWL to support Macs
- even Oracle is dumping AWT and creating JavaFX (which doesn't expose OpenGL yet)
- WebCamera is not stable yet
- with the new JNI library I'm already seeing better performance in many of the multi-media apps
- fixed Javaforce's OpenGL GLSL code to work with Mesa3D (which doesn't support flat varying)
- used a uniform shared between the vertex and fragment shaders instead
- thanks to who ever is putting JavaForce on github.com - it's been real useful ;)
- all generated MSI files will now show minial dialogs (licence agreement, installation completion, repair, etc.)
- the common public license used seems acceptable
- JFImage now supports saving *.icns files (Mac Icons)
- see javaforce.utils.jimgconvert
- jfdmg/1.0 released!
- a new utility to generate Mac .dmg files
- supports hciutil (mac only) or genisoimage (cygwin?/linux) to generate .dmg files
- genisoimage creates 'uncompressed' .dmg files (jars are compressed anyways)
- untested
- jfEdit/0.9 released!
- F9/F10 to change selection to lower/upper case and minor fixes
May 23/2015 : JF 8.1.0 released!
- Linux : .cfg files are now added to ELF executable
- jfRDP/0.3 released!
- bug fixes (actually works reliable now) and new button to enable scaled viewing
May 18/2015 : JF 8.0.0 released!
- all native executable launchers are now built in /stubs and copied+patched as needed
- the CLASSPATH/MAINCLASS properties (*.cfg) is stored in the EXE file for Windows
- argument expanding is now implemented (globbing)
- javaforce.jna.WinPE is used to patch the EXE for Windows
- TODO : find a reliable way to attach properties to Linux executables
- TODO : MacOSX (anyone want to donate a MacMini with Intel Core2 or better ;)
- all MSI files are now split into 32bit and 64bit files for Windows
- added some JNI functions in /native to complement JNA (see javaforce.jni.JFNative)
- these functions are used just to call functions within OpenGL for greater performance
- libffi (used by JNA) is a HUGE performance bottleneck
- these new functions have DOUBLED the frame rate in jfCraft
- if the JNI library fails to load it will fall back to JNA
- overtime I plan to merge JNA into JF but using non-generic invoke...() functions
- jfHex & jfHexBig
- minor fixes
- jfCraft/0.12 released!
- x2 FPS and added some new entities
May 7/2015 : JF 7.50.0 released!
- javaforce.gl.GL
- more optz to reduce creating short lived Object[] arrays
- Updated /jars/jna.jar to custom build
- a modified version of JNA that reduces short lived Object[] arrays
- see https://github.com/twall/jna/pull/438
- full source available @ github.com/pquiring/jna
- greatly reduces GC churn and burn which translates to better FPS
- jfCraft/0.11 released!
- new blocks, dynamic IDs and many fixes
Apr 30/2015 : JF 7.49.0 released!
- GLMatrix
- just some optz needed for jfCraft
- jfCraft/0.10 released!
- lots of under the hood changes for performance
Apr 24/2015 : JF 7.48.0 released!
- SIPServer
- fix : issues when client is 127.0.0.1
- jPBXLite/0.22 released!
- fix : reinvites would drop calls with 404
- jfCraft/0.9 released!
- added in-game comms system similar to TeamSpeak (a VoIP Conference - code borrowed from jPhoneLite and jPBXlite)
Apr 20/2015 : JF 7.47.0 released!
- jfPaint/0.18 released!
- fill tool now uses threshold
- fixed undo/redo
- jfRDP/0.2 released!
- improved client connection
- added amin password
- encoded passwords in cfg file
- jfBroadcast/0.30 released!
- fixed minor gui bug
- jfCraft/0.7 released!
- more complex blocks are now blender files
- added skeleton, fence and gate
- more bugs fixed
Apr 7/2015 : JF 7.46.0 released!
- GL framework improvements
- new : added support for multiple UV maps per object (GLUVMap)
- new : added support for sharing an OpenGL context between many GLCanvas/GLJPanel
- new : GLRender now renders a GLScene and there can be many GLRender each
with there own camera view.
- fix : 3DS loader
- some issues resolved
- new : Blender loader
- can now load .blend files
- new : JF3D file format
- a new 3D file format designed for JavaForce
- new : ModelConverter to convert 3ds/blend files to jf3d
- removed : GLWindow and GLFrame (unreliable)
- new app : jf3D
- started to build a 3D modeler since Blender didn't seem to suit my needs,
but after some persistent work on Blender I figured it out.
This app is incomplete but can be used to view 3D files for now.
- jfCraft/0.6 released!
- entities are now Blender models instead of hand coding them
- hundred to thousands of lines of code removed
- VoIP framework improvements
- started to fix the CallDetails memory leak
- freeing the CallDetails was never done before since I was not sure when to do it
- ex: freeing them after bye() will not work since a 200 is expected (or ACK in other cases)...
- they are small and was never a concern until someone said the autodialer was using a lot of memory
- this is not complete yet but should fix most leaks for now
- jPhoneLite/1.9.4
- some memory leaks fixed
- jfBroadcast/0.29
- some memory leaks fixed
- javaforce.jar is now > 1MB ;)
Mar 26/2015 : JF 7.45.0 released!
- jfBroadcast/0.28
- new : added voicemail detection
- fix : increased default silence duration to 2000ms
- fix : some options were not saved to disk
- jPhoneLite/1.9.3
- new : added Online Help button
- jfFTP/0.6
- fix : improved ftp support
Mar 19/2015 : JF 7.44.0 released!
- javaforce.jna.WinWebBrowser
- new class to embed ActiveX Browser into a java.awt.Canvas
- see javaforce.jna.TestBrowser for an example
- javaforce.jna.WinRDPServer and WinRDPClient
- new classes to use Windows Desktop Sharing API (ActiveX)
- jfRDP/0.1 released!
- new app : Remote Desktop Server/Client for Windows Vista or higher
- uses the Windows Desktop Sharing API (based on RDP)
- jLogon/0.18
- fixed booting in Ubuntu/15.04
- Ubuntu ISO boots now, but once installed X11 fails to start, so close...
Mar 10/2015 : JF 7.43.0 released!
- jfNetTools/0.1 released!
- new app with some basic networking tools (LAN benchmark, ping, dns, etc.)
- jfDNS/0.2 released!
- fix : getName() had some bugs with pointers
- fix : default config was missing a TTL
- fix : sends bogus info for reverse dns queries (nslookup likes to know who the dns server is)
Feb 9/2015 : JF 7.42.0 released!
- javaforce.voip.SIPClientInterface now includes onAck()
- jPhoneLite/1.9.3 beta 1
- now supports INVITE without SDP and ACK with SDP instead (see RFC 3665 sec 3.6)
- not released yet (still testing)
- jfPaint/0.17
- support for image layers (saves to new file *.jfpaint)
- jfFTP/0.5
- fixed progress bar
- jfEdit/0.8
- msi package now registers .txt as a new file type (in Explorer -> New -> Text Document)
- the one from Notepad disappears?
- jLogon/0.17
- now uses systemd on Ubuntu (15.04)
Jan 17/2015 : JF 7.41.0 released!
- jfBroadcast/0.27
- improved -allowdups performance
- jfAudio/0.14
- fixed endian difference between Java and Native sound
- fixed paint() issue
- added volume levels
Nov 27/2014 : JF 7.40.0 released!
- javaforce.GL
- added Stencil functions (untested)
- jfTerm/0.18
- fixed some ANSI codes
- jfLinux : Ubuntu ISO : fixed Wine installation
- Wine on amd64 requires 'dpkg --add-architecture i386' since it requires both i386 and amd64 packages to
run 32/64bit Windows apps.
Nov 7/2014 : JF 7.39.0 released!
- all linux apps now use a native c loader just like the msi packages for windows
- before bash scripts were used which made the process list look confusing
- finally fixed signed repository (do not gzip the files)
- added support to read xpm images (old linux format still rarely used)
- jfusesmb
- improved performance
- jFile/0.12
- can use CTRL to multi select files
- fix resource leak
- jDesktop/0.27
- many improvements (new layout, many bug fixes)
- jConfig/0.12
- integrated japps, jrepo and jparted
- jfPaint/0.16
- added xpm support and some bug fixes
- grub2 has a bug that is causing the generated iso to have difficulties booting after installed
- see https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1311247
Nov 1/2014 : JF 7.38.0 released!
- javaforce.utils.monitordir (Linux:inotify service)
- added MOVED_TO & MOVED_FROM events
- jFile/0.11
- cut/copy/paste now implemented using a global clipboard now
- added some common keyboard shortcuts
- jDesktop/0.26
- stores cut/copy/paste in a special clipboard (since Java Clipboard does not support cut to clipboard)
- jConfig/0.11
- fix : Interface dialog still tries to save config on cancel
- jLogon/0.16
- fix : network issues
- jfFTP/0.4
- added some common keyboard shortcuts
- jfTorrent/0.4
- added MSI package
Oct 25/2014 : JF 7.37.0 released!
- jPhoneLite/1.9.2
- some minor fixes
- jDesktop/0.25
- fix : config was not saved in some cases
Oct 24/2014 : JF 7.36.0 released!
- GLMatrix
- added addRotate3() and addRotate4() to add rotation that is not affected by previous rotations.
- needed for JFCraft/0.2
- jLogin/0.15
- fixed X11 termination (shutdown and reboot works again)
- fixed repaint issue after logoff
- jDesktop/0.24
- can now drag apps to the dock (*.desktop files)
- AddAppDialog window now uses JFileBrowser which you can drag icons to the dock
- jFile/0.10
- added setFilter(String regex) to show only certain files
- jConfig/0.10
- added TimeZone to date/time panel
- jParted/0.4
- added timezone info (for jInstall)
- jInstall/0.5
- added timezone selection during install
- jRepo/0.2
- new smaller map
- jfLinux : still one bug remains : sometimes network interfaces fail to init (jnetworkmgr)
- I see why Mint stays with older version of Ubuntu, updates seem to brake everything
Oct 13/2014 : JF 7.35.0 released!
- jfLinux
- fix more Ubuntu 14.10 issues (boots now)
- jfTerm/0.17
- opening a local bash tab works 100% of the time now
- jDesktop/0.23
- minor changes
- jLogon/0.14
- added some required packages
Oct 8/2014 : JF 7.34.0 released!
- jfBroadcast/0.26
- fix -allowdups option
- jfLinux
- fix some Ubuntu 14.10 issues
Oct 7/2014 : JF 7.33.0 released!
- jfBroadcast/0.25
- added -allowdups option (user requested feature)
Oct 6/2014 : JF 7.32.0 released!
- jfBroadcast/0.24
- added -dbpath and -cfgsuffix and sip port ranges to allow multiple copies to run (user requested feature)
- jfFTP/0.3
- added SSH Identity Key support
- updated Ubuntu ISO build scripts for Ubuntu 14.10 (still not working yet)
- amd64 should be used for 64bit targets, not x86_64
- some build files are in different packages (syslinux -> isolinux)
Sept 20/2014 : JF 7.31.0 released!
- jfPaint/0.15
- added new fill mode (fill edges)
- jfMedia/0.10
- changed video frame into a video panel and integrated into main frame
- Linux : all apps now have correct categories set in their .desktop files for those using other desktop environments
- so now the apps will appear in correct menus for Mate and similar desktops.
Sept 15/2014 : JF 7.30.0 released!
- cosmetic fixes only
- jfPasswords/0.12 & jPBXLite/0.21 & jPhoneLite/1.9.1 & jfBroadcast/0.23
- tray icon is now scaled to correct size (must call SystemTray.getTrayIconSize() to get OS specific size)
- new tray icons that matches Windows 7 theme
Aug 8/2014 : JF 7.29.0 released!
- ffmpeg
- fixed audio resampling (no more audio ticks if input/output sample rates differ)
- jfVideo/0.17
- cleaned up some element properties
- added mute to audio props
- added some higher quality bit rates and sample rates
- jfMedia/0.9
- ffmpeg fixes
Aug 1/2014 : JF 7.28.0 released!
- ffmpeg codecpack
- fixed method to determine FPS which now works on WMV type files.
- jfVideo/0.16
- fixed bugs
- jfMedia/0.8
- fixed bugs, and released on sourceforge.net
July 29/2014 : JF 7.27.0 released!
- jfPassword/0.11
- added DnD support
- remembers window position (user requested feature)
- jfVideo/0.15
- added context menus
July 26/2014 : JF 7.26.0 released!
- jfBroadcast/0.22
- new : goto user input will now timeout and added max timeouts after which the call is dropped (user requested feature)
- jfVideo/0.14
- new : added text overlay
July 12/2014 : JF 7.25.0 released!
- jfBroadcast/0.21
- new : added calling times (user requested feature)
July 10/2014 : JF 7.24.0 released!
- jfAudio/0.13
- fixed paste function
- added generate tone and silence
July 8/2014 : JF 7.23.0 released!
- new codec : g722
- jPhoneLite/1.9.0
- supports new g722
- everything is now interpolated to 44.1khz internally
- jfBroadcast/0.20
- Goto message by user input is now logged in survey data (user requested feature)
- jPBXLite/0.20
- added support for g722
July 5/2014 : JF 7.22.0 released!
- fix : javaforce.jna.WinSound : Input class only supported mono
- fix : voip : RTCP packets were not being dispatched (still ignored though)
- jfAudio/0.12
- added support for recording in stereo and many new options that are now saved
- jPhoneLite/1.8.1
- fixed video codec selection (works better with Asterisk now)
- jfEdit/0.7
- assigned hot keys to edit settings dialog
July 4/2014 : JF 7.21.0 released!
- jPBXLite/0.19
- added Queues (ACD) [experimental]
- added tray icon
- jfBroadcast/0.19
- added tray icon
July 2/2014 : fixes
- jfAudio/0.11
- do not allow negative selections
Jun 26/2014 : JF 7.20.0 released!
- jfBroadcast/0.18
- added MSI package and new icon
- database now stored in new location
- jPBXLite/0.18
- added MSI package and new icon
- database now stored in new location
Jun 23/2014 : JF 7.19.0 released!
- jfPasswords/0.10
- fix : now shows Window regardless of if it's minimized, not in front or closed.
Jun 12/2014 : JF 7.18.0 released!
- fix : javaforce.media.Sound will not use Linux API on Mac OSX
- fix : Mac Camera will accept -1 for desired width/height
- fix : Mac Camera - reverse RGB values (can't use proper order for some reason : Mac causes seg fault)
Jun 11/2014 : JF 7.17.0 released!
- javaforce.media.Camera works on Mac OSX now (uses QTKit for now, will try to add AVFoundation later)
- unable to find a complete ffmpeg dylib's for Mac though, so most apps that use Camera need this too
Jun 7/2014 : JF 7.16.0 released!
- OpenGL support on Mac OSX has been completed using pure JNA (not an easy task)
- JavaForce is becoming more of a game development platform.
- Check out /projects/jtest3d
- GLJPanel has not been tested on Mac OSX (requires OpenGL3.0 which my test system doesn't have)
- GLCanvas is your best bet, it works on ALL platforms.
May 30/2014 : JF 7.15.0 released!
- javaforce.jna.objc.*
- new classes to work with ObjectiveC framework
- started to support OpenGL in MacOSX (not working yet - keep getting an 'invalid drawable' error)
- see /projects/jtest3d
- fix : jtest3d
- fixed some changes needed for changes made to GLMatrix
May 23/2014 : JF 7.14.0 released!
- embedded Web Server (javaforce.service.Web)
- added gzip compression support
- jfEdit/0.6
- fix : needed to place quotes around argument to open files with spaces (added " to wix.xml)
May 22/2014 : JF 7.13.0 released!
- jfEdit/0.5
- now includes MSI package that will register with text/plain files (*.txt *.ini *.properties).
- jfPasswords/0.9
- now checks if safe file has changed when main window is shown and asks to reload if so
- the Windows launcher now supports passing command line options to the java main() method and can also run from a different folder.
May 12/2014 : JF 7.12.0 released!
- jfMusic/0.3
- added export to audio file function
- OpenGL - added more constant values
Apr 25/2014 : JF 7.11.0 released!
- jfAudio/0.10
- added resample feature
- updated many wix config files to include the app icon (msi packages)
- fixed many javadoc functions
Apr 22/2014 : JF 7.10.0 released!
- fix : javaforce.voip.Wav was not loading the entire wav file
- jPhoneLite/1.8.0
- can now assign different ringtones for in/out bound calls (user requested feature)
- jfVideo/0.13
- fixed 3D camera edit button
- jfMusic/0.2
- fixed play button on samples tab
- jfPaint/0.14
- moved some tools from mouseClicked() to mousePressed() for better response
Apr 15/2014 : JF 7.9.0 released!
- new : bringing jfFTP back to JavaForce.
- this little project was converted to jFile for jfLinux but the original was more platform independent
- new : OpenGL : added some missing functions (glUniform i1,i2,i3, f1,f2,f3)
- new : added some helper functions : JF.join(String delimit, String strings[]), JF.centerWindow(Window)
Mar 27/2014 : JF 7.8.0 released!
- jfTerm/0.16
- fix : timer was never cancelled which caused memory leak
- misc improvements
- added : GL.getIntegerv() , GL.MAX_TEXTURE_SIZE
Mar 20/2014 : JF 7.7.0 released!
- jfMusic/0.1 released!
- finally got everything done that I wanted.
- regions work now
- output is linear interpolated for smooth sounding samples
- many more features I want to add but basic music tracking works
- includes a nice stand alone midi keyboard for just playing music
Mar 19/2014 : JF 7.6.0 released!
- jfMusic
- more stuff actually works now
- still need to work on regions, which means changing the mproj format
- jfPaint/0.13
- fix : fill with alpha mode could potentially freeze app
Mar 18/2014 : JF 7.5.0 released!
- new JF.getMaximumBounds()
- same as java.awt.GraphicsEnvironment.getMaximumWindowBounds() except the JVM version fails to update after a screen size change.
It returns the same size before the screen size change. Somewhere a stale configuration object is being used.
I've filed a bug report at bugs.java.com (pending approval)
- jDesktop/0.22
- adjust system tray position when screen size changes
- there still remains another bug : after changing screen size resolution JPopupMenu.show() places menus based on old screen size (dah!!!)
- I don't think I can compensate for this one
- jfMusic progress
- more work on the music creator (not 100% complete)
- DLS files (sound banks) can be loaded for better samples
Mar 12/2014 : JF 7.4.0 released!
- fixed Java 8 compile errors
- Java now includes it's own Base64 implementation in java.util which is same name as mine so fixed a few ambiguous references
- keytool class is no longer accessible so execute binary directly instead
- upgraded all minimum Java versions to 1.6 in all ant build.xml files (Java 5 is no longer supported)
- plymouth-theme now works in Fedora LiveCD (must be installed in different folder than ubuntu) but fails after installation
- jPhoneLite/1.7.1
- fix for Java8
- added SRTP checkAuth() and checkForReplay()
- jPBXlite/0.17
- fix for Java8
Feb 26/2014 : JF 7.3.0 released!
- jfTerm/0.15
- fixed a NPE
Feb 25/2014 : JF 7.2.0 released!
- jconfig/0.9
- DesktopPanel now uses xrandr to set size instead of trying (failing) to create a new Xorg.conf file. No longer need to reboot either.
- jdesktop/0.21
- runs xrandr --auto when a new monitor becomes available
- finished implementing a very simple battery dialog
- jlogon/0.13
- changes to support xrandr
Feb 20/2014 : JF 7.1.0 released!
- many features in R6 that I assumed still worked didn't anymore and had to be fixed (mostly due to changes in Linux)
- need some testers
- jLogon/0.12
- fix : wireless networking is working again
- consolidated BT/VPN/wireless code into the jnetworkmgr
- fix : migrated bluez support 4 -> 5
- fix : auto mounter is working again
- jDesktop/0.20
- fix : dock appears when first login again
- fix : fuse smb actual works now (kinda slow though)
- jFile/0.9
- fix : umount works
- fix : mapping drives works again
- new : jfMusic now includes a midi keyboard (note:this app is still under development and is not ready)
- released R7u1 ISO (see jflinux.org)
Feb 14/2014 : JF 7.0.1 released!
- running jfLinux on real hardware revealed some bugs
- jDesktop/0.19
- fix : the Dock had a rare deadlock (never use java.awt.event.EventQueue.invokeAndWait() in a synchronized block of code or ctor)
- jfTerm/0.14
- fix : LnxPty is now more stable
- fix : all threads close properly now when a tab is closed (avoiding OutOfMemory exception)
Feb 12/2014 : JF 7.0.0 released!
- The next major release is here!
JavaForce is the heart of the Java Infused Linux operating system.
Please goto jflinux.org to download the latest ISO.
Feb 10/2014 : JF 6.59.0 released!
- new : jfuse-cdfs is added to the list of fuse utils (mount audio cd and rip as wav files)
- fix : many fixes related to jfLinux (jfile, jdesktop, jmedia)
- next iso release is imminent.
Feb 8/2014 : JF 6.58.0 released!
- jfTerm/0.13 released
- fix : UTF8 char sequences decoded properly now
- fix : Fuse is working again - needed to ensure readdir() does not return names with '/' path seperators
- new : added a .zip Fuse handler (read only) - need to add support in jfile
- new : Linux.x11_get_window_list() uses _NET_CLIENT_LIST instead of XQueryTree (much easier and accurate)
and even updates if a window title changes
Thanks to libnwck source (https://git.gnome.org/browse/libwnck/tree/libwnck)
- new : jDesktop.Dock now tracks window groups (even more like Windows 7, err, I mean DockBarX)
Feb 7/2014 : JF 6.57.0 released!
- fix : jfTerm/0.12 released!
- local term app is now called with full environment (LnxPty.makeEnvironment())
- new : jDesktop : now shows active windows in the taskbar (Windows 7 style)
Feb 5/2014 : JF 6.56.0 released!
- new : jfBroadcast/0.17 released
- added -start command line option
- fix : jlogon : instead of using a pty to make sudo work, I disabled requiretty in /etc/sudoers
- other various fixes
Feb 2/2014 : JF 6.55.0 released!
- new : jfTerm/0.11 released
- fixed some ANSI codes
- fix : a few apps were still using openpty - switched them to use LnxPty instead
- fix : jLogon : bluetooth was using hidd which is deprecated (and unavailable on fedora now) - switched to hcitool
- fix : update jfAudio source (change in FFMPEG required changes in logic - no release needed)
Feb 1/2014 : JF 6.54.0 released!
- new : VoIP stack now supports DTLS server and client sides
- jPhoneLite/1.7.0
- enabled DTLS support (tested with jPBXlite/0.16 only)
- jPBXlite/0.16
- improved DTLS support
Jan 31/2014 : JF 6.53.0 released!
- new : VoIP SIP code now supports new transports : TCP and TLS
- jPhoneLite/1.6.0
- enable new SIP transports
Jan 30/2014 : JF 6.52.0 released!
- jPhoneLite/1.5.0 released!
- new : added SRTP support (tested with Asterisk 1.8 (11.7.0))
- key exchange is thru plaintext SIP for now, plan to add TLS support later.
- also plan to add DTLS (does Asterisk support that?)
- fix : javaforce.Base64.decode() never worked (missing some brackets to do proper order of ops)
Jan 29/2014 : JF 6.51.0 released!
- new : bouncy castle jar added for DTLS support
- new : javaforce.voip.RTPSecureChannel starting to implement SRTP with DTLS (server side only)
- new : jPBXlite/0.15