I forgot when I wrote the first line of code for this project, but at least four years ago
At that time, I just quit my job naked and was ready to start a trip to the West.
Before leaving Beijing, I rented a house in Beijing for one month. I stayed at home and did nothing, so I came up with the idea that lingered in my mind for a long time, that is to implement a media file manager.
I hope this manager can help me manage my photos, videos, movies and other resources, match the cover, score, mark like and so on, so that I can easily and quickly find the resources I want to see
Just do it!
In other words, my job is a programmer familiar with web development. It was my original idea to implement this software with the most familiar technology. I can have 10000 cool gestures to display "them" in the way of web pages. However, after all, all my media files exist locally on my computer. I don't think it's easy to preview them. For example, for video files in various formats, common formats can be easily previewed. If they are not common, you have to download a specific player to play
Spending more time transcoding all video files is also a solution, but it is obviously not a task for personal management software. If I do so much, I still need to support some other software in the end, which is obviously not my original intention. After learning that there are ready-made player engines on GitHub, such as ffmpeg, VLC, etc., I decided to integrate video player and picture browser into my software
In this way, I can no longer use the way of web to realize, but can only develop a desktop software. Although I have developed WinForm program before, WinForm is too ugly. What I want is "cool". Finally, I stared at WPF
WPF has a high degree of freedom in development. Developers who are absolutely familiar with WPF can develop a particularly good-looking interface. Because WPF is developed in c#, I am very confident in myself, although I know a little about WPF
When I wrote the first line of code of this project, I started the crazy working mode, because I have to study and develop at the same time, which leads me to forget food and sleep almost every day, I don't know day and night, and I often go to bed after watching the sunrise
For nearly a month, I took out the "product" that made me cry and laugh. The original pursuit of cool flat design made me a color block pushed up at will; More importantly, in the process of loading data, the software chip is incomparable, which makes me unable to accept
Ignorant of unknown fields, I underestimated various problems that need to be considered in the development process of desktop software. I can't effectively use multithreading, caching and asynchronous technologies, which makes it difficult for me to do anything in the later development process. Although I have completed some functions, it can only be called an unusable "garbage"
It frustrated my self-confidence and even felt a heavy blow. I thought so many years of coding experience made me omnipotent, but in fact I couldn't do anything. I put the code into the warehouse and sealed it. I knew that my ability hasn't caught up with my idea
I didn't think of picking it up again until I visited more than half of China. Although this is not my dream, it is also my little wish.
So I tried to optimize the "stuck" links in various software, such as asynchronous image compression, delayed image loading, asynchronous data reading, thread pool queuing, UI virtualization and so on. After a meal of operation, my software seems to be ready for use! In order to make the software look good, I walked through various UE / UX exchange forums. I optimized the software interface. It seems to be one step closer to what I think
But at this time, I accidentally found emby and plex! I suddenly felt that I was hit by dimensionality reduction. Isn't that the ultimate goal of this idea I want to achieve? Then I use my own software and find that it is just a database display, which is useless compared with other people's program software
I pondered for a moment and put the code into the warehouse again. I'd better continue to seal it
Although it's a seal, my restless little heart always teases me to take it out and toss it from time to time, but it is often frustrated and sent back. During this period, I can't remember how many times I have been repaired and modified by myself
Until last year, I suddenly thought of an insignificant function "file sorting". Its main function is to display it in the form of data list to facilitate my management of file resources. It is a micro Windows Explorer. Although it is simple, it seems to have the potential to support all my ideas, so I overturned it and redo it, and now there is "Zhai"
I try my best to expand its functions and even want to move towards the goal of Windows Explorer. The difference is that the software can open the quick preview window on the right and cooperate with the data list on the left, which greatly facilitates the preview efficiency of pictures and videos
More recently, I designed the concept of "pack" package, which may be called "collection" or "series" in China, which is easier to understand. For example, there is a group of pictures that I took in 2021, and I have divided sub folders by date. I put them into this folder called "2021" and mark them as pack. In this way, when I click the folder to preview, It will only display the subfolders as an element, and select a picture as the cover
For another example, if there is a group of films that are all Hong Kong films, I can put all the films into the folder called "Hong Kong" and mark it as pack. In this way, when I click the folder for preview, they will be listed in the form of cover. In addition, videos and dramas are the same
Further, the preview of subfolder elements and the editing interface of folder content NFO are displayed as follows:
Besides the management of file resources, I have made four views. In addition to the commonly used views of grid and list, I have also developed the view of horizontal display of subfolders following the file management of MacOS, as well as my personal favorite tree view. These four views can be switched freely, and there are also "multiple tabs", which is to facilitate my mastery of file resources.
There are all good functions in the right-click menu. The functions and text descriptions are clear at a glance. They are practical small functions developed when I encounter requirements in the process of sorting files. In addition, I have some other ideas to be realized, such as inheriting my super renaming tool and so on
Finally, I made three kinds of skin for "Zhai", light color, dark color and ah Zi. I personally feel very good-looking. When I have energy, I will develop more skin. The naming of Zhai is inseparable from zdy 'love.
So, this is all I paid for Zhao before. Although it was born in my personal interest, I will maintain the software in a limited time. If you find any bugs in the process of using, please send description information and pictures to my email, or leave a message on my GitHub. I will try my best to improve the software