nichpatr

QuranView

QuranView blend.zip contains three files: QV_pages.blend and page-time.csv to write and generate data & pages.xlsx to keep track of hh:mm:ss conversions to ss. (Note: In page-time.csv, use a value of -1 for even pages where the track ends on an odd page & a value of 0 for any pages with tracks beginning at the start of the page.)

QuranView blend.zip

I use a Gradient Map Filter in Krita to add alpha and then scale the image to 1166×754.

I use Audacity for Audio.

The .js data files are maintained by generating the required lines of data using the python script array_out_data and then copy & pasting from the System Console to a text editor – I use Kate. (Note: Edit the values of start_frame & end_frame to set the frame range or, set current=1 to use the current frame.)

The script Snap-Addon is to simplify the placing of Verse number markers. When executed from the Text Editor in Blender, a new menu, Snap, is added to the 3D Viewport when in Object Mode. Place the 3D cursor near where the number marker should be and select Snap Operator from the menu. Be sure Record is enabled when finalizing the location. (Note: The Verse number is persistent and automatically increments.)

Maintain a duplicate of root position keyframes for new Frames.

(Note: For pens that have blotting, i.e. Wacom Bamboo Ink (2019), lifting the lowest pressure a bit above 0 on the Size Curve for the pen in Blender can improve the response.)

Layers are used and have various Stroke Thickness Adjustments.


Git

The site, at the point in the QV blend.zip example, is available via GitHub repository.

https://github.com/nich-4347/Kit.git

If you have your own file location, the strings in the media.js file must be changed. Double-click quran-viewer.htm in the Viewer directory to run.


Translation

Word for Word Translation is copied from Quran.com

Translations are stored in a database per Surah with a name including leading 0’s as:

Ayah (int, nullable) | Verse (varchar, nullable)

The last Verse on each Page is stored per Surah in an accompanying Table with the name ###-Pages as:

Pg (int, nullable) | Ayah (int, nullable) | is_Complete (int, nullable)

is_Complete=1 indicates that the last verse ended on the page.

Locate the following page, w4w.php (connection information omitted), inside the Viewer folder in a folder named php :

server.zip

Translation is available is indicated by including the assignment isw4w : 1 in the SurahTable array.