Re: [Interest] How to programatically make a tab's text bold?

2018-04-04 Thread André Pönitz
On Wed, Apr 04, 2018 at 05:10:07AM +, Vadim Peretokin wrote:
> How can I programatically make a tab's text bold? I'm looking to notify the
> user that they need to look at it.
> 
> Note that this is different from using a stylesheet to set the selected tab
> bold - I'd like to set any random tab's text bold.
> 
> Been looking at this for several days, appreciate any advice!

Quick and dirty:

struct Style : QProxyStyle
{
void drawControl(ControlElement element, const QStyleOption *opt, QPainter 
*p, const QWidget *w) const
{
if (element == QStyle::CE_TabBarTab) {
QFont f = p->font();
f.setBold(true);
p->setFont(f);
}
QProxyStyle::drawControl(element, opt, p, w);
}
};

...
yourTabWidget()->tabBar()->>setStyle(new Style);


May need some polish.

Andre'

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Video Filters on Android

2018-04-04 Thread Jason H
Moving to Samsung (OpenCL 1.1), I get:


When linking...
error: undefined reference to 'clCreateFromGLTexture2D'
error: undefined reference to 'clCreateFromGLTexture2D'
error: undefined reference to 'clEnqueueAcquireGLObjects'
error: undefined reference to 'clEnqueueReleaseGLObjects'
collect2: error: ld returned 1 exit status

 




Sent: Wednesday, April 04, 2018 at 1:56 PM
From: "Jason H" 
To: "René Hansen" 
Cc: "interestqt-project.org" 
Subject: Re: [Interest] Video Filters on Android




No joy :-( I think this is only a problem with Google Phones though. The original Pixel had this problem too (according to the internet) Why Google!?

 

I wrote a script to pull & inspect :

 

$ ./inspect_wrapper cl
/system/lib/libGLESv1_CM.so
         U __aeabi_memclr
/system/lib/libGLESv3.so
         U __aeabi_memclr
/system/lib/libGLESv2.so
         U __aeabi_memclr
/system/lib/libEGL.so
         U _ZNSt3__16chrono12steady_clock3nowEv
         U _ZNSt3__18ios_base5clearEj
         U __aeabi_memclr
         U close
         U closedir
         U dlclose
/system/lib64/libGLESv1_CM.so
/system/lib64/libGLESv3.so
/system/lib64/libGLESv2.so
/system/lib64/libEGL.so
                 U _ZNSt3__16chrono12steady_clock3nowEv
                 U _ZNSt3__18ios_base5clearEj
                 U close
                 U closedir
                 U dlclose
/vendor/lib/egl/libGLESv2_adreno.so
001cd173 T _Z37ExpandFullSurfaceRectToIncludePaddingP7BltRectPK10BltSurface
001a8edf T _ZN10EsxMemPool23RecycleBufferDescriptorEP13EsxBufferDesc
0015b97d T _ZN14EglClEventSync24GetGslSyncObjFromClEventEP9_cl_eventPP11gsl_syncobj
0013315b T _ZN16EsxTextureObject15ReclaimResourceEP10EsxContext
002f8d11 T _ZN17A5xOcclusionQuery10HwIssueEndE17EsxQueryEndReason
002fb7a1 T _ZN17A5xOcclusionQuery12CreateObjectEv
002f8c1d T _ZN17A5xOcclusionQuery12HwIssueBeginE19EsxQueryBeginReason
002f8e11 T _ZN17A5xOcclusionQuery18WriteQueryCommandsE13EsxCmdBufTypei
002f8bb3 T _ZN17A5xOcclusionQuery6HwInitEPK18EsxQueryCreateData
002f8dd1 T _ZN17A5xOcclusionQuery9HwGetDataEv
002fb78d T _ZN17A5xOcclusionQueryC1Ev
002fb78d T _ZN17A5xOcclusionQueryC2Ev
002f8ba1 T _ZN17A5xOcclusionQueryD0Ev
002f9511 T _ZN17A5xOcclusionQueryD1Ev
002f9511 T _ZN17A5xOcclusionQueryD2Ev
0018823d T _ZN9EsxCmdMgr20RecycleBucketBufDescEP13EsxBufferDesc
00402414 D _ZTV17A5xOcclusionQuery
         w __aeabi_memclr
         w __aeabi_memclr4
         w __aeabi_memclr8
         U clock_gettime
         U close
         U dlclose
         U fclose
         U gsl_device_close
         U gsl_library_close
         U gsl_syncobj_clone
/vendor/lib/egl/libEGL_adreno.so
         w __aeabi_memclr4
         w __aeabi_memclr8
         U clock_gettime
         U close
         U dlclose
         U fclose
/vendor/lib/egl/libGLESv1_CM_adreno.so
         U fclose
/vendor/lib64/egl/libGLESv2_adreno.so
0021996c T _Z37ExpandFullSurfaceRectToIncludePaddingP7BltRectPK10BltSurface
001f6f30 T _ZN10EsxMemPool23RecycleBufferDescriptorEP13EsxBufferDesc
001af19c T _ZN14EglClEventSync24GetGslSyncObjFromClEventEP9_cl_eventPP11gsl_syncobj
00181d38 T _ZN16EsxTextureObject15ReclaimResourceEP10EsxContext
002ca9fc T _ZN17A5xOcclusionQuery10HwIssueEndE17EsxQueryEndReason
002cde00 T _ZN17A5xOcclusionQuery12CreateObjectEv
002ca870 T _ZN17A5xOcclusionQuery12HwIssueBeginE19EsxQueryBeginReason
002cabbc T _ZN17A5xOcclusionQuery18WriteQueryCommandsE13EsxCmdBufTypei
002ca7ec T _ZN17A5xOcclusionQuery6HwInitEPK18EsxQueryCreateData
002cab48 T _ZN17A5xOcclusionQuery9HwGetDataEv
002cdde4 T _ZN17A5xOcclusionQueryC1Ev
002cdde4 T _ZN17A5xOcclusionQueryC2Ev
002ca7b8 T _ZN17A5xOcclusionQueryD0Ev
002cb370 T _ZN17A5xOcclusionQueryD1Ev
002cb370 T _ZN17A5xOcclusionQueryD2Ev
001d9e28 T _ZN9EsxCmdMgr20RecycleBucketBufDescEP13EsxBufferDesc
005fbef8 D _ZTV17A5xOcclusionQuery
                 U clock_gettime
                 U close
                 U dlclose
                 U fclose
                 U gsl_device_close
                 U gsl_library_close
                 U gsl_syncobj_clone
/vendor/lib64/egl/libEGL_adreno.so
                 U clock_gettime
                 U close
                 U dlclose
                 U fclose
/vendor/lib64/egl/libGLESv1_CM_adreno.so
                 U fclose

 

 

Sent: Wednesday, April 04, 2018 at 1:29 PM
From: "René Hansen" 
To: "Jason H" 
Cc: "interestqt-project.org" 
Subject: Re: [Interest] Video Filters on Android


I don't have a Pixel myself, but have you checked that OpenCL isn't rolled up into /vendor/lib/egl/libEGL_adreno.so. I know that is the case for some phones with Mali chipsets at least. Here's a list of cl symbols from one I pulled from a Samsung Galaxy S7:

 


$ 

Re: [Interest] Video Filters on Android

2018-04-04 Thread Jason H

No joy :-( I think this is only a problem with Google Phones though. The original Pixel had this problem too (according to the internet) Why Google!?

 

I wrote a script to pull & inspect :

 

$ ./inspect_wrapper cl
/system/lib/libGLESv1_CM.so
         U __aeabi_memclr
/system/lib/libGLESv3.so
         U __aeabi_memclr
/system/lib/libGLESv2.so
         U __aeabi_memclr
/system/lib/libEGL.so
         U _ZNSt3__16chrono12steady_clock3nowEv
         U _ZNSt3__18ios_base5clearEj
         U __aeabi_memclr
         U close
         U closedir
         U dlclose
/system/lib64/libGLESv1_CM.so
/system/lib64/libGLESv3.so
/system/lib64/libGLESv2.so
/system/lib64/libEGL.so
                 U _ZNSt3__16chrono12steady_clock3nowEv
                 U _ZNSt3__18ios_base5clearEj
                 U close
                 U closedir
                 U dlclose
/vendor/lib/egl/libGLESv2_adreno.so
001cd173 T _Z37ExpandFullSurfaceRectToIncludePaddingP7BltRectPK10BltSurface
001a8edf T _ZN10EsxMemPool23RecycleBufferDescriptorEP13EsxBufferDesc
0015b97d T _ZN14EglClEventSync24GetGslSyncObjFromClEventEP9_cl_eventPP11gsl_syncobj
0013315b T _ZN16EsxTextureObject15ReclaimResourceEP10EsxContext
002f8d11 T _ZN17A5xOcclusionQuery10HwIssueEndE17EsxQueryEndReason
002fb7a1 T _ZN17A5xOcclusionQuery12CreateObjectEv
002f8c1d T _ZN17A5xOcclusionQuery12HwIssueBeginE19EsxQueryBeginReason
002f8e11 T _ZN17A5xOcclusionQuery18WriteQueryCommandsE13EsxCmdBufTypei
002f8bb3 T _ZN17A5xOcclusionQuery6HwInitEPK18EsxQueryCreateData
002f8dd1 T _ZN17A5xOcclusionQuery9HwGetDataEv
002fb78d T _ZN17A5xOcclusionQueryC1Ev
002fb78d T _ZN17A5xOcclusionQueryC2Ev
002f8ba1 T _ZN17A5xOcclusionQueryD0Ev
002f9511 T _ZN17A5xOcclusionQueryD1Ev
002f9511 T _ZN17A5xOcclusionQueryD2Ev
0018823d T _ZN9EsxCmdMgr20RecycleBucketBufDescEP13EsxBufferDesc
00402414 D _ZTV17A5xOcclusionQuery
         w __aeabi_memclr
         w __aeabi_memclr4
         w __aeabi_memclr8
         U clock_gettime
         U close
         U dlclose
         U fclose
         U gsl_device_close
         U gsl_library_close
         U gsl_syncobj_clone
/vendor/lib/egl/libEGL_adreno.so
         w __aeabi_memclr4
         w __aeabi_memclr8
         U clock_gettime
         U close
         U dlclose
         U fclose
/vendor/lib/egl/libGLESv1_CM_adreno.so
         U fclose
/vendor/lib64/egl/libGLESv2_adreno.so
0021996c T _Z37ExpandFullSurfaceRectToIncludePaddingP7BltRectPK10BltSurface
001f6f30 T _ZN10EsxMemPool23RecycleBufferDescriptorEP13EsxBufferDesc
001af19c T _ZN14EglClEventSync24GetGslSyncObjFromClEventEP9_cl_eventPP11gsl_syncobj
00181d38 T _ZN16EsxTextureObject15ReclaimResourceEP10EsxContext
002ca9fc T _ZN17A5xOcclusionQuery10HwIssueEndE17EsxQueryEndReason
002cde00 T _ZN17A5xOcclusionQuery12CreateObjectEv
002ca870 T _ZN17A5xOcclusionQuery12HwIssueBeginE19EsxQueryBeginReason
002cabbc T _ZN17A5xOcclusionQuery18WriteQueryCommandsE13EsxCmdBufTypei
002ca7ec T _ZN17A5xOcclusionQuery6HwInitEPK18EsxQueryCreateData
002cab48 T _ZN17A5xOcclusionQuery9HwGetDataEv
002cdde4 T _ZN17A5xOcclusionQueryC1Ev
002cdde4 T _ZN17A5xOcclusionQueryC2Ev
002ca7b8 T _ZN17A5xOcclusionQueryD0Ev
002cb370 T _ZN17A5xOcclusionQueryD1Ev
002cb370 T _ZN17A5xOcclusionQueryD2Ev
001d9e28 T _ZN9EsxCmdMgr20RecycleBucketBufDescEP13EsxBufferDesc
005fbef8 D _ZTV17A5xOcclusionQuery
                 U clock_gettime
                 U close
                 U dlclose
                 U fclose
                 U gsl_device_close
                 U gsl_library_close
                 U gsl_syncobj_clone
/vendor/lib64/egl/libEGL_adreno.so
                 U clock_gettime
                 U close
                 U dlclose
                 U fclose
/vendor/lib64/egl/libGLESv1_CM_adreno.so
                 U fclose

 

 

Sent: Wednesday, April 04, 2018 at 1:29 PM
From: "René Hansen" 
To: "Jason H" 
Cc: "interestqt-project.org" 
Subject: Re: [Interest] Video Filters on Android


I don't have a Pixel myself, but have you checked that OpenCL isn't rolled up into /vendor/lib/egl/libEGL_adreno.so. I know that is the case for some phones with Mali chipsets at least. Here's a list of cl symbols from one I pulled from a Samsung Galaxy S7:

 


$ ~/Code/Android/android-ndk-r10e/toolchains/x86_64-4.9/prebuilt/darwin-x86_64/bin/x86_64-linux-android-nm -D ~/Code/Android/samsunggalaxys7/lib/egl/libGLES_mali.so | ag '\bcl[A-Z]'

006823a0 T clBuildProgram

00682584 T clCompileProgram

006808d0 T clCreateBuffer

00688078 T clCreateBufferFromEGLImageARM

00680568 T clCreateCommandQueue

0067fe18 T clCreateContext

006801b4 T clCreateContextFromType

00687db4 T clCreateEventFromEGLSyncKHR

00687e94 T clCreateFromEGLImageKHR

00686f68 T clCreateFromGLBuffer

00687784 T clCreateFromGLRenderbuffer

00687140 T clCreateFromGLTexture

00687398 T clCreateFromGLTexture2D

0068758c T 

Re: [Interest] Video Filters on Android

2018-04-04 Thread René Hansen
I don't have a Pixel myself, but have you checked that OpenCL isn't rolled
up into */vendor/lib/egl/libEGL_adreno.so*. I know that is the case for
some phones with Mali chipsets at least. Here's a list of *cl* symbols from
one I pulled from a Samsung Galaxy S7:

$
~/Code/Android/android-ndk-r10e/toolchains/x86_64-4.9/prebuilt/darwin-x86_64/bin/x86_64-linux-android-nm
-D ~/Code/Android/samsunggalaxys7/lib/egl/libGLES_mali.so | ag '\bcl[A-Z]'
006823a0 T clBuildProgram
00682584 T clCompileProgram
006808d0 T clCreateBuffer
00688078 T clCreateBufferFromEGLImageARM
00680568 T clCreateCommandQueue
0067fe18 T clCreateContext
006801b4 T clCreateContextFromType
00687db4 T clCreateEventFromEGLSyncKHR
00687e94 T clCreateFromEGLImageKHR
00686f68 T clCreateFromGLBuffer
00687784 T clCreateFromGLRenderbuffer
00687140 T clCreateFromGLTexture
00687398 T clCreateFromGLTexture2D
0068758c T clCreateFromGLTexture3D
00680dc0 T clCreateImage
006816ac T clCreateImage2D
0068176c T clCreateImage3D
00682c24 T clCreateKernel
00682ce0 T clCreateKernelsInProgram
00682008 T clCreateProgramWithBinary
006821dc T clCreateProgramWithBuiltInKernels
00681ef8 T clCreateProgramWithSource
00681c8c T clCreateSampler
00680adc T clCreateSubBuffer
00680148 T clCreateSubDevices
00683334 T clCreateUserEvent
00688244 T clEnqueueAcquireEGLObjectsKHR
00687a04 T clEnqueueAcquireGLObjects
00686cbc T clEnqueueBarrier
00686ae8 T clEnqueueBarrierWithWaitList
006841d8 T clEnqueueCopyBuffer
00684414 T clEnqueueCopyBufferRect
00685828 T clEnqueueCopyBufferToImage
00685098 T clEnqueueCopyImage
006854e4 T clEnqueueCopyImageToBuffer
00683fec T clEnqueueFillBuffer
00684e7c T clEnqueueFillImage
00685b6c T clEnqueueMapBuffer
00685dfc T clEnqueueMapImage
00686b98 T clEnqueueMarker
00686a38 T clEnqueueMarkerWithWaitList
006862d0 T clEnqueueMigrateMemObjects
00686460 T clEnqueueNDRangeKernel
00686794 T clEnqueueNativeKernel
0068365c T clEnqueueReadBuffer
00683820 T clEnqueueReadBufferRect
0068476c T clEnqueueReadImage
00688414 T clEnqueueReleaseEGLObjectsKHR
00687bdc T clEnqueueReleaseGLObjects
00686688 T clEnqueueTask
006861c0 T clEnqueueUnmapMemObject
00686c00 T clEnqueueWaitForEvents
00683b20 T clEnqueueWriteBuffer
00683ce4 T clEnqueueWriteBufferRect
00684af4 T clEnqueueWriteImage
00683614 T clFinish
006835cc T clFlush
0068078c T clGetCommandQueueInfo
006804e4 T clGetContextInfo
0067fd04 T clGetDeviceIDs
0067fda8 T clGetDeviceInfo
006832ac T clGetEventInfo
00683548 T clGetEventProfilingInfo
00686d3c T clGetExtensionFunctionAddress
00686d14 T clGetExtensionFunctionAddressForPlatform
00686d4c T clGetGLContextInfoKHR
00687940 T clGetGLObjectInfo
00687988 T clGetGLTextureInfo
00681b20 T clGetImageInfo
006830bc T clGetKernelArgInfo
00683034 T clGetKernelInfo
00683140 T clGetKernelWorkGroupInfo
00681a9c T clGetMemObjectInfo
0067fc58 T clGetPlatformIDs
0067fca4 T clGetPlatformInfo
00682b64 T clGetProgramBuildInfo
00682adc T clGetProgramInfo
00681e70 T clGetSamplerInfo
006818bc T clGetSupportedImageFormats
0067fca0 T clIcdGetPlatformIDsKHR
006885e0 T clImportMemoryARM
00682834 T clLinkProgram
00680744 T clReleaseCommandQueue
0068049c T clReleaseContext
00680190 T clReleaseDevice
00683420 T clReleaseEvent
00682db0 T clReleaseKernel
00681874 T clReleaseMemObject
00682358 T clReleaseProgram
00681e28 T clReleaseSampler
006806fc T clRetainCommandQueue
00680454 T clRetainContext
0068016c T clRetainDevice
006833d8 T clRetainEvent
00682d68 T clRetainKernel
0068182c T clRetainMemObject
00682310 T clRetainProgram
00681de0 T clRetainSampler
00680814 T clSetCommandQueueProperty
006834cc T clSetEventCallback
00682df8 T clSetKernelArg
00681c28 T clSetMemObjectDestructorCallback
00683468 T clSetUserEventStatus
00682ad4 T clUnloadCompiler
00682ab8 T clUnloadPlatformCompiler
00683240 T clWaitForEvents

I haven't actually found out how to properly link against the _
named libs yet however, because it seems when running a Qt based app,
Dalvik only provides /system/lib and /vendor/lib as library load paths and
not /vendor/lib/egl. I sent another mail to the list regarding this
specific issue a couple of days ago, but no-one has answered it yet.


/René Hansen

On Wed, 4 Apr 2018 at 19:21 Jason H  wrote:

>  I should find it there yes. But the irony is that I can't find it
> anywhere. Meanwhile the Samsung has it where you would expect. I'm looking
> for an OpenGL for it, but the Adreno SDK doesn't have it. Any idea where I
> mght find it?
>
> Many thanks.
>
> taimen:/ $ find . -name *CL*  2> /dev/null
> ./system/usr/srec/en-US/CLG.prewalk.fst
>
> 1|taimen:/ $ find . -name *GL*  2> /dev/null
> ./sys/bus/platform/drivers/GLINK_CTRL
> ./system/lib/libGLESv1_CM.so
> ./system/lib/libGLESv3.so
> ./system/lib/libGLESv2.so
> ./system/lib/libEGL.so
> ./system/lib64/libGLESv1_CM.so
> ./system/lib64/libGLESv3.so
> ./system/lib64/libGLESv2.so
> ./system/lib64/libEGL.so
> ./vendor/lib/egl/libGLESv2_adreno.so
> ./vendor/lib/egl/libEGL_adreno.so
> ./vendor/lib/egl/libGLESv1_CM_adreno.so
> 

Re: [Interest] Video Filters on Android

2018-04-04 Thread Jason H

 I should find it there yes. But the irony is that I can't find it anywhere. Meanwhile the Samsung has it where you would expect. I'm looking for an OpenGL for it, but the Adreno SDK doesn't have it. Any idea where I mght find it?

 

Many thanks.

 

taimen:/ $ find . -name *CL*  2> /dev/null
./system/usr/srec/en-US/CLG.prewalk.fst


1|taimen:/ $ find . -name *GL*  2> /dev/null
./sys/bus/platform/drivers/GLINK_CTRL
./system/lib/libGLESv1_CM.so
./system/lib/libGLESv3.so
./system/lib/libGLESv2.so
./system/lib/libEGL.so
./system/lib64/libGLESv1_CM.so
./system/lib64/libGLESv3.so
./system/lib64/libGLESv2.so
./system/lib64/libEGL.so
./vendor/lib/egl/libGLESv2_adreno.so
./vendor/lib/egl/libEGL_adreno.so
./vendor/lib/egl/libGLESv1_CM_adreno.so
./vendor/lib64/egl/libGLESv2_adreno.so
./vendor/lib64/egl/libEGL_adreno.so
./vendor/lib64/egl/libGLESv1_CM_adreno.so

 

Vs. Samsung:

 

1|dream2lte:/ $ find . -name *GL*  2> /dev/null
./system/lib/egl/libGLES_android.so
./system/lib/libEGL.so
./system/lib/libGLESv1_CM.so
./system/lib/libGLESv2.so
./system/lib/libGLESv3.so
./system/lib/libSEC_EGL.so
./system/lib64/egl/libGLES_android.so
./system/lib64/libEGL.so
./system/lib64/libGLESv1_CM.so
./system/lib64/libGLESv2.so
./system/lib64/libGLESv3.so
./system/lib64/libSEC_EGL.so
./system/vendor/lib/egl/libGLES_mali.so


./system/vendor/lib64/egl/libGLES_mali.so

1|dream2lte:/ $ find . -name *enCL*  2> /dev/null
./system/vendor/lib/libOpenCL.so.1.1
./system/vendor/lib/libOpenCL.so
./system/vendor/lib/libOpenCL.so.1
./system/vendor/lib64/libOpenCL.so.1.1
./system/vendor/lib64/libOpenCL.so
./system/vendor/lib64/libOpenCL.so.1

 



Sent: Wednesday, April 04, 2018 at 12:07 PM
From: "René Hansen" 
To: "Jason H" 
Cc: "interestqt-project.org" 
Subject: Re: [Interest] Video Filters on Android


You'll probably find it at /vendor/lib/libOpenCL.so.

I'm not sure which version of OpenGL ES you need, but you have both versions available to link against using the NDK at least.

I've been wanting to do a writeup on the whole QML videofilter -> OpenCL pipeline through shared GL context, but haven't really found the time. There's not that many great examples to go by out there for Android and it seems to me at least, that it's a bit of a greenfield effort, even though the Qt guys have put in some great initial building blocks.


/René

 
 


On Wed, 4 Apr 2018 at 17:30 Jason H  wrote:




Thanks! I'm trying to do this on a Pixel 2 XL, but there is no libOpenCL.so on it! (directory listing included later)

 

I'm searching for it. I'm looking at the Aredno SDK, 

 

I'm sort of at a loss for what all I need to include for android. You mention GLESv2, but you also mention v3. 


 

taimen:/system/lib $ ls -1 lib*
lib-imsvideocodec.so
lib-imsvt.so
lib-imsvtextutils.so
lib-imsvtutils.so
libEGL.so
libETC1.so
libFFTEm.so
libGLESv1_CM.so
libGLESv2.so
libGLESv3.so
libOpenMAXAL.so
libOpenSLES.so
libRS.so
libRSCacheDir.so
libRSCpuRef.so
libRSDriver.so
libRS_internal.so
libRScpp.so
libaaudio.so
libaaudioservice.so
libandroid.so
libandroid_net.so
libandroid_runtime.so
libandroid_servers.so
libandroidfw.so
libappfuse.so
libart-compiler.so
libart-dexlayout.so
libart.so
libaudio-resampler.so
libaudioclient.so
libaudioeffect_jni.so
libaudioflinger.so
libaudiohal.so
libaudiomanager.so
libaudiopolicyenginedefault.so
libaudiopolicymanager.so
libaudiopolicymanagerdefault.so
libaudiopolicyservice.so
libaudioprocessing.so
libaudiospdif.so
libaudioutils.so
libbacktrace.so
libbase.so
libbcinfo.so
libbinder.so
libblas.so
libc++.so
libc.so
libc_malloc_debug.so
libcamera2ndk.so
libcamera_client.so
libcamera_metadata.so
libcameraservice.so
libchrome.so
libclcore.bc
libclcore_debug.bc
libclcore_debug_g.bc
libclcore_g.bc
libclcore_neon.bc
libcompiler_rt.so
libcrypto.so
libcutils.so
libdebuggerd_client.so
libdiag_system.so
libdl.so
libdmengine.so
libdmjavaplugin.so
libdng_sdk.so
libdrmframework.so
libdrmframework_jni.so
libdvr.so
libdvr_loader.so
libeaselcomm.so
libeffectsconfig.so
libevent.so
libexif.so
libexpat.so
libfilterfw.so
libfilterpack_facedetect.so
libfilterpack_imageproc.so
libfmq.so
libfrsdk.so
libft2.so
libgatekeeper.so
libgraphicsenv.so
libgui.so
libhardware.so
libhardware_legacy.so
libharfbuzz_ng.so
libheif.so
libhidlbase.so
libhidlmemory.so
libhidltransport.so
libhwbinder.so
libhwui.so
libicui18n.so
libicuuc.so
libimg_utils.so
libimscamera_jni.so
libimsmedia_jni.so
libinput.so
libinputflinger.so
libinputservice.so
libiprouteutil.so
libjavacore.so
libjavacrypto.so
libjnigraphics.so
libjpeg.so
libkeystore_binder.so
libldacBT_abr.so
libldacBT_enc.so
liblog.so
liblz4.so
liblzma.so
libm.so
libmdnssd.so
libmedia.so
libmedia_helper.so
libmedia_jni.so
libmedia_omx.so
libmediadrm.so
libmedialogservice.so
libmediametrics.so
libmediandk.so
libmediaplayerservice.so
libmediautils.so
libmemtrack.so
libmemunreachable.so
libmidi.so
libminikin.so
libmtp.so
libnativebridge.so
libnativehelper.so

Re: [Interest] Video Filters on Android

2018-04-04 Thread René Hansen
You'll probably find it at */vendor/lib/libOpenCL.so.*

I'm not sure which version of OpenGL ES you need, but you have both
versions available to link against using the NDK at least.

I've been wanting to do a writeup on the whole QML videofilter -> OpenCL
pipeline through shared GL context, but haven't really found the time.
There's not that many great examples to go by out there for Android and it
seems to me at least, that it's a bit of a greenfield effort, even though
the Qt guys have put in some great initial building blocks.


/René



On Wed, 4 Apr 2018 at 17:30 Jason H  wrote:

> Thanks! I'm trying to do this on a Pixel 2 XL, but there is no
> libOpenCL.so on it! (directory listing included later)
>
> I'm searching for it. I'm looking at the Aredno SDK,
>
> I'm sort of at a loss for what all I need to include for android. You
> mention GLESv2, but you also mention v3.
>
> taimen:/system/lib $ ls -1 lib*
> lib-imsvideocodec.so
> lib-imsvt.so
> lib-imsvtextutils.so
> lib-imsvtutils.so
> libEGL.so
> libETC1.so
> libFFTEm.so
> libGLESv1_CM.so
> libGLESv2.so
> libGLESv3.so
> libOpenMAXAL.so
> libOpenSLES.so
> libRS.so
> libRSCacheDir.so
> libRSCpuRef.so
> libRSDriver.so
> libRS_internal.so
> libRScpp.so
> libaaudio.so
> libaaudioservice.so
> libandroid.so
> libandroid_net.so
> libandroid_runtime.so
> libandroid_servers.so
> libandroidfw.so
> libappfuse.so
> libart-compiler.so
> libart-dexlayout.so
> libart.so
> libaudio-resampler.so
> libaudioclient.so
> libaudioeffect_jni.so
> libaudioflinger.so
> libaudiohal.so
> libaudiomanager.so
> libaudiopolicyenginedefault.so
> libaudiopolicymanager.so
> libaudiopolicymanagerdefault.so
> libaudiopolicyservice.so
> libaudioprocessing.so
> libaudiospdif.so
> libaudioutils.so
> libbacktrace.so
> libbase.so
> libbcinfo.so
> libbinder.so
> libblas.so
> libc++.so
> libc.so
> libc_malloc_debug.so
> libcamera2ndk.so
> libcamera_client.so
> libcamera_metadata.so
> libcameraservice.so
> libchrome.so
> libclcore.bc
> libclcore_debug.bc
> libclcore_debug_g.bc
> libclcore_g.bc
> libclcore_neon.bc
> libcompiler_rt.so
> libcrypto.so
> libcutils.so
> libdebuggerd_client.so
> libdiag_system.so
> libdl.so
> libdmengine.so
> libdmjavaplugin.so
> libdng_sdk.so
> libdrmframework.so
> libdrmframework_jni.so
> libdvr.so
> libdvr_loader.so
> libeaselcomm.so
> libeffectsconfig.so
> libevent.so
> libexif.so
> libexpat.so
> libfilterfw.so
> libfilterpack_facedetect.so
> libfilterpack_imageproc.so
> libfmq.so
> libfrsdk.so
> libft2.so
> libgatekeeper.so
> libgraphicsenv.so
> libgui.so
> libhardware.so
> libhardware_legacy.so
> libharfbuzz_ng.so
> libheif.so
> libhidlbase.so
> libhidlmemory.so
> libhidltransport.so
> libhwbinder.so
> libhwui.so
> libicui18n.so
> libicuuc.so
> libimg_utils.so
> libimscamera_jni.so
> libimsmedia_jni.so
> libinput.so
> libinputflinger.so
> libinputservice.so
> libiprouteutil.so
> libjavacore.so
> libjavacrypto.so
> libjnigraphics.so
> libjpeg.so
> libkeystore_binder.so
> libldacBT_abr.so
> libldacBT_enc.so
> liblog.so
> liblz4.so
> liblzma.so
> libm.so
> libmdnssd.so
> libmedia.so
> libmedia_helper.so
> libmedia_jni.so
> libmedia_omx.so
> libmediadrm.so
> libmedialogservice.so
> libmediametrics.so
> libmediandk.so
> libmediaplayerservice.so
> libmediautils.so
> libmemtrack.so
> libmemunreachable.so
> libmidi.so
> libminikin.so
> libmtp.so
> libnativebridge.so
> libnativehelper.so
> libnativeloader.so
> libnativewindow.so
> libnbaio.so
> libnetd_client.so
> libnetlink.so
> libnetutils.so
> libneuralnetworks.so
> libnl.so
> libopenjdk.so
> libopenjdkjvm.so
> libopenjdkjvmti.so
> libopus.so
> libpac.so
> libpackagelistparser.so
> libpcre2.so
> libpdfium.so
> libpiex.so
> libpixelflinger.so
> libpng.so
> libpower.so
> libpowermanager.so
> libprocessgroup.so
> libprocinfo.so
> libprotobuf-cpp-full.so
> libprotobuf-cpp-lite.so
> libradio_metadata.so
> librcc.so
> libresourcemanagerservice.so
> librs_jni.so
> librtp_jni.so
> libschedulerservicehidl.so
> libselinux.so
> libsensor.so
> libsensorservice.so
> libsensorservicehidl.so
> libserviceutility.so
> libsigchain.so
> libskia.so
> libsoftkeymaster.so
> libsonic.so
> libsonivox.so
> libsoundpool.so
> libsoundtrigger.so
> libsoundtriggerservice.so
> libspeexresampler.so
> libsqlite.so
> libssl.so
> libstagefright.so
> libstagefright_amrnb_common.so
> libstagefright_enc_common.so
> libstagefright_flacdec.so
> libstagefright_foundation.so
> libstagefright_http_support.so
> libstagefright_httplive.so
> libstagefright_omx.so
> libstagefright_omx_utils.so
> libstagefright_soft_aacdec.so
> libstagefright_soft_aacenc.so
> libstagefright_soft_amrdec.so
> libstagefright_soft_amrnbenc.so
> libstagefright_soft_amrwbenc.so
> libstagefright_soft_avcdec.so
> libstagefright_soft_avcenc.so
> libstagefright_soft_flacdec.so
> libstagefright_soft_flacenc.so
> libstagefright_soft_g711dec.so
> libstagefright_soft_gsmdec.so
> libstagefright_soft_hevcdec.so
> libstagefright_soft_mp3dec.so
> libstagefright_soft_mpeg2dec.so
> 

Re: [Interest] Video Filters on Android

2018-04-04 Thread Jason H
Thanks! I'm trying to do this on a Pixel 2 XL, but there is no libOpenCL.so on it! (directory listing included later)

 

I'm searching for it. I'm looking at the Aredno SDK, 

 

I'm sort of at a loss for what all I need to include for android. You mention GLESv2, but you also mention v3. 


 

taimen:/system/lib $ ls -1 lib*
lib-imsvideocodec.so
lib-imsvt.so
lib-imsvtextutils.so
lib-imsvtutils.so
libEGL.so
libETC1.so
libFFTEm.so
libGLESv1_CM.so
libGLESv2.so
libGLESv3.so
libOpenMAXAL.so
libOpenSLES.so
libRS.so
libRSCacheDir.so
libRSCpuRef.so
libRSDriver.so
libRS_internal.so
libRScpp.so
libaaudio.so
libaaudioservice.so
libandroid.so
libandroid_net.so
libandroid_runtime.so
libandroid_servers.so
libandroidfw.so
libappfuse.so
libart-compiler.so
libart-dexlayout.so
libart.so
libaudio-resampler.so
libaudioclient.so
libaudioeffect_jni.so
libaudioflinger.so
libaudiohal.so
libaudiomanager.so
libaudiopolicyenginedefault.so
libaudiopolicymanager.so
libaudiopolicymanagerdefault.so
libaudiopolicyservice.so
libaudioprocessing.so
libaudiospdif.so
libaudioutils.so
libbacktrace.so
libbase.so
libbcinfo.so
libbinder.so
libblas.so
libc++.so
libc.so
libc_malloc_debug.so
libcamera2ndk.so
libcamera_client.so
libcamera_metadata.so
libcameraservice.so
libchrome.so
libclcore.bc
libclcore_debug.bc
libclcore_debug_g.bc
libclcore_g.bc
libclcore_neon.bc
libcompiler_rt.so
libcrypto.so
libcutils.so
libdebuggerd_client.so
libdiag_system.so
libdl.so
libdmengine.so
libdmjavaplugin.so
libdng_sdk.so
libdrmframework.so
libdrmframework_jni.so
libdvr.so
libdvr_loader.so
libeaselcomm.so
libeffectsconfig.so
libevent.so
libexif.so
libexpat.so
libfilterfw.so
libfilterpack_facedetect.so
libfilterpack_imageproc.so
libfmq.so
libfrsdk.so
libft2.so
libgatekeeper.so
libgraphicsenv.so
libgui.so
libhardware.so
libhardware_legacy.so
libharfbuzz_ng.so
libheif.so
libhidlbase.so
libhidlmemory.so
libhidltransport.so
libhwbinder.so
libhwui.so
libicui18n.so
libicuuc.so
libimg_utils.so
libimscamera_jni.so
libimsmedia_jni.so
libinput.so
libinputflinger.so
libinputservice.so
libiprouteutil.so
libjavacore.so
libjavacrypto.so
libjnigraphics.so
libjpeg.so
libkeystore_binder.so
libldacBT_abr.so
libldacBT_enc.so
liblog.so
liblz4.so
liblzma.so
libm.so
libmdnssd.so
libmedia.so
libmedia_helper.so
libmedia_jni.so
libmedia_omx.so
libmediadrm.so
libmedialogservice.so
libmediametrics.so
libmediandk.so
libmediaplayerservice.so
libmediautils.so
libmemtrack.so
libmemunreachable.so
libmidi.so
libminikin.so
libmtp.so
libnativebridge.so
libnativehelper.so
libnativeloader.so
libnativewindow.so
libnbaio.so
libnetd_client.so
libnetlink.so
libnetutils.so
libneuralnetworks.so
libnl.so
libopenjdk.so
libopenjdkjvm.so
libopenjdkjvmti.so
libopus.so
libpac.so
libpackagelistparser.so
libpcre2.so
libpdfium.so
libpiex.so
libpixelflinger.so
libpng.so
libpower.so
libpowermanager.so
libprocessgroup.so
libprocinfo.so
libprotobuf-cpp-full.so
libprotobuf-cpp-lite.so
libradio_metadata.so
librcc.so
libresourcemanagerservice.so
librs_jni.so
librtp_jni.so
libschedulerservicehidl.so
libselinux.so
libsensor.so
libsensorservice.so
libsensorservicehidl.so
libserviceutility.so
libsigchain.so
libskia.so
libsoftkeymaster.so
libsonic.so
libsonivox.so
libsoundpool.so
libsoundtrigger.so
libsoundtriggerservice.so
libspeexresampler.so
libsqlite.so
libssl.so
libstagefright.so
libstagefright_amrnb_common.so
libstagefright_enc_common.so
libstagefright_flacdec.so
libstagefright_foundation.so
libstagefright_http_support.so
libstagefright_httplive.so
libstagefright_omx.so
libstagefright_omx_utils.so
libstagefright_soft_aacdec.so
libstagefright_soft_aacenc.so
libstagefright_soft_amrdec.so
libstagefright_soft_amrnbenc.so
libstagefright_soft_amrwbenc.so
libstagefright_soft_avcdec.so
libstagefright_soft_avcenc.so
libstagefright_soft_flacdec.so
libstagefright_soft_flacenc.so
libstagefright_soft_g711dec.so
libstagefright_soft_gsmdec.so
libstagefright_soft_hevcdec.so
libstagefright_soft_mp3dec.so
libstagefright_soft_mpeg2dec.so
libstagefright_soft_mpeg4dec.so
libstagefright_soft_mpeg4enc.so
libstagefright_soft_opusdec.so
libstagefright_soft_rawdec.so
libstagefright_soft_vorbisdec.so
libstagefright_soft_vpxdec.so
libstagefright_soft_vpxenc.so
libstagefright_wfd.so
libstagefright_xmlparser.so
libstdc++.so
libsurfaceflinger.so
libsurfaceflinger_ddmconnection.so
libsuspend.so
libsync.so
libsysutils.so
libtextclassifier.so
libtextclassifier_hash.so
libtinyxml2.so
libtombstoned_client.so
libui.so
libunwind.so
libusbhost.so
libutils.so
libvintf.so
libvixl-arm.so
libvixl-arm64.so
libvndksupport.so
libvorbisidec.so
libvulkan.so
libwebviewchromium_loader.so
libwebviewchromium_plat_support.so
libwifi-service.so
libwilhelm.so
libxml2.so
libz.so
libziparchive.so

 

 


Sent: Wednesday, April 04, 2018 at 4:54 AM
From: "René Hansen" 
To: "Jason H" 
Cc: "interestqt-project.org" 
Subject: Re: [Interest] Video Filters on Android


I never got that specific example to work, but assuming 

Re: [Interest] QTimer at 30Hz interval?

2018-04-04 Thread Jason H
Easy! You can't! But you can come very close. Remember on a multitasking OS, 
you're dealing with a time division multiplexing, and a scheduler, so getting 
scheduled at 30hz is impossible. But there are a few things you can do. 

On linux you (a process) can set your priority and even scheduling method. This 
will get your jitter down. If you can always the kernel you can change the time 
size

The best thing is to use a hardware interrupt, which you may not be able to do. 

At this point I have to ask why 30Hz? 30 FPS Video is really 29.77. not many 
things are actually 30.0 hz. And not-vomiting VR takes at least 60fps.

One trick I've done to get better resolution is, if you can work with jitter, 
is to set a low timer internal and check if the accumulated interval has 
accumilated work for you. Because the timer timout waits *at least* that many 
milliseconds, being called sooner and checking for work might work better than 
always overshooting. (I actually came up with a way to saturate a CPU with 
encryption while having a UI progress bar update smoothly by letting the timer 
interval adjust itself.) You can use 1 or 0ms. With 0, your slot will be called 
by the event loop when is empty as fast as it can be called. 


> Sent: Wednesday, April 04, 2018 at 9:33 AM
> From: "Ola Røer Thorsen" 
> To: "interestqt-project.org" 
> Subject: [Interest] QTimer at 30Hz interval?
>
> is there some nice trick to make a QTimer trigger at 30 Hz? This interval
> can't be expressed properly in milliseconds (1000/30 = 33.33...)
> 
> My use case is for Linux only so I'd be happy with some Linux-specific way
> of triggering a signal at 30 Hz too. It won't have to be very precise for
> each trigger as long as the average frequency is 30 Hz.
> 
> Cheers,
> Ola
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] How to programatically make a tab's text bold?

2018-04-04 Thread Vadim Peretokin
Thanks a ton! Works.

On Wed, Apr 4, 2018 at 12:07 PM Igor Mironchik 
wrote:

>
> #include 
> #include 
> #include 
> #include 
> #include 
> #include 
>
> class Style : public QProxyStyle
> {
> public:
> Style( QTabBar * bar )
> :m_boldTab( 0 )
> ,m_bar( bar )
> {
> }
>
> ~Style()
> {
> }
>
> void drawControl( ControlElement element,
> const QStyleOption *option,
> QPainter *painter,
> const QWidget *widget = Q_NULLPTR) const
> {
> if( element == QStyle::CE_TabBarTab )
> {
> if( m_bar->tabAt( option->rect.center() ) == m_boldTab )
> {
> QFont font = widget->font();
> font.setBold( true );
>
> painter->save();
> painter->setFont( font );
> QProxyStyle::drawControl( element, option, painter, widget
> );
> painter->restore();
> }
> else
> QProxyStyle::drawControl( element, option, painter, widget
> );
> }
> else
> QProxyStyle::drawControl( element, option, painter, widget );
> }
>
> private:
> int m_boldTab;
> QTabBar * m_bar;
> };
>
> class Tab : public QTabBar
> {
> public:
> Tab( QWidget * parent )
> :QTabBar( parent )
> ,m_boldTab( 0 )
> {
> }
>
> ~Tab()
> {
> }
>
> protected:
> QSize tabSizeHint(int index) const
> {
> if( index == m_boldTab )
> {
> const QSize s = QTabBar::tabSizeHint( index );
> const QFontMetrics fm( font() );
> const int w = fm.width( tabText( index ) );
>
> QFont f = font();
> f.setBold( true );
> const QFontMetrics bfm( f );
>
> const int bw = bfm.width( tabText( index ) );
>
> return QSize( s.width() - w + bw, s.height() );
> }
> else
> return QTabBar::tabSizeHint( index );
> }
>
> private:
> int m_boldTab;
> };
>
> class TabWidget
> :public QTabWidget
> {
> public:
> TabWidget()
> :m_tabBar( new Tab( this ) )
> ,m_style( m_tabBar )
> {
> m_tabBar->setStyle( _style );
> setTabBar( m_tabBar );
> }
>
> ~TabWidget()
> {
> }
>
> private:
> Tab * m_tabBar;
> Style m_style;
> };
>
> int main( int argc, char ** argv )
> {
> QApplication app( argc, argv );
>
> TabWidget t;
> QWidget w1, w2;
> t.addTab( , "Test Tab With Long Name" );
> t.addTab( , "Second Tab" );
>
> t.show();
>
> return app.exec();
> }
>
>
> On 04.04.2018 10:47, Vadim Peretokin wrote:
>
>
> On Wed, Apr 4, 2018 at 7:35 AM Hamish Moffatt 
> wrote:
>
>> On 04/04/18 15:10, Vadim Peretokin wrote:
>> > How can I programatically make a tab's text bold? I'm looking to
>> > notify the user that they need to look at it.
>> >
>> > Note that this is different from using a stylesheet to set the
>> > selected tab bold - I'd like to set any random tab's text bold.
>> >
>> > Been looking at this for several days, appreciate any advice!
>>
>> Using widgets? You didn't say what context.
>>
>> Maybe you can set a dynamic property on the tab when you want it to be
>> bold, and attach a special style using properties in the stylesheet.
>>
>>
>> Hamish
>> ___
>> Interest mailing list
>> Interest@qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>
> Yes, using widgets.
>
> I've tried a dynamic property however as far as I can see, I can only set
> the dynamic property on the entire tab bar - not a specific tab. How can I
> set it on a specific tab?
>
>
> ___
> Interest mailing 
> listInterest@qt-project.orghttp://lists.qt-project.org/mailman/listinfo/interest
>
>
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] How to programatically make a tab's text bold?

2018-04-04 Thread Igor Mironchik


#include 
#include 
#include 
#include 
#include 
#include 

class Style : public QProxyStyle
{
public:
    Style( QTabBar * bar )
        :    m_boldTab( 0 )
        ,    m_bar( bar )
    {
    }

    ~Style()
    {
    }

    void drawControl( ControlElement element,
        const QStyleOption *option,
        QPainter *painter,
        const QWidget *widget = Q_NULLPTR) const
    {
        if( element == QStyle::CE_TabBarTab )
        {
            if( m_bar->tabAt( option->rect.center() ) == m_boldTab )
            {
                QFont font = widget->font();
                font.setBold( true );

                painter->save();
                painter->setFont( font );
                QProxyStyle::drawControl( element, option, painter, 
widget );

                painter->restore();
            }
            else
                QProxyStyle::drawControl( element, option, painter, 
widget );

        }
        else
            QProxyStyle::drawControl( element, option, painter, widget );
    }

private:
    int m_boldTab;
    QTabBar * m_bar;
};

class Tab : public QTabBar
{
public:
    Tab( QWidget * parent )
        :    QTabBar( parent )
        ,    m_boldTab( 0 )
    {
    }

    ~Tab()
    {
    }

protected:
    QSize tabSizeHint(int index) const
    {
        if( index == m_boldTab )
        {
            const QSize s = QTabBar::tabSizeHint( index );
            const QFontMetrics fm( font() );
            const int w = fm.width( tabText( index ) );

            QFont f = font();
            f.setBold( true );
            const QFontMetrics bfm( f );

            const int bw = bfm.width( tabText( index ) );

            return QSize( s.width() - w + bw, s.height() );
        }
        else
            return QTabBar::tabSizeHint( index );
    }

private:
    int m_boldTab;
};

class TabWidget
    :    public QTabWidget
{
public:
    TabWidget()
        :    m_tabBar( new Tab( this ) )
        ,    m_style( m_tabBar )
    {
        m_tabBar->setStyle( _style );
        setTabBar( m_tabBar );
    }

    ~TabWidget()
    {
    }

private:
    Tab * m_tabBar;
    Style m_style;
};

int main( int argc, char ** argv )
{
    QApplication app( argc, argv );

    TabWidget t;
    QWidget w1, w2;
    t.addTab( , "Test Tab With Long Name" );
    t.addTab( , "Second Tab" );

    t.show();

    return app.exec();
}


On 04.04.2018 10:47, Vadim Peretokin wrote:


On Wed, Apr 4, 2018 at 7:35 AM Hamish Moffatt 
> wrote:


On 04/04/18 15:10, Vadim Peretokin wrote:
> How can I programatically make a tab's text bold? I'm looking to
> notify the user that they need to look at it.
>
> Note that this is different from using a stylesheet to set the
> selected tab bold - I'd like to set any random tab's text bold.
>
> Been looking at this for several days, appreciate any advice!

Using widgets? You didn't say what context.

Maybe you can set a dynamic property on the tab when you want it to be
bold, and attach a special style using properties in the stylesheet.


Hamish
___
Interest mailing list
Interest@qt-project.org 
http://lists.qt-project.org/mailman/listinfo/interest


Yes, using widgets.

I've tried a dynamic property however as far as I can see, I can only 
set the dynamic property on the entire tab bar - not a specific tab. 
How can I set it on a specific tab?



___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] How to programatically make a tab's text bold?

2018-04-04 Thread René Hansen
Alternatively suffix an asterisk; Tab -> Tab*. Then remove it on highlight.

/René

On Wed, 4 Apr 2018 at 09:47 Vadim Peretokin  wrote:

> On Wed, Apr 4, 2018 at 7:35 AM Hamish Moffatt 
> wrote:
>
>> On 04/04/18 15:10, Vadim Peretokin wrote:
>> > How can I programatically make a tab's text bold? I'm looking to
>> > notify the user that they need to look at it.
>> >
>> > Note that this is different from using a stylesheet to set the
>> > selected tab bold - I'd like to set any random tab's text bold.
>> >
>> > Been looking at this for several days, appreciate any advice!
>>
>> Using widgets? You didn't say what context.
>>
>> Maybe you can set a dynamic property on the tab when you want it to be
>> bold, and attach a special style using properties in the stylesheet.
>>
>>
>> Hamish
>> ___
>> Interest mailing list
>> Interest@qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>
> Yes, using widgets.
>
> I've tried a dynamic property however as far as I can see, I can only set
> the dynamic property on the entire tab bar - not a specific tab. How can I
> set it on a specific tab?
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Video Filters on Android

2018-04-04 Thread René Hansen
I never got that specific example to work, but assuming you're building
with the Android NDK, you can include:

#include 
#include 

Which will give you access to *eglGetCurrentContext()*.

I'm using the r10e ndk, since that's what works with Qt at the moment. GLES
v3 is available in toolchain v21:

$ ls ~/Code/Android/android-ndk-r10e//platforms/android-21/arch-arm/usr/lib/
crtbegin_dynamic.o  libGLESv2.solibdl.so
libstdc++.a
crtbegin_so.o   libGLESv3.solibjnigraphics.so
 libstdc++.so
crtbegin_static.o   libOpenMAXAL.so liblog.so
 libthread_db.so
crtend_android.olibOpenSLES.so  libm.a
libz.a
crtend_so.o libandroid.so   libm.so
 libz.so
libEGL.so   libc.a  libm_hard.a rs
libGLESv1_CM.so libc.so libmediandk.so

If you want to link against OpenCL, you still need to pull a
*libOpenCL.so* from
an actual device though.


/René

On Wed, 4 Apr 2018 at 01:52 Jason H  wrote:

>
> http://blog.qt.io/blog/2015/03/20/introducing-video-filters-in-qt-multimedia/
> announced video filter support, and hardware accelerated too!
>
> Code:
> http://code.qt.io/cgit/qt/qtmultimedia.git/tree/examples/multimedia/video/qmlvideofilter_opencl
>
> I'm trying to get it running on Android, but I'm going down a rabbit hole
> with OpenCL 2.0 and EGL 3.2. I have been hacking on it but I don't know
> where EGLContext is declared.
>
> Had anyone gotten this running in Android?
>
> Thanks!
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Home built of the "official" Maintenance Tool

2018-04-04 Thread René J . V . Bertin
OK, I figured this out. With the risk of kicking in open doors:

- the maintenancetool/MaintenanceTool binary is "just" the installerbase 
executable.
On Mac it will be modified to depend on embedded Qt frameworks by the actually 
installer when it writes the MaintenanceTool bundle, but it fails to embed 
those 
frameworks because they weren't bundled with the other installer data. 
Suggestion: use macdeployqt to create a fully functional MaintenanceTool.app 
bundle during the initial creation of the installer.

- the information required to run the MaintenanceTool on the installed software 
is expected under the same name as the tool itself.

- An up-to-date self-built MaintenanceTool.app copy will continue to fail with 
the message that it's out-of-date because the tool version is not obtained from 
the app itself, but from the database of installed items. IMHO that's an 
anomaly.

R.

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QTimer at 30Hz interval?

2018-04-04 Thread René Reucher

On 04/04/18 09:52, Daniel Engelke wrote:

What about QElapsedTimer you can get nanoseconds out of it.
Yeah, but it doesn't have signals to fire on a timeout... 
QElapsedTimer's major purpose is measuring time, not sending (repeated) 
signals. So it's more like QTime, not like QTimer.


Cheers, René
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QTimer at 30Hz interval?

2018-04-04 Thread Konstantin Shegunov
>
> one at 30 ms, and one at 31 ms
>

I meant 33 and 34 ms, but you get the idea.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QTimer at 30Hz interval?

2018-04-04 Thread Konstantin Shegunov
Hi,
Just an idea:
I believe by default QTimer doesn't have that fidelity, however you can
check if your platform supports Qt::PreciseTimer and stagger two of them,
one at 30 ms, and one at 31 ms. Both would go to one handler, where you
check if the timeout has expired and trigger the needed slot on demand.

On Wed, Apr 4, 2018 at 10:33 AM, Ola Røer Thorsen 
wrote:

> is there some nice trick to make a QTimer trigger at 30 Hz? This interval
> can't be expressed properly in milliseconds (1000/30 = 33.33...)
>
> My use case is for Linux only so I'd be happy with some Linux-specific way
> of triggering a signal at 30 Hz too. It won't have to be very precise for
> each trigger as long as the average frequency is 30 Hz.
>
> Cheers,
> Ola
>
>
>
>
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QTimer at 30Hz interval?

2018-04-04 Thread Daniel Engelke
What about QElapsedTimer you can get nanoseconds out of it.

Br Daniel



 From:   René Reucher  
 To:    
 Sent:   4/4/2018 9:42 AM 
 Subject:   Re: [Interest] QTimer at 30Hz interval? 

On 04/04/18 09:33, Ola Røer Thorsen wrote:
> is there some nice trick to make a QTimer trigger at 30 Hz? This 
> interval can't be expressed properly in milliseconds (1000/30 = 
> 33.33...)
> 
> My use case is for Linux only so I'd be happy with some Linux-specific 
> way of triggering a signal at 30 Hz too. It won't have to be very 
> precise for each trigger as long as the average frequency is 30 Hz.
Not sure (and I haven't tried it myself), but maybe this class can help:
https://github.com/rsmz/qnanotimer

HTH, René
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] How to programatically make a tab's text bold?

2018-04-04 Thread Vadim Peretokin
On Wed, Apr 4, 2018 at 7:35 AM Hamish Moffatt 
wrote:

> On 04/04/18 15:10, Vadim Peretokin wrote:
> > How can I programatically make a tab's text bold? I'm looking to
> > notify the user that they need to look at it.
> >
> > Note that this is different from using a stylesheet to set the
> > selected tab bold - I'd like to set any random tab's text bold.
> >
> > Been looking at this for several days, appreciate any advice!
>
> Using widgets? You didn't say what context.
>
> Maybe you can set a dynamic property on the tab when you want it to be
> bold, and attach a special style using properties in the stylesheet.
>
>
> Hamish
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>

Yes, using widgets.

I've tried a dynamic property however as far as I can see, I can only set
the dynamic property on the entire tab bar - not a specific tab. How can I
set it on a specific tab?
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QTimer at 30Hz interval?

2018-04-04 Thread René Reucher

On 04/04/18 09:33, Ola Røer Thorsen wrote:
is there some nice trick to make a QTimer trigger at 30 Hz? This 
interval can't be expressed properly in milliseconds (1000/30 = 
33.33...)


My use case is for Linux only so I'd be happy with some Linux-specific 
way of triggering a signal at 30 Hz too. It won't have to be very 
precise for each trigger as long as the average frequency is 30 Hz.

Not sure (and I haven't tried it myself), but maybe this class can help:
https://github.com/rsmz/qnanotimer

HTH, René
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] QTimer at 30Hz interval?

2018-04-04 Thread Ola Røer Thorsen
is there some nice trick to make a QTimer trigger at 30 Hz? This interval
can't be expressed properly in milliseconds (1000/30 = 33.33...)

My use case is for Linux only so I'd be happy with some Linux-specific way
of triggering a signal at 30 Hz too. It won't have to be very precise for
each trigger as long as the average frequency is 30 Hz.

Cheers,
Ola
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest