diff --git a/rpi_setup/files/Desktop/cc3dsfs_script.sh b/rpi_setup/files/Desktop/cc3dsfs_script.sh deleted file mode 100644 index dc860ab..0000000 --- a/rpi_setup/files/Desktop/cc3dsfs_script.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -TARGET_SCRIPT=cc3dsfs_script_tv_kit_2.sh - -BASE_DIR=${HOME}/Desktop/premade_scripts - -ENV_SCRIPT=cc3dsfs_envs.sh - -. ${BASE_DIR}/${ENV_SCRIPT} -${BASE_DIR}/${TARGET_SCRIPT} diff --git a/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_script_tv_kit_1.sh b/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_script_tv_kit_1.sh deleted file mode 100755 index d19aeb7..0000000 --- a/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_script_tv_kit_1.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -${HOME}/Desktop/premade_scripts/cc3dsfs_prepare_script.sh ; ${HOME}/Desktop/cc3dsfs ${TOUCH_COMMAND} --mono_app --pi_enter 27 --pi_select 9 --pi_menu 19 -${HOME}/Desktop/premade_scripts/cc3dsfs_post_script.sh $? diff --git a/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_script_tv_kit_2.sh b/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_script_tv_kit_2.sh deleted file mode 100755 index 7e663f2..0000000 --- a/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_script_tv_kit_2.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -${HOME}/Desktop/premade_scripts/cc3dsfs_prepare_script.sh ; ${HOME}/Desktop/cc3dsfs ${TOUCH_COMMAND} --mono_app --pi_power 3 --pi_select 6 --pi_enter 9 --pi_menu 19 -${HOME}/Desktop/premade_scripts/cc3dsfs_post_script.sh $? diff --git a/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_script_tv_kit_buttonless.sh b/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_script_tv_kit_buttonless.sh deleted file mode 100755 index 3d9f439..0000000 --- a/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_script_tv_kit_buttonless.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -${HOME}/Desktop/premade_scripts/cc3dsfs_prepare_script.sh ; ${HOME}/Desktop/cc3dsfs ${TOUCH_COMMAND} --mono_app -${HOME}/Desktop/premade_scripts/cc3dsfs_post_script.sh $? diff --git a/rpi_setup/files/Desktop/update_to_stable.sh b/rpi_setup/files/Desktop/update_to_stable.sh index 9841c8e..ec6e2ee 100644 --- a/rpi_setup/files/Desktop/update_to_stable.sh +++ b/rpi_setup/files/Desktop/update_to_stable.sh @@ -1,3 +1,12 @@ #!/bin/sh -premade_scripts/update_script.sh https://github.com/Lorenzooone/cc3dsfs/releases/latest/download cc3dsfs_rpi_kiosk_setup.zip setup.sh +if [ -e /boot/firmware/config.txt ]; then + FIRMWARE=/firmware +else + FIRMWARE= +fi + +PROGRAM_NAME=cc3dsfs +BASE_TARGET_DIR=/boot${FIRMWARE}/${PROGRAM_NAME} + +${BASE_TARGET_DIR}/premade_scripts/update_script.sh https://github.com/Lorenzooone/cc3dsfs/releases/latest/download cc3dsfs_rpi_kiosk_setup.zip setup.sh diff --git a/rpi_setup/files/Desktop/update_to_unstable.sh b/rpi_setup/files/Desktop/update_to_unstable.sh index 2ba5176..f1ebf15 100644 --- a/rpi_setup/files/Desktop/update_to_unstable.sh +++ b/rpi_setup/files/Desktop/update_to_unstable.sh @@ -1,3 +1,12 @@ #!/bin/sh -premade_scripts/update_script.sh https://github.com/Lorenzooone/cc3dsfs/releases/download/nightly-latest cc3dsfs_rpi_kiosk_setup.zip setup.sh +if [ -e /boot/firmware/config.txt ]; then + FIRMWARE=/firmware +else + FIRMWARE= +fi + +PROGRAM_NAME=cc3dsfs +BASE_TARGET_DIR=/boot${FIRMWARE}/${PROGRAM_NAME} + +${BASE_TARGET_DIR}/premade_scripts/update_script.sh https://github.com/Lorenzooone/cc3dsfs/releases/download/nightly-latest cc3dsfs_rpi_kiosk_setup.zip setup.sh diff --git a/rpi_setup/files/etc/rc.local b/rpi_setup/files/etc/rc.local index cc09fe5..ddf3d2a 100755 --- a/rpi_setup/files/etc/rc.local +++ b/rpi_setup/files/etc/rc.local @@ -17,4 +17,17 @@ if [ ! -e /expanded_rootfs ]; then reboot fi +if [ -e /boot/firmware/config.txt ]; then + FIRMWARE=/firmware +else + FIRMWARE= +fi + +# Make it so the files can be edited by cc3dsfs... +GROUP_NAME=boot_files +GID_GROUP=$(getent group ${GROUP_NAME} | cut -d: -f3) + +umount /boot${FIRMWARE} +mount -o umask=002,gid=${GID_GROUP} /boot${FIRMWARE} + exit 0 diff --git a/rpi_setup/files/kiosk_single_execution_script.sh b/rpi_setup/files/kiosk_single_execution_script.sh new file mode 100644 index 0000000..c31274b --- /dev/null +++ b/rpi_setup/files/kiosk_single_execution_script.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +KIOSK_LAUNCHER=startx + +TARGET_EXIST_FILE=/tmp/executed_once + +if [ ! -e ${TARGET_EXIST_FILE} ]; then + touch ${TARGET_EXIST_FILE} + ${KIOSK_LAUNCHER} ${HOME}/command_to_execute_once.sh +fi diff --git a/rpi_setup/files/main_files/cc3dsfs_script.sh b/rpi_setup/files/main_files/cc3dsfs_script.sh new file mode 100644 index 0000000..da50b79 --- /dev/null +++ b/rpi_setup/files/main_files/cc3dsfs_script.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +# You can change the contents of this file to specify a different script +# Do not change the path unless you know what you are doing +FILE_WITH_TARGET_SCRIPT=cc3dsfs_script_name.txt + +# Do not change the following unless you know what you are doing +if [ -e /boot/firmware/config.txt ]; then + FIRMWARE=/firmware +else + FIRMWARE= +fi + +export PROGRAM_NAME=cc3dsfs +export BASE_TARGET_DIR=/boot${FIRMWARE}/${PROGRAM_NAME} +export PREMADE_DIR=${BASE_TARGET_DIR}/premade_scripts +export CC3DSFS_CFG_DIR=${BASE_TARGET_DIR}/.config +export MAIN_KIOSK_PROGRAM=${HOME}/${PROGRAM_NAME}_link + +mkdir -p ${CC3DSFS_CFG_DIR} + +ENV_SCRIPT=${PROGRAM_NAME}_envs.sh + +. ${PREMADE_DIR}/${ENV_SCRIPT} + +TARGET_SCRIPT=$(cat ${BASE_TARGET_DIR}/${FILE_WITH_TARGET_SCRIPT}) + +${PREMADE_DIR}/${TARGET_SCRIPT} diff --git a/rpi_setup/files/main_files/cc3dsfs_script_name.txt b/rpi_setup/files/main_files/cc3dsfs_script_name.txt new file mode 100644 index 0000000..d8e0c04 --- /dev/null +++ b/rpi_setup/files/main_files/cc3dsfs_script_name.txt @@ -0,0 +1 @@ +cc3dsfs_script_tv_kit_2.sh diff --git a/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_envs.sh b/rpi_setup/files/main_files/premade_scripts/cc3dsfs_envs.sh similarity index 54% rename from rpi_setup/files/Desktop/premade_scripts/cc3dsfs_envs.sh rename to rpi_setup/files/main_files/premade_scripts/cc3dsfs_envs.sh index 4a034d7..b31096e 100644 --- a/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_envs.sh +++ b/rpi_setup/files/main_files/premade_scripts/cc3dsfs_envs.sh @@ -1,4 +1,4 @@ #!/bin/sh -export TO_TOUCH_FILE=${HOME}/tmp_cc3dsfs_file +export TO_TOUCH_FILE=${HOME}/tmp_${PROGRAM_NAME}_file export TOUCH_COMMAND="--touch_file ${TO_TOUCH_FILE}" diff --git a/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_post_script.sh b/rpi_setup/files/main_files/premade_scripts/cc3dsfs_post_script.sh similarity index 100% rename from rpi_setup/files/Desktop/premade_scripts/cc3dsfs_post_script.sh rename to rpi_setup/files/main_files/premade_scripts/cc3dsfs_post_script.sh diff --git a/rpi_setup/files/Desktop/premade_scripts/cc3dsfs_prepare_script.sh b/rpi_setup/files/main_files/premade_scripts/cc3dsfs_prepare_script.sh old mode 100755 new mode 100644 similarity index 100% rename from rpi_setup/files/Desktop/premade_scripts/cc3dsfs_prepare_script.sh rename to rpi_setup/files/main_files/premade_scripts/cc3dsfs_prepare_script.sh diff --git a/rpi_setup/files/main_files/premade_scripts/cc3dsfs_script_tv_kit_1.sh b/rpi_setup/files/main_files/premade_scripts/cc3dsfs_script_tv_kit_1.sh new file mode 100644 index 0000000..5bb71d3 --- /dev/null +++ b/rpi_setup/files/main_files/premade_scripts/cc3dsfs_script_tv_kit_1.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +${PREMADE_DIR}/${PROGRAM_NAME}_prepare_script.sh + +${MAIN_KIOSK_PROGRAM} ${TOUCH_COMMAND} --mono_app --pi_enter 27 --pi_select 9 --pi_menu 19 + +${PREMADE_DIR}/${PROGRAM_NAME}_post_script.sh $? diff --git a/rpi_setup/files/main_files/premade_scripts/cc3dsfs_script_tv_kit_2.sh b/rpi_setup/files/main_files/premade_scripts/cc3dsfs_script_tv_kit_2.sh new file mode 100644 index 0000000..0a48fb1 --- /dev/null +++ b/rpi_setup/files/main_files/premade_scripts/cc3dsfs_script_tv_kit_2.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +${PREMADE_DIR}/${PROGRAM_NAME}_prepare_script.sh + +${MAIN_KIOSK_PROGRAM} ${TOUCH_COMMAND} --mono_app --pi_power 3 --pi_select 6 --pi_enter 9 --pi_menu 19 + +${PREMADE_DIR}/${PROGRAM_NAME}_post_script.sh $? diff --git a/rpi_setup/files/main_files/premade_scripts/cc3dsfs_script_tv_kit_buttonless.sh b/rpi_setup/files/main_files/premade_scripts/cc3dsfs_script_tv_kit_buttonless.sh new file mode 100644 index 0000000..1096a1d --- /dev/null +++ b/rpi_setup/files/main_files/premade_scripts/cc3dsfs_script_tv_kit_buttonless.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +${PREMADE_DIR}/${PROGRAM_NAME}_prepare_script.sh + +${MAIN_KIOSK_PROGRAM} ${TOUCH_COMMAND} --mono_app + +${PREMADE_DIR}/${PROGRAM_NAME}_post_script.sh $? diff --git a/rpi_setup/files/Desktop/premade_scripts/update_script.sh b/rpi_setup/files/main_files/premade_scripts/update_script.sh similarity index 100% rename from rpi_setup/files/Desktop/premade_scripts/update_script.sh rename to rpi_setup/files/main_files/premade_scripts/update_script.sh diff --git a/rpi_setup/instructions.txt b/rpi_setup/instructions.txt index 3e2534d..110cfed 100644 --- a/rpi_setup/instructions.txt +++ b/rpi_setup/instructions.txt @@ -4,7 +4,7 @@ If you want to save space, use the Lite version of the OS. The setup is compatib Turn on the Pi with the SD card and complete the first setup (if any). -Place the cc3dsfs_rpi_mono_setup.zip file in the Pi (either by downloading it, or by using an USB stick). +Place the cc3dsfs_rpi_kiosk_setup.zip file in the Pi (either by downloading it, by using an USB stick or by placing it inside the bootfs partition). You will need an active internet connection to complete the setup. Decompress all the files of the .zip into a folder. diff --git a/rpi_setup/setup.sh b/rpi_setup/setup.sh index 4889a62..d28e2fe 100755 --- a/rpi_setup/setup.sh +++ b/rpi_setup/setup.sh @@ -5,13 +5,19 @@ if [ "$(id -u)" -eq "0" ]; then exit 1; fi +if [ -e /boot/firmware/config.txt ]; then + FIRMWARE=/firmware +else + FIRMWARE= +fi + PROGRAM_NAME=cc3dsfs BASE_SOURCE_DIR="." -BASE_TARGET_DIR=${HOME} +BASE_TARGET_DIR=/boot${FIRMWARE}/${PROGRAM_NAME} sudo apt update -sudo apt -y install xterm xserver-xorg xinit libxcursor1 x11-xserver-utils pipewire pipewire-alsa libharfbuzz-icu0 lsb-release +sudo apt -y install xterm xserver-xorg xinit libxcursor1 x11-xserver-utils pipewire pipewire-alsa libharfbuzz-icu0 lsb-release cage if [ $? -ne 0 ]; then echo "Error while installing required packages! Exiting early!" exit 1 @@ -41,38 +47,86 @@ sudo systemctl disable hciuart.service sudo systemctl disable bluetooth.service #sudo systemctl disable wpa_supplicant.service +sudo mkdir -p ${BASE_TARGET_DIR} +# This won't work in /boot/firmware, but whatever... +# Keep it here if the folder ever changes again. +#sudo chown -R ${USER}:${USER} ${BASE_TARGET_DIR} + +KIOSK_SINGLE_EXECUTION_SCRIPT=kiosk_single_execution_script.sh +cp -f ${BASE_SOURCE_DIR}/files/${KIOSK_SINGLE_EXECUTION_SCRIPT} ${HOME}/${KIOSK_SINGLE_EXECUTION_SCRIPT} +# Do this indirection so the name is not hardcoded... +echo "${BASE_TARGET_DIR}/${PROGRAM_NAME}_script.sh" > ${HOME}/command_to_execute_once.sh +chmod +x ${HOME}/${KIOSK_SINGLE_EXECUTION_SCRIPT} +chmod +x ${HOME}/command_to_execute_once.sh + +# Backup bashrc, to be sure... +BACKUP_BASE_NAME=${HOME}/.bashrc_bak +BACKUP_AVAILABLE_NUMBER=0 +BACKUP_FILE_NAME=$BACKUP_BASE_NAME + +while [ -e "$BACKUP_FILE_NAME" ]; do + BACKUP_FILE_NAME="${BACKUP_BASE_NAME}_${BACKUP_AVAILABLE_NUMBER}" + BACKUP_AVAILABLE_NUMBER=$(($BACKUP_AVAILABLE_NUMBER+1)) +done + +cp ${HOME}/.bashrc ${BACKUP_FILE_NAME} + # I know this isn't how you SHOULD do it, however I tried # various other things (crontab @reboot and rc.local) and they didn't work... -echo "" >> ${BASE_TARGET_DIR}/.bashrc -echo 'if [ -z "${EXECUTED_ONCE}" ]; then' >> ${BASE_TARGET_DIR}/.bashrc -echo " export EXECUTED_ONCE=1 ; startx ${BASE_TARGET_DIR}/Desktop/${PROGRAM_NAME}_script.sh" >> ${BASE_TARGET_DIR}/.bashrc -echo 'fi' >> ${BASE_TARGET_DIR}/.bashrc +cp -f /etc/skel/.bashrc ${HOME}/.bashrc +echo "" >> ${HOME}/.bashrc +echo "${HOME}/${KIOSK_SINGLE_EXECUTION_SCRIPT}" >> ${HOME}/.bashrc -rm -f ${BASE_TARGET_DIR}/Desktop/${PROGRAM_NAME}_script.sh -cp -Rf ${BASE_SOURCE_DIR}/files/Desktop/ ${BASE_TARGET_DIR}/ +# Copy the real program... +sudo rm -f ${BASE_TARGET_DIR}/${PROGRAM_NAME}_script.sh +sudo cp -Rf ${BASE_SOURCE_DIR}/files/main_files/* ${BASE_TARGET_DIR}/ if [ $(getconf LONG_BIT) -eq 32 ]; then - $(cd ${BASE_TARGET_DIR}/Desktop ; rm -f ${PROGRAM_NAME} ; ln -s ${PROGRAM_NAME}_versions/${PROGRAM_NAME}_32 ${PROGRAM_NAME}) + $(cd ${HOME} ; rm -f ${PROGRAM_NAME}_link ; ln -s ${BASE_TARGET_DIR}/${PROGRAM_NAME}_versions/${PROGRAM_NAME}_32 ${PROGRAM_NAME}_link) else - $(cd ${BASE_TARGET_DIR}/Desktop ; rm -f ${PROGRAM_NAME} ; ln -s ${PROGRAM_NAME}_versions/${PROGRAM_NAME}_64 ${PROGRAM_NAME}) + $(cd ${HOME} ; rm -f ${PROGRAM_NAME}_link ; ln -s ${BASE_TARGET_DIR}/${PROGRAM_NAME}_versions/${PROGRAM_NAME}_64 ${PROGRAM_NAME}_link) fi -chmod +x -R ${BASE_TARGET_DIR}/Desktop/premade_scripts/ -chmod +x -R ${BASE_TARGET_DIR}/Desktop/${PROGRAM_NAME}_versions/ -chmod +x ${BASE_TARGET_DIR}/Desktop/${PROGRAM_NAME} -chmod +x ${BASE_TARGET_DIR}/Desktop/${PROGRAM_NAME}_script.sh -chmod +x ${BASE_TARGET_DIR}/Desktop/update_to_unstable.sh -chmod +x ${BASE_TARGET_DIR}/Desktop/update_to_stable.sh +# This won't work in /boot/firmware, but whatever... +# Keep it here if the folder ever changes again. +#sudo chmod +x -R ${BASE_TARGET_DIR}/premade_scripts/ +#sudo chmod +x -R ${BASE_TARGET_DIR}/${PROGRAM_NAME}_versions/ +#sudo chmod +x ${BASE_TARGET_DIR}/${PROGRAM_NAME} +#sudo chmod +x ${BASE_TARGET_DIR}/${PROGRAM_NAME}_script.sh +sudo chmod +x ${HOME}/${PROGRAM_NAME}_link -if [ -e /boot/firmware/config.txt ]; then - FIRMWARE=/firmware -else - FIRMWARE= -fi +cp -Rf ${BASE_SOURCE_DIR}/files/Desktop/ ${HOME}/ +chmod +x ${HOME}/Desktop/update_to_unstable.sh +chmod +x ${HOME}/Desktop/update_to_stable.sh + +# Add symbolic link if user boots wants to use the terminal +rm -f ${HOME}/update_to_unstable.sh +rm -f ${HOME}/update_to_stable.sh +ln -s ${HOME}/Desktop/update_to_unstable.sh ${HOME}/update_to_unstable.sh +ln -s ${HOME}/Desktop/update_to_stable.sh ${HOME}/update_to_stable.sh + +# Add symbolic link if user boots Desktop +rm -f ${HOME}/Desktop/${PROGRAM_NAME} +rm -rf ${HOME}/Desktop/${PROGRAM_NAME} +ln -s ${BASE_TARGET_DIR} ${HOME}/Desktop/${PROGRAM_NAME} + +# Add symbolic link if user wants to use the terminal +rm -f ${HOME}/${PROGRAM_NAME} +rm -rf ${HOME}/${PROGRAM_NAME} +ln -s ${BASE_TARGET_DIR} ${HOME}/${PROGRAM_NAME} sudo cp -f ${BASE_SOURCE_DIR}/files/config.txt /boot${FIRMWARE}/config.txt +GROUP_NAME=boot_files +sudo groupadd -U ${USER} ${GROUP_NAME} + sudo cp -Rf ${BASE_SOURCE_DIR}/files/usr/ / sudo cp -Rf ${BASE_SOURCE_DIR}/files/etc/ / sudo chmod +x /etc/rc.local + +# Add ability to increase priority... May not use it... +echo ${USER} nice hard -20 > /tmp/niceness +echo ${USER} nice soft -20 > /tmp/niceness +sudo mv /tmp/niceness /etc/security/limits.d/35-${PROGRAM_NAME}-nice-limits.conf + # Raspberry Pi OS comes with this now by default?! Why?! sudo mkdir -p /etc/cloud/ sudo touch /etc/cloud/cloud-init.disabled diff --git a/setup_scripts/rpi_mono_setup_setup.sh b/setup_scripts/rpi_mono_setup_setup.sh index b6d41d9..27dd194 100755 --- a/setup_scripts/rpi_mono_setup_setup.sh +++ b/setup_scripts/rpi_mono_setup_setup.sh @@ -3,13 +3,14 @@ unzip -o cc3dsfs_linux_pi64.zip EXTRACTION_FOLDER="cc3dsfs_linux_pi" RPI_SETUP_FOLDER="rpi_setup" RPI_FINAL_ZIP_NAME="cc3dsfs_rpi_kiosk_setup.zip" -mkdir -p ${RPI_SETUP_FOLDER}/files/Desktop/cc3dsfs_versions +BASE_LOCATION=$(pwd) +MAIN_FILES_RPI_SETUP=${RPI_SETUP_FOLDER}/files/main_files +mkdir -p ${MAIN_FILES_RPI_SETUP}/cc3dsfs_versions mkdir -p ${RPI_SETUP_FOLDER}/files/usr/lib/udev/rules.d -cp ${EXTRACTION_FOLDER}32/cc3dsfs ${RPI_SETUP_FOLDER}/files/Desktop/cc3dsfs_versions/cc3dsfs_32 -cp ${EXTRACTION_FOLDER}64/cc3dsfs ${RPI_SETUP_FOLDER}/files/Desktop/cc3dsfs_versions/cc3dsfs_64 -cp -r "${EXTRACTION_FOLDER}32/other licenses" "${RPI_SETUP_FOLDER}/files/Desktop/other licenses" +cp ${EXTRACTION_FOLDER}32/cc3dsfs ${MAIN_FILES_RPI_SETUP}/cc3dsfs_versions/cc3dsfs_32 +cp ${EXTRACTION_FOLDER}64/cc3dsfs ${MAIN_FILES_RPI_SETUP}/cc3dsfs_versions/cc3dsfs_64 +cp -r "${EXTRACTION_FOLDER}32/other licenses" "${MAIN_FILES_RPI_SETUP}/other licenses" cp ${EXTRACTION_FOLDER}32/*.rules ${RPI_SETUP_FOLDER}/files/usr/lib/udev/rules.d -cp ${EXTRACTION_FOLDER}32/LICENSE ${RPI_SETUP_FOLDER}/files/Desktop -cp ${EXTRACTION_FOLDER}32/README.md ${RPI_SETUP_FOLDER}/files/Desktop -$(cd ${RPI_SETUP_FOLDER} ; zip -ry ${RPI_FINAL_ZIP_NAME} ./*) -cp ${RPI_SETUP_FOLDER}/${RPI_FINAL_ZIP_NAME} . +cp ${EXTRACTION_FOLDER}32/LICENSE ${MAIN_FILES_RPI_SETUP} +cp ${EXTRACTION_FOLDER}32/README.md ${MAIN_FILES_RPI_SETUP} +$(cd ${RPI_SETUP_FOLDER} ; zip -qry ${BASE_LOCATION}/${RPI_FINAL_ZIP_NAME} ./*) diff --git a/source/CaptureDeviceSpecific/Optimize_3DS/cypress_optimize_3ds_acquisition.cpp b/source/CaptureDeviceSpecific/Optimize_3DS/cypress_optimize_3ds_acquisition.cpp index c74167e..fd9912f 100644 --- a/source/CaptureDeviceSpecific/Optimize_3DS/cypress_optimize_3ds_acquisition.cpp +++ b/source/CaptureDeviceSpecific/Optimize_3DS/cypress_optimize_3ds_acquisition.cpp @@ -27,8 +27,9 @@ #define SYNCH_VALUE_OPTIMIZE 0xCC33 -#define SINGLE_RING_BUFFER_SLICE_SIZE 0x10000 -#define NUM_OPTIMIZE_3DS_CYPRESS_CONCURRENTLY_RUNNING_BUFFERS 16 +#define TOTAL_WANTED_CONCURRENTLY_RUNNING_BUFFER_SIZE 0x100000 +#define SINGLE_RING_BUFFER_SLICE_SIZE 0x4000 +#define NUM_OPTIMIZE_3DS_CYPRESS_CONCURRENTLY_RUNNING_BUFFERS (TOTAL_WANTED_CONCURRENTLY_RUNNING_BUFFER_SIZE / SINGLE_RING_BUFFER_SLICE_SIZE) #define NUM_TOTAL_OPTIMIZE_3DS_CYPRESS_BUFFERS (3 * NUM_OPTIMIZE_3DS_CYPRESS_CONCURRENTLY_RUNNING_BUFFERS) diff --git a/source/WindowScreen.cpp b/source/WindowScreen.cpp index 33644af..94d935c 100755 --- a/source/WindowScreen.cpp +++ b/source/WindowScreen.cpp @@ -285,7 +285,7 @@ void WindowScreen::after_thread_join() { } void WindowScreen::draw(double frame_time, VideoOutputData* out_buf, InputVideoDataType video_data_type) { - FPSArrayInsertElement(&in_fps, frame_time); + FPSArrayInsertElement(&this->in_fps, frame_time); if(!this->done_display) return; @@ -320,7 +320,7 @@ void WindowScreen::draw(double frame_time, VideoOutputData* out_buf, InputVideoD this->curr_frame_texture_pos = (this->curr_frame_texture_pos + 1) % this->num_frames_to_blend; auto curr_time = std::chrono::high_resolution_clock::now(); const std::chrono::duration diff = curr_time - this->last_draw_time; - FPSArrayInsertElement(&draw_fps, diff.count()); + FPSArrayInsertElement(&this->draw_fps, diff.count()); this->last_draw_time = curr_time; WindowScreen::reset_operations(future_operations); if(out_buf != NULL)