2026.0518.2054
2026-05-18
"TutorialSeason003/scripts/s002opencvPythonVideoCaptureMachineLearning.py" Corrected Version;
It Seems that NumPy CanNot Set PrintOptions Correctly
While MultiThreading.
So that NumPy Needs to Set PrintOptions Before MultiThreading.
Please Check "TutorialSeason003/scripts/s002opencvPythonVideoCaptureMachineLearning.py".
Best Regards,
--Yasushi Yassun Obata
2026.0329.2043
2026-03-29
"pjThreeDim became Available to GLB File" Version;
We Added Two APIs in "pjThreeDim" module
in order to make you available to GLB file.
1) pj3d.getMeshNameListFromGLBFile( GLBfileAbsPath )
2) pj3d.createSCNSceneWithGLBFilePath(
GLBfileAbsPath,
meshName,
modelName,x,y,z )
In Order to know how to Use the APIs,
Please Check
"CameraAngle.create3dModelGLB(self,glbFileName,meshName,modelName) " method
in "TutorialSeason001/s009ThreeDimTest.py".
****Romans 12:6-8, NIV;
12:6 We have different gifts, according to the grace given to each of us. If your gift is prophesying, then prophesy in accordance with your faith;
12:7 if it is serving, then serve;
if it is teaching, then teach;
12:8 if it is to encourage, then give encouragement;
if it is giving, then give generously;
if it is to lead, do it diligently;
if it is to show mercy, do it cheerfully.
Best Regards,
--Yasushi Yassun Obata
2026.0316.2245
2026-03-16
Minor Update of "EditScriptView-KeyWordSearch" Version;
We modified the "EditScriptView-KeyWordSearch"
'cause, when we touch "Previous" button or "Next" button, our Thumb finger of Right hand hides Number of Matches or LineNumber.
Now both Number of Matches and LineNumber is at the Left of both "Previous" button and "Next" button.
This is a Very Small Update but the change will make Easier to Use.
It seems "Search" in Japanese Language means "Happy" in English.
So we quoted the Scripture about "Happy".
****Psalm 1:1-3, GNT;Good News Translation;
1:1 Happy are those
who reject the advice of evil people,
who do not follow the example of sinners
or join those who have no use for God.
1:2 Instead, they find joy in obeying the Law of the Lord,
and they study it day and night.
1:3 They are like trees that grow beside a stream,
that bear fruit at the right time,
and whose leaves do not dry up.
They succeed in everything they do.
Best Regards,
--Yasushi Yassun Obata
2026.0307.1606
2026-03-07
EditScriptView-KeyWordSearch Version;
For many years, our priority was Not implementing TextEditor with "KeyWord Search"
but implementing either NumPy or PyTorch.
But, Since Once we reached at the implementing both NumPy and PyTorch
as "PeterJohnNumPy", "PeterJohnNumPyMatplotlib", "PeterJohnPyTorch",
Now We Added "KeyWord Search" function to EditScriptView at this time.
So that You Can Search a Line and modify the Line easily.
So Far, we needed to use iPhone's "Notes" app in order to search a Line and modify the Line,
and needed to Paste the Script to the EditScriptView again.
but Now You Can Search a Line and modify the Line easily on "PeterJohn".
It seems "Search" in Japanese Language means "Happy" in English.
So we quoted the Scripture about "Happy".
****Psalm 1:1-3, GNT;
1:1 Happy are those
who reject the advice of evil people,
who do not follow the example of sinners
or join those who have no use for God.
1:2 Instead, they find joy in obeying the Law of the Lord,
and they study it day and night.
1:3 They are like trees that grow beside a stream,
that bear fruit at the right time,
and whose leaves do not dry up.
They succeed in everything they do.
Best Regards,
--Yasushi Yassun Obata
2026.0301.0809
2026-03-01
'TutorialSeason003/s007AMACEaction.py' Added Version;
We Added Three APIs at this time.
Please Check the 'TutorialSeason003/s007AMACEaction.py' to know how to use the APIs.
import pjThreeDim as pj3d
import pjTkInter as tk
1) pj3d.setMaterial()
Check how to use in TutorialSeason003/pjAMACEactionCameraAngle.py;putSideWall() method;
it will make your 3D games beautiful.
2) pj3d.removeNodeHasPrefix()
Check how to use in TutorialSeason003/pjAMACEactionCameraAngle.py;initGame() method;
it will make easier to remove some of Nodes.
3) tk.removeNodeHasPrefix()
Check how to use in TutorialSeason003/pjAMACEactionCameraAngle.py;hideCastTheDemonOutOf(), hideBambooSpear(), hideWin1() method;
it will make easier to remove some of Nodes.
and One More Thing,
we CommentOuted the line of "midiSampler = nil"
at IntroScene.swift and RunScriptViewChild.swift
in
PeterJohnNumPyV4,
PeterJohnNumPyMatplotlib and
PeterJohnPyTorch.
So that these three Apps Can Avoid CRASH.
Best Regards,
--Yasushi Yassun Obata
2026.0216.2016
2026-02-16
's005ThreeDimSquash.py', 's006MMLshepherd.py" and "Edit" button at ScriptView Version;
we Added Three at this time.
**1) TutorialSeason002/s005ThreeDimSquash.py;
This shows how to use pjThreeDim,
how to Create 3D games using "PeterJohn" app.
Please touch "TouchPadLeft" and "UpCursor"
in order to play this game.
TouchPadLeft - move Racket;
UpCursor - Replay;
**2) TutorialSeason003/s006MMLshepherd.py;
we added two of APIs into pjSound;
import pjSound as sound
sound.startNote(midiChannel,midiNote,midiVelocity);
sound.stopNote(midiChannel,midiNote,midiVelocity);
and added two of Classes,
pjMMLshepherdClass
pjMMLsheepClass
in order to show how to use the API, sound.noteStart, sound.noteStop;
Please check the code of s006MMLshepherd.py
in order to how to use the classes, pjMMLshepherdClass, pjMMLsheepClass.
Now you Can Play MML( Music Macro Language ) using "PeterJohn" app.
**3) "Edit" button at the TopRight of "ScriptsView";
so that you Can Remove any Non Required File.
Best Regards,
--Yasushi Yassun Obata
2026.0121.0534
2026-01-22
the "PyRun_StringFlags() returns Nil but PyErr_Print() outputs Empty" Problem Solved and a 'Caffe' model Tutorial Removed Version;
we Changed Two Things at this time.
****1) we Solved the "PyRun_StringFlags() returns Nil but PyErr_Print() outputs Empty" Problem;
When you go to RunScriptView for the first time after you installed this App,
you needed to once go back to EditScriptView and then needed to go to RunScriptView again.
It was Due to that Py_FinalizeEx() wasNot called before Py_Initialize() was called.
and it was Hard to solve this problem
'cause the error message "fopen failed for data file: errno = 2 (No such file or directory), Errors found! Invalidating cache..." has Hidden this problem for many years.
As a result, the error message "fopen failed for data file: errno = 2 (No such file or directory), Errors found! Invalidating cache..." didNot relate to the problem that PyRun_StringFlags() returns Nil
for the first time when you installed this App.
****2) we Removed the tutorial
2.1) TutorialSeason003/s003DeepLearningColorizes.py
since it seems Richard Zhang's Image Colorization 'Caffe' model is No Longer provided.
Instead of it, Please use
"TutorialSeason008/s002PyTorchMpsDeepColorization.py"
on "PeterJohnPyTorch"
So that you Can use
Richard Zhang's Image Colorization 'PyTorch' model on 'PeterJohnPyTorch'.
Best Regards,
--Yasushi Yassun Obata
2025.1107.0551
2025-11-08
opencv/cmake/iOS.cmake CMAKE_OSX_DEPLOYMENT_TARGET "15.0" Version;
Now You Can Use "OpenCV-Python" at "PeterJohnNumPyMatplotlib" on iOS15 iPhone such as iPhone6Splus.
"S" of "6S" stands for "Steve".
So we canNot Forget "iPhone6Splus".
****Examples Are the Same Even on iOS15;
TutorialSeason003/s006opencvPythonMachineLearning.py;
TutorialSeason003/s007opencvPythonVideoCaptureMachineLearning.py
Enjoy MachineLearning.
Enjoy DeepLearning.
Best Regards,
--Yasushi Yassun Obata
2025.1002.0059
2025-10-02
"tk.stopTkTimer()" BugFix and Adjusted "s04timerTest.py" Version;
in "TutorialSeason001/s04timerTest.py",
we Found a Bug that "tk.stopTkTimer()" function didNot make the stop of Timer.
We Fixed the Bug and Adjusted "s04timerTest.py" a Little
so that User Can Understand Easily How to Use
both "tk.startTimerAfterFunction()" and "tk.stopTkTimer()" functions.
And in some of "TutorialSeason001" examples,
we Added "tk.stopTkTimer()"
So that each example Can Avoid influence from the other example
which Uses Timer in the Same Projects.
And One More Thing,
at this timing,
we added Six Functions Below to "tkInter" module.
It will help you to create some of Apps which use different Font Size or different Font Color,
especially to create some of Games.
**Added Function;;
tk.setLabelFontSize(labelNodeName, fontSize)
tk.setLabelFontColor(labelNodeName, r, g, b, a)
tk.setMainLabelFontSize(fontSize)
tk.setMainLabelFontColor(r, g, b, a)
tk.setTitleLabelFontSize(fontSize)
tk.setTitleLabelFontColor(r, g, b, a)
BestRegards,
--Yasushi Yassun Obata
2025.0923.2217
2025-09-24
"TutorialSeason001/s10ThreeDimAMACE.py" 5.4inch iPhone such as iPhone13mini Available Version;
in 'RunScriptView', fourDirectionPadNode and fourButtonMousePadNode Became Bigger,
So that You Can Play the Game "All Men Are Created Equal"
on 5.4inch, 375x812 Pixel, iPhone such as iPhone13mini.
Enjoy it.
--Yasushi Yassun Obata
2023.1223.1902
2023-12-23
"LSTMtrainingMatplotlibPyPlot" Version;
we Added an Example which shows LSTM Training Result Using "matplotlib.pyplot".
Please Check the example Below.
TutorialSeason006/scripts/s006LSTMtrainingMatplotlibPyPlot.py
Enjoy DeepLearning,
Enjoy NumPy,
Enjoy PeterJohnNumPyMatplotlib.
--Yassun